Commit Graph

332 Commits

Author SHA1 Message Date
Kovid Goyal
c7d47a59f1 When running kitty-tool without arguments show usage 2022-11-14 16:36:05 +05:30
Kovid Goyal
7eae176b88 Code to build static versions of kitty-tool 2022-11-14 16:27:19 +05:30
Kovid Goyal
1881f4582e ... 2022-11-14 15:42:09 +05:30
Kovid Goyal
a5d05a2954 ... 2022-11-14 15:42:09 +05:30
Kovid Goyal
59b43ee844 prettify :option:--xyz> better 2022-11-14 15:42:09 +05:30
Kovid Goyal
29bde6c72c Improve formatting of completion entries with descriptions 2022-11-14 15:42:09 +05:30
Kovid Goyal
a7ce642a00 Fix rendering in cells 2022-11-14 15:42:08 +05:30
Kovid Goyal
723a9c91b5 Get completion basically working 2022-11-14 15:42:08 +05:30
Kovid Goyal
9e2c96653f More work on readline completion 2022-11-14 15:42:08 +05:30
Kovid Goyal
4974219e0f Add function to shlex for completion
Also remove the google header since we have diverged from
the original a fair bit. Add a link to the original for credit.
2022-11-14 15:42:08 +05:30
Kovid Goyal
a4de4b7c6f Report stream start position for tokens 2022-11-14 15:42:08 +05:30
Kovid Goyal
eae4899df4 Use a string builder instead of appending to a slice 2022-11-14 15:42:08 +05:30
Kovid Goyal
87b4800fdf Get rid of comment parsing from shlex
POSIX does not define comments
2022-11-14 15:42:08 +05:30
Kovid Goyal
64156fd6e6 Have the shlex tokenizer return space tokens as well 2022-11-14 15:42:08 +05:30
Kovid Goyal
1485981b11 Have the shlex tokenizer track position in stream and return defined error types 2022-11-14 15:42:08 +05:30
Kovid Goyal
8d76cf8d32 Import the google shlex package as we need more sophisticated parsing 2022-11-14 15:42:08 +05:30
Kovid Goyal
7c23536bfe Start work on readline completions 2022-11-14 15:42:08 +05:30
Kovid Goyal
f919efcd42 Move basic multi key shortcut handling into its own package 2022-11-14 15:42:08 +05:30
Kovid Goyal
dc787a6529 Allow pretty printing members of the Action enum 2022-11-14 15:42:08 +05:30
Kovid Goyal
cfb6d93dc0 Move cursor to end of input when traversing history list 2022-11-14 15:42:08 +05:30
Kovid Goyal
1523fef000 tests for history searching 2022-11-14 15:42:08 +05:30
Kovid Goyal
31dcb13836 cursor_y should be zero when resetting 2022-11-14 15:42:07 +05:30
Kovid Goyal
0c82832356 more work on history search 2022-11-14 15:42:07 +05:30
Kovid Goyal
ffea66357a Start work on incremental history search 2022-11-14 15:42:07 +05:30
Kovid Goyal
6b48624b81 Reset keyboard state when resetting text 2022-11-14 15:42:07 +05:30
Kovid Goyal
5a425ccaad Implement number args for repeats 2022-11-14 15:42:07 +05:30
Kovid Goyal
2f2dbfb45f Cleanup prompt handling 2022-11-14 15:42:07 +05:30
Kovid Goyal
13a266aa42 Map ctrl+c to abort the current line 2022-11-14 15:42:07 +05:30
Kovid Goyal
8ad55f7562 Add some tests for history 2022-11-14 15:42:07 +05:30
Kovid Goyal
e1ab2383b3 Add basic history operations 2022-11-14 15:42:07 +05:30
Kovid Goyal
8574e136cd Store cwd in history 2022-11-14 15:42:07 +05:30
Kovid Goyal
c8e8cb5ad5 Add some tests for yanking 2022-11-14 15:42:07 +05:30
Kovid Goyal
22f7145e34 Add yank actions 2022-11-14 15:42:07 +05:30
Kovid Goyal
3237db00fc Implement word killing actions 2022-11-14 15:42:06 +05:30
Kovid Goyal
ea583f60b3 Start work on kill ring 2022-11-14 15:42:06 +05:30
Kovid Goyal
b7816d26be Implement clear screen c-l binding 2022-11-14 15:42:06 +05:30
Kovid Goyal
19bf07abd9 Use the more efficient cell iterator api for single char horizontal cursor movement as well 2022-11-14 15:42:06 +05:30
Kovid Goyal
a008c627e3 Implement bindings for moving by simple word 2022-11-14 15:42:06 +05:30
Kovid Goyal
0068ae8f66 An easy to use iterator to iterate over the cells in a string 2022-11-14 15:42:06 +05:30
Kovid Goyal
5436408463 Fix the escape code parser not preserving complete utf-8 state between calls to ParseBytes()
Also allow it to be driven byte-by-byte
2022-11-14 15:42:06 +05:30
Kovid Goyal
d260d2f480 Add some test for vertical movement 2022-11-14 15:42:06 +05:30
Kovid Goyal
00ef9c1955 Implement vertical cursor movement 2022-11-14 15:42:06 +05:30
Kovid Goyal
5509673ff3 More tests 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
260249491d Avoid Querying screen size on every resize 2022-11-14 15:42:05 +05:30
Kovid Goyal
595a78c956 DRYer 2022-11-14 15:42:05 +05:30
Kovid Goyal
cbbf8a2d34 Port output of active window and tab ids at shell startup 2022-11-14 15:42:05 +05:30
Kovid Goyal
88567f69b2 Start work on history support for readline 2022-11-14 15:42:05 +05:30
Kovid Goyal
fe91af5e09 Go stdlib doesnt even have a way to lock files 2022-11-14 15:42:05 +05:30
Kovid Goyal
5e2255591c Dont send invalid kitty-cmd escape code over tty 2022-11-14 15:42:05 +05:30