Commit Graph

387 Commits

Author SHA1 Message Date
Kovid Goyal
350060e0f6
... 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
565526624f
Start work on porting kitty shell to Go 2022-11-14 15:42:03 +05:30
Kovid Goyal
654bd23109
DRYer 2022-11-14 15:42:03 +05:30
Kovid Goyal
2633356842
No need to use a map 2022-11-14 15:42:02 +05:30
Kovid Goyal
262e2fb7a3
Various fixes from the completion merge 2022-11-14 15:42:02 +05:30
Kovid Goyal
97716fea8b
More work on merging completions with parse tree 2022-11-14 15:42:02 +05:30
Kovid Goyal
97acb60981
Move completion package into cli 2022-11-14 15:42:02 +05:30
Kovid Goyal
5771bd0c01
Make adding subcommands a bit nicer 2022-11-14 15:42:02 +05:30
Kovid Goyal
4396dede85
Get rid of the cobra dependency 2022-11-14 15:42:02 +05:30
Kovid Goyal
79cfc1e70a
Move kitty-tool __complete__ to use the new CLI framework 2022-11-14 15:42:01 +05:30
Kovid Goyal
7c41737370
Couple more errors found by linting 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
005a9c7090
Add an entry point for the completion tool 2022-11-14 15:41:56 +05:30
Kovid Goyal
a7f6105393
Use Unsafe rather than Dangerous to be consistent 2022-11-14 15:41:55 +05:30
Kovid Goyal
6672904e64
Fix spurious error message when setting image to none 2022-11-14 15:41:55 +05:30
Kovid Goyal
905c4d641c
Allow using many image formats in RC commands 2022-11-14 15:41:55 +05:30
Kovid Goyal
fa7a6dfd4a
Implement stdin echo loop for socket i/o as well 2022-11-14 15:41:55 +05:30
Kovid Goyal
cb452ba9fc
Implement sen text from stdin for the tty backend 2022-11-14 15:41:55 +05:30
Kovid Goyal
85169c989f
... 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
3a198833da
Simplify escape code wrapping 2022-11-14 15:41:55 +05:30
Kovid Goyal
f86ce03d3b
Fix set-colors 2022-11-14 15:41:55 +05:30
Kovid Goyal
7f77f7e408
Only send cancel async if there is an async id 2022-11-14 15:41:54 +05:30
Kovid Goyal
65c3630099
send_text other than from stdin works 2022-11-14 15:41:54 +05:30
Kovid Goyal
0a2455c8be
Get scroll_window working 2022-11-14 15:41:54 +05:30
Kovid Goyal
bacca88213
Get set_font_size working 2022-11-14 15:41:54 +05:30
Kovid Goyal
bd1b3d9f6e
Implement streaming mode for socket IO 2022-11-14 15:41:54 +05:30
Kovid Goyal
364533b1ed
Work on supporting streaming remote commands with passwords 2022-11-14 15:41:54 +05:30
Kovid Goyal
a388a658ce
Fix payload update code in multi send commands 2022-11-14 15:41:54 +05:30
Kovid Goyal
b5e2871aa0
Remove not needed chunking code 2022-11-14 15:41:54 +05:30
Kovid Goyal
a4b2e2a196
more work on porting command parsing to Go 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
79c8862d4c
Work on conversion of args parsing to go code 2022-11-14 15:41:53 +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
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
0cda5d43a6
Fix final write detection 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
03705cbec0
Fix transmission of async rc commands 2022-11-14 15:41:51 +05:30
Kovid Goyal
a22ba9f739
Fix failing test 2022-11-14 15:41:51 +05:30
Kovid Goyal
c86f8a698c
@ ls works phew 2022-11-14 15:41:51 +05:30
Kovid Goyal
174bc25afb
Make timeout checking more efficient 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
0913b64c6b
Dont vendor base85 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
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
526a331f47
Wire up a bunch of callbacks 2022-11-14 15:41:49 +05:30
Kovid Goyal
10cef16210
DRYer 2022-11-14 15:41:49 +05:30
Kovid Goyal
6a79b450f7
Drop another dependency and get a better read password function 2022-11-14 15:41:48 +05:30
Kovid Goyal
eb4ee13f73
Drop another dependency 2022-11-14 15:41:48 +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
7457746d65
Fix @command form not supporting global options 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
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
417c8887b9
Start on testing infra for command to JSON serialization 2022-11-14 15:41:47 +05:30
Kovid Goyal
47feb73cdf
Code to generate structs for JSON marshalling 2022-11-14 15:41:47 +05:30
Kovid Goyal
63512f0512
Implement setting of option values into a struct 2022-11-14 15:41:46 +05:30
Kovid Goyal
a32251cab4
Handle aliased flags 2022-11-14 15:41:46 +05:30
Kovid Goyal
605882582e
Transfer response_timeout 2022-11-14 15:41:46 +05:30
Kovid Goyal
e127579ae6
DRYer 2022-11-14 15:41:46 +05:30
Kovid Goyal
b3be6792fd
General cleanup 2022-11-14 15:41:46 +05:30
Kovid Goyal
6c25f0cf4b
Use cobra's builtin machinery for creating new types 2022-11-14 15:41:46 +05:30
Kovid Goyal
3a87cfce3e
Get bool set flags ported 2022-11-14 15:41:46 +05:30
Kovid Goyal
15ffd8e6d8
Support older Go 2022-11-14 15:41:46 +05:30
Kovid Goyal
33e16df586
Add some basic RC serialization tests 2022-11-14 15:41:46 +05:30
Kovid Goyal
bab914c497
Create hidden alias commands so kitty-tool @ls also works 2022-11-14 15:41:45 +05:30
Kovid Goyal
47f35a06e6
Start work on generating rc cmd wrappers 2022-11-14 15:41:45 +05:30
Kovid Goyal
77f7ce82c0
Parse global options 2022-11-14 15:41:45 +05:30
Kovid Goyal
10b74d0703
Update documentation of --to 2022-11-14 15:41:45 +05:30
Kovid Goyal
1325844539
Add some go testing infrastructure 2022-11-14 15:41:44 +05:30
Kovid Goyal
46840df1ad
CLI help output make kitty.conf a clickable URL 2022-11-14 15:41:43 +05:30
Kovid Goyal
aaf0dea8dc
Use a single wrapper binary for all command line tools
This is because Go has a multi megabyte overhead for its binaries
2022-11-14 15:41:43 +05:30
Kovid Goyal
abaafc2d68
Parse roles in the help strings 2022-11-14 15:41:43 +05:30
Kovid Goyal
c97556de65
Show help when command is specified 2022-11-14 15:41:43 +05:30
Kovid Goyal
bbf7504303
Start work on implementing kitty @ as a static binary using Go 2022-11-14 15:41:43 +05:30