Commit Graph

52 Commits

Author SHA1 Message Date
Kovid Goyal
53e33a80ba Start work on porting unicode input kitten to Go 2023-02-14 21:33:21 +05:30
Kovid Goyal
a2e4efbb14 API to save/restore cursor position 2023-02-14 21:33:21 +05:30
Kovid Goyal
0cabc3e109 Indicate when caps lock is on while reading password 2023-02-04 11:06:24 +05:30
Kovid Goyal
11f98592f7 We still need full keyboard protocol for @ send-text 2023-01-23 16:33:08 +05:30
Kovid Goyal
97467acb1f kitten @ cmd: Dont generate key release events
We dont need them and they sometimes can spill over into the prompt if
the command is very fast.
2023-01-23 16:18:46 +05:30
Kovid Goyal
cc1f0bc3fe Function to drain controlling tty 2023-01-23 16:07:00 +05:30
Kovid Goyal
26ca3f9bad Simplify code 2023-01-18 16:16:11 +05:30
Kovid Goyal
bf7d27691c Also add the EINTR fix from previous commit to writing to loop 2023-01-18 16:09:19 +05:30
Kovid Goyal
22532b4805 kitten @: Fix occasional hang until key is pressed while waiting for response from terminal
Fixes #5890
2023-01-18 16:07:42 +05:30
Kovid Goyal
2d846f53a1 ... 2023-01-18 14:44:40 +05:30
Kovid Goyal
63077e5432 Dont do extremely small reads 2023-01-18 10:13:07 +05:30
Kovid Goyal
5edb1e2d6b micro-optimization 2023-01-18 09:58:29 +05:30
Kovid Goyal
3743ae50e7 Simplify icat code and write to STDOUT rather than the terminal device
The terminal device is now used only for detection.
2023-01-06 16:16:15 +05:30
Kovid Goyal
df06578c2d Implement --scale-up and --place 2023-01-05 19:15:12 +05:30
Kovid Goyal
22d69d24d0 Fix panic when no timers are left after dispatch 2023-01-05 19:15:11 +05:30
Kovid Goyal
d76e0850ae More work on porting icat 2023-01-05 19:15:11 +05:30
Kovid Goyal
2e81d00c92 make go fmt happy 2022-12-24 10:53:17 +05:30
Kovid Goyal
cd92d50a0d Keyboard protocol: Remove CSI R from the allowed encodings of the F3 key as it conflicts with the *Cursor Position Report* escape code 2022-12-24 10:32:28 +05:30
Kovid Goyal
71e09ba1fb Fix show_key kitten showing incorrect CSI encoding for F3 2022-12-01 23:33:08 +05:30
Kovid Goyal
f5d2c35755 Move implementation of +hold to Go
No need to pay python interpreter startup cost for --hold
2022-12-01 22:34:56 +05:30
Kovid Goyal
a721ffeb7d Finish porting clipboard kitten to Go 2022-11-26 15:15:30 +05:30
Kovid Goyal
9db1d581f7 DRYer 2022-11-16 22:37:27 +05:30
Kovid Goyal
b3bc5a5565 ... 2022-11-16 22:35:59 +05:30
Kovid Goyal
fc20e8d04b Fix spurious EOF error when select for reading from the tty fails with a temporary error 2022-11-16 22:32:35 +05:30
Kovid Goyal
86af1d5c16 Wrap EOF errors when doing terminal I/O 2022-11-16 22:23:00 +05:30
Kovid Goyal
36dd5b2d00 More minor loop API additions 2022-11-15 21:00:19 +05:30
Kovid Goyal
87108a18ef Add a callback for wakeups 2022-11-15 18:01:21 +05:30
Kovid Goyal
b7816d26be Implement clear screen c-l binding 2022-11-14 15:42:06 +05:30
Kovid Goyal
3c4a411cad Rewrite the readline redraw code to make the screen lines explicit 2022-11-14 15:42:06 +05:30
Kovid Goyal
834385baff Improve performance when pasting large amounts of text into readline by not redrawing on every char 2022-11-14 15:42:05 +05:30
Kovid Goyal
1058c999c8 ... 2022-11-14 15:42:04 +05:30
Kovid Goyal
936a7a5f97 Dont write escape code for zero movement 2022-11-14 15:42:04 +05:30
Kovid Goyal
350060e0f6 ... 2022-11-14 15:42:04 +05:30
Kovid Goyal
430bd23870 Fix decoding of letter trailer CSI key event 2022-11-14 15:42:04 +05:30
Kovid Goyal
9f2b2eac85 More work on shell 2022-11-14 15:42:04 +05:30
Kovid Goyal
32059dba7e More work on readline 2022-11-14 15:42:03 +05:30
Kovid Goyal
c8296a44eb More work on readline 2022-11-14 15:42:03 +05:30
Kovid Goyal
ef49634353 Fix some issues reported by staticcheck 2022-11-14 15:42:01 +05:30
Kovid Goyal
2cacd7a64a get rid of interface{} since we now require Go 1.18 2022-11-14 15:42:00 +05:30
Kovid Goyal
a7f6105393 Use Unsafe rather than Dangerous to be consistent 2022-11-14 15:41:55 +05:30
Kovid Goyal
e8a321d097 Port code to serialize key events as CSI to Go 2022-11-14 15:41:55 +05:30
Kovid Goyal
ea8fb10c05 Password input: Handle SIGTSTP 2022-11-14 15:41:55 +05:30
Kovid Goyal
67115530b4 Make the loop API a thin wrapper around internal methods 2022-11-14 15:41:55 +05:30
Kovid Goyal
5cf10023c9 Nicer API for setting loop options 2022-11-14 15:41:55 +05:30
Kovid Goyal
457aab7c41 Simplify timer removal 2022-11-14 15:41:54 +05:30
Kovid Goyal
dcec926590 Do not allow adding timers before loop is run 2022-11-14 15:41:54 +05:30
Kovid Goyal
6d6bba4a4c debugprintln should be in-band for the loop 2022-11-14 15:41:54 +05:30
Kovid Goyal
5cc5759f3e flush_pending_writes must be non-blocking 2022-11-14 15:41:54 +05:30
Kovid Goyal
9c58cb3f41 ... 2022-11-14 15:41:52 +05:30
Kovid Goyal
a75d59643c Use one less channel 2022-11-14 15:41:52 +05:30