Commit Graph

11054 Commits

Author SHA1 Message Date
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
388e47a2df DRYer 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
67b12159f4 make clean should also clean go caches 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
f77d07259a Fix mutable default value in dataclass 2022-11-14 15:42:07 +05:30
Kovid Goyal
2e07f90baf ... 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
f127523ae9 Get rid of the unneccessary swap on first configure
Instead use the new flag to indicate the surface should not be committed
till the next swap.
2022-11-14 15:42:07 +05:30
Kovid Goyal
22f7145e34 Add yank actions 2022-11-14 15:42:07 +05:30
Kovid Goyal
1f115870bb Need to install x11-xcb-dev explicitly in jammy 2022-11-14 15:42:06 +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
f945ef8ee8 handle ctrl-c better when interrupting go test 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