Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion example/terminal-ev/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import Control.Monad.IO.Class
import Data.Char
import Data.Function (fix)

import Data.Text.Prettyprint.Doc
import Prettyprinter
import System.Terminal

main :: IO ()
Expand Down
2 changes: 1 addition & 1 deletion example/terminal-out/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import Control.Concurrent
import Control.Monad
import Control.Monad.IO.Class

import Data.Text.Prettyprint.Doc
import Prettyprinter
import System.Terminal

import Prelude hiding (putString)
Expand Down
2 changes: 1 addition & 1 deletion example/terminal-printer/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import Control.Concurrent
import Control.Monad
import Control.Monad.IO.Class

import Data.Text.Prettyprint.Doc
import Prettyprinter
import System.Terminal

import Prelude hiding ((<>))
Expand Down
2 changes: 1 addition & 1 deletion example/terminal-screen/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import Control.Monad.Catch
import Control.Monad
import Control.Monad.IO.Class

import Data.Text.Prettyprint.Doc
import Prettyprinter
import System.Terminal

import Prelude hiding ((<>))
Expand Down
4 changes: 2 additions & 2 deletions src/System/Terminal/Pretty.hs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module System.Terminal.Pretty where

import Data.Text as T
import Data.Text.Prettyprint.Doc
import Prettyprinter
import Prelude hiding (putChar)

import System.Terminal.MonadPrinter
Expand All @@ -12,7 +12,7 @@ import System.Terminal.MonadPrinter
--
-- @
-- import System.Terminal
-- import Data.Text.Prettyprint.Doc
-- import Prettyprinter
--
-- printer :: (`MonadFormatingPrinter` m, `MonadColorPrinter` m) => m ()
-- printer = `putDoc` $ `annotate` (foreground $ `bright` `blue`) "This is blue!" <> `line`
Expand Down
14 changes: 8 additions & 6 deletions src/System/Terminal/Virtual.hs
Original file line number Diff line number Diff line change
Expand Up @@ -219,17 +219,19 @@ eraseInLine t m = do
eraseInDisplay :: VirtualTerminal -> EraseMode -> STM ()
eraseInDisplay t m = do
Size h w <- virtualWindowSize (virtualSettings t)
Position r _ <- readTVar (virtualCursor t)
Position r c <- readTVar (virtualCursor t)
wndw <- readTVar (virtualWindow t)
let w1 = take r wndw
w1E = replicate r (replicate w ' ')
w2 = [wndw !! r]
let l = wndw !! r
w1 = take r wndw
w1E = replicate r (replicate w ' ')
w2B = [replicate (c + 1) ' ' <> drop (c + 1) l]
w2F = [take c l <> replicate (w - c) ' ']
w2E = [replicate w ' ']
w3 = drop (r + 1) wndw
w3E = replicate (h - r - 1) (replicate w ' ')
writeTVar (virtualWindow t) $ case m of
EraseBackward -> w1E <> w2 <> w3
EraseForward -> w1 <> w2 <> w3E
EraseBackward -> w1E <> w2B <> w3
EraseForward -> w1 <> w2F <> w3E
EraseAll -> w1E <> w2E <> w3E

setAutoWrap :: VirtualTerminal -> Bool -> STM ()
Expand Down
4 changes: 2 additions & 2 deletions test/Spec/Virtual.hs
Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,7 @@ testEraseInDisplay01 =
expCursor = (Position 1 4)
expWindow =
[ " "
, "1234567890"
, " 67890"
, "1234567890" ]

testEraseInDisplay02 :: TestTree
Expand All @@ -669,7 +669,7 @@ testEraseInDisplay02 =
expCursor = (Position 1 4)
expWindow =
[ "1234567890"
, "1234567890"
, "1234 "
, " " ]

testEraseInDisplay03 :: TestTree
Expand Down