diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2025-04-15 22:22:40 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2025-04-15 22:22:40 +0200 |
commit | fe09107946202ad0216d518c95dcff6d159d76b0 (patch) | |
tree | 5a10b33bc5da899767d0fba79d62d2d9e408e041 | |
parent | 768d33667faca870f10ac6e39f3400ea9810fb7f (diff) |
-rw-r--r-- | main/Terminal.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/main/Terminal.hs b/main/Terminal.hs index 5dc3612..150bd8c 100644 --- a/main/Terminal.hs +++ b/main/Terminal.hs @@ -31,8 +31,9 @@ import Data.List import Data.Text (Text) import Data.Text qualified as T -import System.IO import System.Console.ANSI +import System.IO +import System.IO.Error data Terminal = Terminal @@ -107,7 +108,7 @@ termPutStr Terminal {..} str = do getInput :: IO Input getInput = do - getChar >>= \case + handleJust (guard . isEOFError) (\() -> return InputEnd) $ getChar >>= \case '\ESC' -> do esc <- readEsc case parseEsc esc of |