Commit Graph

11056 Commits

Author SHA1 Message Date
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
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