diff options
Diffstat (limited to 'Omni/Log/Terminal.hs')
| -rw-r--r-- | Omni/Log/Terminal.hs | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/Omni/Log/Terminal.hs b/Omni/Log/Terminal.hs index 1230eb3..6d5d70c 100644 --- a/Omni/Log/Terminal.hs +++ b/Omni/Log/Terminal.hs @@ -16,9 +16,8 @@ import qualified System.Console.ANSI as ANSI import qualified System.Environment as Env data OutputMode - = RichMultiLine -- Wide terminals (≥80 cols) - | SingleLine -- Narrow terminals (40-79 cols) - | SimpleFallback -- Very narrow (<40) or dumb terminals + = MultiLine -- Wide terminals (≥80 cols) - reserved lines per namespace + | SingleLine -- Narrow terminals (<80 cols) - rotating single line deriving (Eq, Show) data TerminalInfo = TerminalInfo @@ -33,7 +32,6 @@ detectTerminal :: IO TerminalInfo detectTerminal = do term <- Env.lookupEnv "TERM" area <- Env.lookupEnv "AREA" - modeOverride <- Env.lookupEnv "BILD_OUTPUT_MODE" -- Check if we support ANSI let supportsANSI = case (term, area) of @@ -48,19 +46,11 @@ detectTerminal = do Just (h, w) -> (w, h) Nothing -> (80, 24) -- sensible default - -- Determine mode - let autoMode - | not supportsANSI = SimpleFallback - | width < 40 = SimpleFallback + -- Determine mode based on terminal width + let mode + | not supportsANSI = SingleLine -- Fallback to single line for dumb terminals | width < 80 = SingleLine - | otherwise = RichMultiLine - - -- Allow manual override - let mode = case modeOverride of - Just "simple" -> SimpleFallback - Just "single" -> SingleLine - Just "rich" -> RichMultiLine - _ -> autoMode + | otherwise = MultiLine pure TerminalInfo |
