ref: f60c2bb7769051c59f24b703e91f1950ea7914e7
parent: 1952ac81ff30555457bb003a8abb58a3985f6da0
author: Lennart Augustsson <lennart@augustsson.net>
date: Thu Nov 9 11:54:14 EST 2023
Make CTL-D behave like I want.
--- a/src/System/Console/SimpleReadline.hs
+++ b/src/System/Console/SimpleReadline.hs
@@ -91,6 +91,14 @@
putChar ' '
back (length after + 1)
loop hist cs after
+ del = do
+ case after of
+ [] -> noop
+ _:cs -> do
+ putStr cs
+ putChar ' '
+ back (length cs + 1)
+ loop hist before cs
send =
ret (Just cur)
ret ms = do
@@ -137,12 +145,12 @@
if null before && null after then
ret Nothing
else
- send
- 2 -> backward -- CTL-B, backwards
- 6 -> forward -- CTL-F, forwards
- 1 -> bol -- CTL-A, beginning of line
- 5 -> eol -- CTL-E, end of line
- 8 -> bs -- BS, backspace
+ del
+ 2 -> backward -- CTL-B, backwards
+ 6 -> forward -- CTL-F, forwards
+ 1 -> bol -- CTL-A, beginning of line
+ 5 -> eol -- CTL-E, end of line
+ 8 -> bs -- BS, backspace
127 -> bs -- DEL, backspace
13 -> send -- CR, return
10 -> send -- LF, return
--
⑨