Commit Graph

48 Commits

Author SHA1 Message Date
Kovid Goyal
364533b1ed Work on supporting streaming remote commands with passwords 2022-11-14 15:41:54 +05:30
Kovid Goyal
6f4968305a more work on porting rc command parsing to Go 2022-11-14 15:41:54 +05:30
Kovid Goyal
ef71b071db Automap a bunch of json fields from identically named options 2022-11-14 15:41:53 +05:30
Kovid Goyal
249df69ac9 Use the new styling API for CLI infra 2022-11-14 15:41:53 +05:30
Kovid Goyal
4a4500d56b Dont make urls part of styling, instead have a dedicated UrlFunc API
Since urls can potentially change a lot, caching them makes no sense
2022-11-14 15:41:53 +05:30
Kovid Goyal
be22f49012 Fix usage of numbered colors for underlines 2022-11-14 15:41:53 +05:30
Kovid Goyal
f9695a7947 Add url support to styling 2022-11-14 15:41:53 +05:30
Kovid Goyal
29d9b70f0c More ansi styling tests 2022-11-14 15:41:53 +05:30
Kovid Goyal
42a8ca0842 Write some tests for the style wrapper 2022-11-14 15:41:53 +05:30
Kovid Goyal
91c61478dd Start work on easily generating ANSI formatted strings 2022-11-14 15:41:53 +05:30
Kovid Goyal
b2e610f9b1 Implement socket I/O 2022-11-14 15:41:52 +05:30
Kovid Goyal
a960937095 Simplify serialization code and avoid extra copy 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
b1f9139ca5 Use a fully random async_id rather than a uuid 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
69c847a48f Fix failing test 2022-11-14 15:41:51 +05:30
Kovid Goyal
03705cbec0 Fix transmission of async rc commands 2022-11-14 15:41:51 +05:30
Kovid Goyal
ff2ff9c04f Port short uuid code to Go 2022-11-14 15:41:51 +05:30
Kovid Goyal
c86f8a698c @ ls works phew 2022-11-14 15:41:51 +05:30
Kovid Goyal
32e59257d2 Refactor io in preparation for using tui 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
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
42a5129553 Wire up key handling 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
e18b6638bb Allow propagating errors from the escape code handlers 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
Kovid Goyal
246277e7af Refactor tty code into its own package 2022-11-14 15:41:48 +05:30
Kovid Goyal
13758e9600 Drop one dependency 2022-11-14 15:41:48 +05:30
Kovid Goyal
eec8f04e93 fix reading from tty 2022-11-14 15:41:48 +05:30
Kovid Goyal
3a7d26a3ef Work on reading command responses 2022-11-14 15:41:48 +05:30
Kovid Goyal
91b15d1a90 Fix incorrect err handling 2022-11-14 15:41:48 +05:30
Kovid Goyal
12b0f632bd Allow OSC to be terminated by BEL
Also prevent changing streaming state unless in reset state
2022-11-14 15:41:48 +05:30
Kovid Goyal
84cb2638d6 Work on an escape code parser 2022-11-14 15:41:48 +05:30
Kovid Goyal
ce3062cbde UTF-8 decode/encode for Go
The builtin utf-8 package has semantics not suitable for us
2022-11-14 15:41:48 +05:30
Kovid Goyal
15e1f376a4 EINTR safe function to get tty size 2022-11-14 15:41:48 +05:30
Kovid Goyal
6a9f3feba2 ... 2022-11-14 15:41:47 +05:30
Kovid Goyal
2e31178980 Workaround for go unix package not wrapping pselect() on darwin 2022-11-14 15:41:47 +05:30
Kovid Goyal
141b9c8f08 Adjust select() timeout on EINTR 2022-11-14 15:41:47 +05:30
Kovid Goyal
17629add66 Handle EINTR 2022-11-14 15:41:47 +05:30
Kovid Goyal
352a78f056 Add a debug print method to tty and use pselect rather than select for greater timeout precision 2022-11-14 15:41:47 +05:30
Kovid Goyal
9b703078dd See if at least the field names are the same 2022-11-14 15:41:47 +05:30
Kovid Goyal
43e93414ea Some work on implementing TTYIO 2022-11-14 15:41:47 +05:30
Kovid Goyal
6c3a439455 Use the io.Reader interface 2022-11-14 15:41:47 +05:30
Kovid Goyal
a7bc2fcba8 Code to parse socket addresses 2022-11-14 15:41:47 +05:30
Kovid Goyal
33e16df586 Add some basic RC serialization tests 2022-11-14 15:41:46 +05:30
Kovid Goyal
4432c1a2ea Move the command types into a separate package 2022-11-14 15:41:46 +05:30
Kovid Goyal
46840df1ad CLI help output make kitty.conf a clickable URL 2022-11-14 15:41:43 +05:30