From 7a9ba1533ecb3e6ccdf140fbb6bcb72fddb7b06c Mon Sep 17 00:00:00 2001 From: tv Date: Thu, 19 Mar 2026 23:04:20 +0100 Subject: drop `one` parser --- src/Scanner.hs | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'src/Scanner.hs') diff --git a/src/Scanner.hs b/src/Scanner.hs index 0364dda..993793c 100644 --- a/src/Scanner.hs +++ b/src/Scanner.hs @@ -46,12 +46,12 @@ scanESC h = -- XXX M-F1 and other crazy chords may cause -- \ESC\ESC... on wu, so we just recurse here... scanESC h - | c == 'O' -> -- 04/15 + | c == 'O' -> do -- 04/15 -- XXX Non-CSI SS3 -- XXX finalByte is maybe calles somehow else here, but it's -- the same range - one h finalByte ['O','\ESC'] >>= - return . ScanKey . reverse + final <- expectChar h finalByte + return (ScanKey (reverse (final : ['O','\ESC']))) | otherwise -> return $ ScanKey ['\ESC',c] @@ -120,11 +120,6 @@ zeroOrMore h p buf = return buf -one :: Handle -> (Char -> Bool) -> [Char] -> IO [Char] -one h p buf = - expectChar h p >>= \c -> return (c : buf) - - expectChar :: Handle -> (Char -> Bool) -> IO Char expectChar h p = hWaitGetChar timeout h >>= \case -- cgit v1.2.3