Kovid Goyal
|
9e2c96653f
|
More work on readline completion
|
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
|
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
|
88567f69b2
|
Start work on history support for readline
|
2022-11-14 15:42:05 +05:30 |
|
Kovid Goyal
|
9419fbc77c
|
Fix rendering when line wraps
|
2022-11-14 15:42:05 +05:30 |
|
Kovid Goyal
|
834385baff
|
Improve performance when pasting large amounts of text into readline by not redrawing on every char
|
2022-11-14 15:42:05 +05:30 |
|
Kovid Goyal
|
1058c999c8
|
...
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
bf7dd1c369
|
Fix multiline prompts
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
936a7a5f97
|
Dont write escape code for zero movement
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
350060e0f6
|
...
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
430bd23870
|
Fix decoding of letter trailer CSI key event
|
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
|
fd36435262
|
Add some default readline bindings
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
27418eed88
|
Beep when action could not be performed
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
48f1690913
|
Wire up key event handling
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
eff239a195
|
Code to erase character ranges
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
5e5cae8391
|
Code to move cursor right
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
57310a772a
|
Code to move cursor left
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
066465bce7
|
Some tests for add_text
|
2022-11-14 15:42:04 +05:30 |
|
Kovid Goyal
|
1792c2268a
|
Start writing tests for readline internal functions
|
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
|
ef49634353
|
Fix some issues reported by staticcheck
|
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
|
a7f6105393
|
Use Unsafe rather than Dangerous to be consistent
|
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
|
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
|
5cf10023c9
|
Nicer API for setting loop options
|
2022-11-14 15:41:55 +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
|
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
|
9c58cb3f41
|
...
|
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
|
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
|
fa4711bd04
|
Give the kill signal time to be delivered
|
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
|
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
|
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
|
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
|
3c3e7b7f70
|
Start work on proper TUI support
|
2022-11-14 15:41:49 +05:30 |
|