Kovid Goyal
|
3a198833da
|
Simplify escape code wrapping
|
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
|
f86ce03d3b
|
Fix set-colors
|
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
|
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
|
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
|
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
|
d7985689c9
|
Allow debugprintln to controlling tty easily
|
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
|
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
|
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
|
9c58cb3f41
|
...
|
2022-11-14 15:41:52 +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
|
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
|
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
|
ee12349a50
|
Use Go's os.File this allows us to implement WriteString without using unsafe
|
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
|
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
|
fa4711bd04
|
Give the kill signal time to be delivered
|
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
|
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
|
c8292d77f1
|
Re-use the escape code parser for wcswidth calculation
|
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
|
7bb310d3af
|
Port recent changes from cli.py to Go
|
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
|
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
|
67f03621ae
|
Handle EINTR in IsTerminal
|
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
|
cf287015de
|
...
|
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
|
73e4deb1c2
|
Show suggestions based on levenshtein distance
|
2022-11-14 15:41:48 +05:30 |
|
Kovid Goyal
|
68d589826a
|
...
|
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
|
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
|
e599a2c87f
|
The stupid term package is not EINTR safe
|
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
|
82d0bd9364
|
Use the term package to get tty size since it has a function for it
|
2022-11-14 15:41:47 +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
|
2ef5d0a140
|
...
|
2022-11-14 15:41:47 +05:30 |
|
Kovid Goyal
|
08b4741024
|
Get rid of a couple of unneeded dependencies
|
2022-11-14 15:41:47 +05:30 |
|
Kovid Goyal
|
11ffa961bc
|
Use local hyperlinks for :doc:
|
2022-11-14 15:41:47 +05:30 |
|
Kovid Goyal
|
ad6d928c12
|
Port various recent changes to CLI help output
|
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
|
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
|
2ca8ae8e5f
|
normalize flag names so that underscores are interchangeable with hyphens
|
2022-11-14 15:41:46 +05:30 |
|
Kovid Goyal
|
2d466f343d
|
Finish mapping of python cli opt to go cli opt
|
2022-11-14 15:41:46 +05:30 |
|
Kovid Goyal
|
4596dc39ce
|
Fix formatting of lines with only spaces
|
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
|
82410c58ed
|
Hide the default completion command
|
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
|
4432c1a2ea
|
Move the command types into a separate package
|
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
|
780b5ca8bd
|
misc fixes
|
2022-11-14 15:41:45 +05:30 |
|
Kovid Goyal
|
20ad7ca437
|
Output VCSRevision with --version
|
2022-11-14 15:41:45 +05:30 |
|
Kovid Goyal
|
d39036de2a
|
Add vcs revision to version string
|
2022-11-14 15:41:45 +05:30 |
|
Kovid Goyal
|
4ac4ee643e
|
Have the rc command wrapper sauto-generated on build
|
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
|
393820e77a
|
Dont sort flags by default
|
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
|
63da2e1ec6
|
gofmt
|
2022-11-14 15:41:44 +05:30 |
|
Kovid Goyal
|
06bd1f5d48
|
DRYer
|
2022-11-14 15:41:44 +05:30 |
|
Kovid Goyal
|
2a7aa46b77
|
Use pager even for usage + error
|
2022-11-14 15:41:44 +05:30 |
|
Kovid Goyal
|
c04b002d4e
|
Use a pager for displaying usage, matches kitty behavior
Also dont tell less to squeeze lines
|
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 |
|