summaryrefslogtreecommitdiff
path: root/Omni
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-14 14:01:49 -0500
committerBen Sima <ben@bsima.me>2025-11-14 14:01:49 -0500
commit4b2531501f5ac6ba392e8ed32011e78834f67942 (patch)
tree6eb09855158d770fa981bd03d0e0da1b10cfd132 /Omni
parent13f622a1a3613a549eae1d113bd952ff1f0b9b71 (diff)
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
Diffstat (limited to 'Omni')
-rw-r--r--Omni/Log/Concurrent.hs9
1 files changed, 3 insertions, 6 deletions
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