diff options
Diffstat (limited to 'Omni/Log/Concurrent.hs')
| -rw-r--r-- | Omni/Log/Concurrent.hs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Omni/Log/Concurrent.hs b/Omni/Log/Concurrent.hs index 4ed8f42..391fcff 100644 --- a/Omni/Log/Concurrent.hs +++ b/Omni/Log/Concurrent.hs @@ -71,6 +71,7 @@ withLineManager maxLines action = do writeIORef namespaceLines Map.empty pure result else do + IO.hPutStrLn IO.stderr "" replicateM_ maxLines (IO.hPutStrLn IO.stderr "") ANSI.hCursorUp IO.stderr maxLines @@ -88,7 +89,11 @@ withLineManager maxLines action = do result <- action mgr - ANSI.hCursorDown IO.stderr maxLines + forM_ [0 .. maxLines - 1] <| \_ -> do + ANSI.hCursorDown IO.stderr 1 + ANSI.hSetCursorColumn IO.stderr 0 + ANSI.hClearLine IO.stderr + writeIORef currentLineManager Nothing writeIORef namespaceLines Map.empty pure result |
