From 4b2531501f5ac6ba392e8ed32011e78834f67942 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 14 Nov 2025 14:01:49 -0500 Subject: Complete multi-line concurrent logging integration - Fix BuildStatus to use newtype with single field - Clean up unused imports and fields - logs function now uses updateCurrentLine for LineManager support - Fallback to single-line output when no LineManager All tests passing. Ready to test with different terminal types. Tasks: t-1a1Eiay --- Omni/Log/Concurrent.hs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'Omni/Log/Concurrent.hs') diff --git a/Omni/Log/Concurrent.hs b/Omni/Log/Concurrent.hs index f5a420f..72e4e99 100644 --- a/Omni/Log/Concurrent.hs +++ b/Omni/Log/Concurrent.hs @@ -20,7 +20,6 @@ import Data.IORef (IORef, atomicModifyIORef', modifyIORef', newIORef, readIORef, import qualified Data.Map as Map import qualified Data.Text as Text import Omni.Namespace (Namespace) -import qualified Omni.Namespace as Namespace import qualified System.Console.ANSI as ANSI import qualified System.Environment as Env import qualified System.IO as IO @@ -29,10 +28,8 @@ import System.IO.Unsafe (unsafePerformIO) data BuildState = Building | Success | Failed deriving (Eq, Show) -data BuildStatus = BuildStatus - { bsTarget :: Namespace, - bsLastOutput :: Text, - bsState :: BuildState +newtype BuildStatus = BuildStatus + { bsLastOutput :: Text } data LineManager = LineManager @@ -113,7 +110,7 @@ reserveLine LineManager {..} ns = case findFirstFree linesMap of Nothing -> (linesMap, Nothing) Just lineNum -> - let status = BuildStatus ns "" Building + let status = BuildStatus "" linesMap' = Map.insert lineNum (Just status) linesMap in (linesMap', Just lineNum) case mLine of -- cgit v1.2.3