summaryrefslogtreecommitdiff
path: root/main/Terminal.hs
diff options
context:
space:
mode:
Diffstat (limited to 'main/Terminal.hs')
-rw-r--r--main/Terminal.hs5
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