Commit Graph

50 Commits

Author SHA1 Message Date
Kovid Goyal
2a5a89e01c Speed up write performance to loop
20x speed for large numbers of queued writes by avoiding pinging between
the writer and main goroutines
2023-08-05 13:53:32 +05:30
Kovid Goyal
ce593dbb5f lp.Println() should act live fmt.Println()
also use a dedicated error type for signalining perm denied
2023-07-30 19:49:47 +05:30
Kovid Goyal
a55a918d4f Improve stack trace formatting 2023-07-30 19:49:47 +05:30
Kovid Goyal
3d5fdad029 More work on porting receive kitten 2023-07-30 19:49:44 +05:30
Kovid Goyal
38666f978b More work on porting transfer kitten 2023-07-30 19:49:39 +05:30
Kovid Goyal
28fbab3476 ... 2023-07-24 12:45:01 +05:30
Kovid Goyal
f4b0183341 Nicer debug output of timers 2023-07-24 12:19:27 +05:30
Kovid Goyal
6a07435bb0 hints kitten: Fix regression causing editing of favorites to sometimes hang 2023-04-26 15:23:38 +05:30
Kovid Goyal
57ef0e29c0 Wait for keypress on panic in alternate screen kittens 2023-03-30 08:26:45 +05:30
Kovid Goyal
67a9def013 Get copy to primary selection working 2023-03-28 17:15:28 +05:30
Kovid Goyal
94db6053d5 Turn off atomic update during direct transmission 2023-03-27 20:54:03 +05:30
Kovid Goyal
ef7f13d893 title lines are now displayed 2023-03-27 07:53:54 +05:30
Kovid Goyal
ee82cb5a52 More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
bf773351ed DRYer 2023-03-17 11:00:00 +05:30
Kovid Goyal
509a45b579 Dont request release events for most kittens
They are not needed and there is always a small risk that a release
event could be delivered after the kitten has stopped reading from the
tty, thereby leaking into the environment.
2023-03-17 10:50:10 +05:30
Kovid Goyal
21954937fb More work on porting themes 2023-03-14 12:29:44 +05:30
Kovid Goyal
ffb3b073d7 Convenient loop API to print styled strings 2023-03-14 12:29:44 +05:30
Kovid Goyal
e043fef257 Synthesize click events in the loop 2023-03-07 07:57:14 +05:30
Kovid Goyal
37cebbc817 Implement decoding of mouse events in Go 2023-03-07 07:20:46 +05:30
Kovid Goyal
ac5298ce76 Finish porting unicode input 2023-02-15 17:42:31 +05:30
Kovid Goyal
67436a48cd New API to suspend a loop 2023-02-14 22:27:41 +05:30
Kovid Goyal
53e33a80ba Start work on porting unicode input kitten to Go 2023-02-14 21:33:21 +05:30
Kovid Goyal
a2e4efbb14 API to save/restore cursor position 2023-02-14 21:33:21 +05:30
Kovid Goyal
11f98592f7 We still need full keyboard protocol for @ send-text 2023-01-23 16:33:08 +05:30
Kovid Goyal
97467acb1f kitten @ cmd: Dont generate key release events
We dont need them and they sometimes can spill over into the prompt if
the command is very fast.
2023-01-23 16:18:46 +05:30
Kovid Goyal
3743ae50e7 Simplify icat code and write to STDOUT rather than the terminal device
The terminal device is now used only for detection.
2023-01-06 16:16:15 +05:30
Kovid Goyal
df06578c2d Implement --scale-up and --place 2023-01-05 19:15:12 +05:30
Kovid Goyal
d76e0850ae More work on porting icat 2023-01-05 19:15:11 +05:30
Kovid Goyal
f5d2c35755 Move implementation of +hold to Go
No need to pay python interpreter startup cost for --hold
2022-12-01 22:34:56 +05:30
Kovid Goyal
a721ffeb7d Finish porting clipboard kitten to Go 2022-11-26 15:15:30 +05:30
Kovid Goyal
36dd5b2d00 More minor loop API additions 2022-11-15 21:00:19 +05:30
Kovid Goyal
87108a18ef Add a callback for wakeups 2022-11-15 18:01:21 +05:30
Kovid Goyal
b7816d26be Implement clear screen c-l binding 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
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
936a7a5f97 Dont write escape code for zero movement 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
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
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
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
9c58cb3f41 ... 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