Commit Graph

99 Commits

Author SHA1 Message Date
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
Kovid Goyal
bf35817d73
No need to store most channels on self 2022-11-14 15:41:52 +05:30
Kovid Goyal
1b90c03304
Refactor loop code into its own package 2022-11-14 15:41:52 +05:30
Kovid Goyal
4a49c3940a
Switch to using goroutines rather than a select()
More complex code since now we have to synchronize between threads,
but a good way to teach myself more about goroutines.
2022-11-14 15:41:52 +05:30
Kovid Goyal
fa4711bd04
Give the kill signal time to be delivered 2022-11-14 15:41:51 +05:30
Kovid Goyal
2ffba1c422
Work on implementing ttyio via TUI 2022-11-14 15:41:51 +05:30
Kovid Goyal
6f8c884bb5
Also handle SIGPIPE as the Go runtime does funky things with this signal 2022-11-14 15:41:51 +05:30
Kovid Goyal
80c5ac891d
Add license info to Go files 2022-11-14 15:41:51 +05:30
Kovid Goyal
6a2393299b
Add a write completed callback 2022-11-14 15:41:51 +05:30
Kovid Goyal
ab66b3f4c0
Add timer infra to the loop 2022-11-14 15:41:51 +05:30
Kovid Goyal
7280c712d6
Move escape code parser into wcswidth package 2022-11-14 15:41:50 +05:30
Kovid Goyal
9be2247081
Dont use the syscall package 2022-11-14 15:41:50 +05:30
Kovid Goyal
e68b5fa504
Add callback for screen resize handling 2022-11-14 15:41:50 +05:30
Kovid Goyal
c2ef6c986b
Password input now works 2022-11-14 15:41:50 +05:30
Kovid Goyal
619fcb0681
Allow debug printing 2022-11-14 15:41:50 +05:30
Kovid Goyal
10a39d3757
Fix reset mode incorrectly setting mode instead 2022-11-14 15:41:50 +05:30
Kovid Goyal
d2a15a2009
Make using alternate screen the default 2022-11-14 15:41:50 +05:30
Kovid Goyal
235eb868b2
More misc fixes for TUI 2022-11-14 15:41:50 +05:30
Kovid Goyal
5703a3370e
Move wcswidth into its own package as it is very slow to build 2022-11-14 15:41:50 +05:30
Kovid Goyal
5dca2a1a25
Fix stringifying mods 2022-11-14 15:41:50 +05:30
Kovid Goyal
4b18b575cd
Misc fixes for TUI 2022-11-14 15:41:50 +05:30
Kovid Goyal
818f68ec53
Initialize various maps 2022-11-14 15:41:50 +05:30
Kovid Goyal
cd54fefa99
Ignore more types of temporary errors 2022-11-14 15:41:50 +05:30
Kovid Goyal
4ab5456ead
Less layering 2022-11-14 15:41:49 +05:30
Kovid Goyal
10d11bc749
Drop another dependency 2022-11-14 15:41:49 +05:30
Kovid Goyal
19ffbc6f3d
Implement wcswidth() for Go 2022-11-14 15:41:49 +05:30
Kovid Goyal
79b1af28b4
Fix errors reported by compiler 2022-11-14 15:41:49 +05:30
Kovid Goyal
05d768d8df
Generate a wcwidth for Go as well 2022-11-14 15:41:49 +05:30
Kovid Goyal
9d56f8eed2
Use TUI to build a nice password read control 2022-11-14 15:41:49 +05:30
Kovid Goyal
42a5129553
Wire up key handling 2022-11-14 15:41:49 +05:30
Kovid Goyal
d6ed20323b
Implement key event parsing and matching 2022-11-14 15:41:49 +05:30
Kovid Goyal
63fdbd3fa0
Start work on decoding key events in Go 2022-11-14 15:41:49 +05:30
Kovid Goyal
99fde8723a
Wire up the signal handlers 2022-11-14 15:41:49 +05:30
Kovid Goyal
526a331f47
Wire up a bunch of callbacks 2022-11-14 15:41:49 +05:30
Kovid Goyal
3c3e7b7f70
Start work on proper TUI support 2022-11-14 15:41:49 +05:30