Kovid Goyal
d4127229b6
More misc send fixes
2023-07-30 19:49:39 +05:30
Kovid Goyal
4341599ac3
Fix a couple of infinite loops
2023-07-30 19:49:39 +05:30
Kovid Goyal
eabebbc932
Fix incorrect remote file existence detection
2023-07-30 19:49:39 +05:30
Kovid Goyal
471263b778
Fix various println invocations since println does not add spaces between arguments
2023-07-30 19:49:39 +05:30
Kovid Goyal
38666f978b
More work on porting transfer kitten
2023-07-30 19:49:39 +05:30
Kovid Goyal
aa86b98eee
Use encryption for bypass
2023-07-30 19:49:39 +05:30
Kovid Goyal
6d1dd50546
Fix encode_bypass
2023-07-30 19:49:39 +05:30
Kovid Goyal
b83e4d88f4
Implement fast padding-less base64 encode/decode for python
2023-07-30 19:49:38 +05:30
Kovid Goyal
a3c3e3ab6a
...
2023-07-30 19:49:38 +05:30
Kovid Goyal
955f812a6b
More work on porting transfer kitten
2023-07-30 19:49:38 +05:30
Kovid Goyal
a72825fe83
More work on porting transfer kitten
2023-07-30 19:49:38 +05:30
Kovid Goyal
8a2fca1c30
More work on transfer kitten porting
2023-07-30 19:49:38 +05:30
Kovid Goyal
5d361757a2
more work on the transfer kitten
2023-07-30 19:49:38 +05:30
Kovid Goyal
ff3232547d
More work on transfer kitten porting
2023-07-30 19:49:38 +05:30
Kovid Goyal
6c79ae4443
Proper parsing of safe_string fields
2023-07-30 19:49:38 +05:30
Kovid Goyal
425e993ab7
Get rid of enum boilerplate
2023-07-30 19:49:38 +05:30
Kovid Goyal
e05902e8ee
...
2023-07-30 19:49:38 +05:30
Kovid Goyal
1d3031d011
Allow easy string representation of FTC as JSON dict excluding the data field
2023-07-30 19:49:38 +05:30
Kovid Goyal
b9b7ab5221
Finish parsing of FTC
2023-07-30 19:49:38 +05:30
Kovid Goyal
00a04d68cc
Start parsing of FTC
2023-07-30 19:49:38 +05:30
Kovid Goyal
e73e421a5f
Finish serialization of FTC
2023-07-30 19:49:37 +05:30
Kovid Goyal
6b93610b6a
more work on transfer kitten
2023-07-30 19:49:37 +05:30
Kovid Goyal
b0bb1dbca3
more work on the transfer kitten
2023-07-30 19:49:37 +05:30
Kovid Goyal
0a6cc42ed7
more work on the transfer kitten
2023-07-30 19:49:37 +05:30
Kovid Goyal
55bbf175c6
Port send file mapping tests
2023-07-30 19:49:37 +05:30
Kovid Goyal
be7f276d3e
More work on the transfer kitten
2023-07-30 19:49:37 +05:30
Kovid Goyal
a3640b21ac
...
2023-07-30 19:49:37 +05:30
Kovid Goyal
870522360e
More work on transfer kitten
2023-07-30 19:49:37 +05:30
Kovid Goyal
7cec9016d3
Start work on porting the transfer kitten to Go
2023-07-30 19:49:37 +05:30
Kovid Goyal
737e4cdbd3
unicode_input kitten: Fix scrolling over multiple screens not working
...
Fixes #6497
2023-07-27 08:41:18 +05:30
Kovid Goyal
6fda8d7e23
unicode-input: Fix single column rendering of table
2023-07-27 08:41:14 +05:30
Kovid Goyal
93ae6e962f
Fix infinite loop in text for current mouse selection
2023-07-24 12:56:02 +05:30
Kovid Goyal
029718d825
show-key legacy mode: Handle EAGAIN/EBUSY when reading from tty
...
Fixes #6486
2023-07-20 13:26:32 +05:30
Kovid Goyal
e363303359
Nicer error message for pwfile owner/permission mismatch
2023-07-13 21:26:29 +05:30
Kovid Goyal
a1e5b72ca5
Remote control launch: Fix --env not implemented when using --cwd=current with the SSH kitten
...
Fixes #6438
2023-07-11 09:22:15 +05:30
Kovid Goyal
ce65f11ef5
Unicode input kitten: Fix a regression causing pressing esc to cancel the kitten requiring confirmation
2023-07-04 19:40:19 +05:30
Kovid Goyal
b1d2978cea
Fix #6419
2023-07-04 19:37:16 +05:30
Kovid Goyal
0bc4f8076e
Fix #6410
2023-07-02 07:31:14 +05:30
Kovid Goyal
8670ede032
DRYer
2023-06-29 07:39:42 +05:30
Kovid Goyal
326b81a970
Port the show_error kitten to Go
2023-06-26 17:52:31 +05:30
Kovid Goyal
092e0fba2c
Work on code to run shells from a kitten with shell integration
2023-06-25 19:27:43 +05:30
Kovid Goyal
99012d2659
ssh kitten: Allow configuring the ssh kitten to skip some hosts via a new `delegate` config directive
2023-06-24 09:27:53 +05:30
Kovid Goyal
707cefd78a
ssh kitten: When both passthrough args and --kitten args are present dont fail just ignore the kitten args
2023-06-24 09:14:25 +05:30
Kovid Goyal
01d4bffd67
Fix #6367
2023-06-16 20:58:12 +05:30
olzhasar
d0a5d1b3a4
Fix misspellings
2023-06-14 03:39:53 +06:00
Kovid Goyal
da1276d84a
Correct the naming of the window arg to call_remote_control
2023-06-10 09:47:37 +05:30
Kovid Goyal
0873e3ea09
...
2023-05-31 07:22:49 +05:30
Kovid Goyal
9bbb2a9ef4
Fix #6315
2023-05-31 07:08:55 +05:30
Kovid Goyal
e59e42a6c2
simplify API of utils.Once
2023-05-26 22:42:07 +05:30
Kovid Goyal
20fbde447c
clipboard kitten: Dont set clipboard when getting clipboard
...
The previous behavior meant getting the clipboard would
first empty it if STDIN was null or empty which can easily happen when
run non-interactively.
Fixes #6302
2023-05-25 08:41:55 +05:30
Kovid Goyal
5e6d020275
Show proper error message in diff when failing to load image
2023-05-24 22:47:14 +05:30
Kovid Goyal
c101a6acb0
Implement a dedicated function for word matching rather than relying on a regex and being at the mercy of the vagaries of regex implementations
2023-05-12 15:43:56 +05:30
Kovid Goyal
65f8bb7397
hints kitten: Switch to using a regex engine that supports lookaround
...
Note that we loose unicode char matching for --type=word because of
https://github.com/dlclark/regexp2/issues/65 and of course user regexps
cant use \p{N} escapes any more. Hopefully regexp2 will add support for
these soon-ish. IMO lookaround is more important than \p.
Fixes #6265
2023-05-12 12:24:59 +05:30
Kovid Goyal
a1d791083b
ssh_kitten: Proper exit code for termination by SIGINT
2023-05-08 16:27:07 +05:30
Kovid Goyal
454acd4f5c
ssh kitten: Fix a regression in 0.28.0 that caused interrupt during setup to not be handled gracefully
...
Fixes #6254
2023-05-08 16:18:05 +05:30
Kovid Goyal
537cabca71
kitty +open: Ask for permission before executing script files that are not marked as executable
...
This prevents accidental execution of script files via MIME type
association from programs that unconditionally "open"
attachments/downloaded files via MIME type associations.
2023-05-07 08:11:39 +05:30
Kovid Goyal
ce70320a62
...
2023-05-04 10:26:18 +05:30
Kovid Goyal
3eb18a416a
Entry point for parsing theme metadata
2023-05-04 10:14:58 +05:30
Kovid Goyal
8f96395f74
diff kitten: Fix a regression in 0.28.0 that broke using relative paths as arguments to the kitten
...
Fixes #6235
2023-05-03 08:34:46 +05:30
Kovid Goyal
1fc4e53bea
hints kitten: Fix a regression in 0.28.0 that broke using sub-groups in regexp captures
...
Fixes #6228
2023-04-30 21:16:24 +05:30
Kovid Goyal
73f10aaf43
clipboard kitten: Fix a bug causing the last MIME type available on the clipboard not being recognized when pasting with arbitrary MIME types
2023-04-30 06:48:09 +05:30
Kovid Goyal
019359b219
show_key kitten: In kitty mode show the actual bytes sent by the terminal rather than a re-encoding of the parsed key event
...
Also port the kitten to Go
2023-04-26 21:48:53 +05:30
Kovid Goyal
7b6d11fd1e
Fix rendering of :doc: links with explicit titles in help text in the terminal
2023-04-26 16:46:20 +05:30
Kovid Goyal
bb33c66570
Fix #6213
2023-04-26 16:38:25 +05:30
Kovid Goyal
c2fc4eadc8
unicode_input: Only serialize favorites if no user config exists
2023-04-26 16:02:18 +05:30
Kovid Goyal
a7b4d07601
unicode_input kitten: Fix a regression in 0.28.0 that caused the order of recent and favorites entries to not be respected
...
Fixes #6214
2023-04-26 15:55:56 +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
93a5107e79
Fix #6202
2023-04-21 21:35:59 +05:30
Kovid Goyal
6269f78ed2
Make it clearer that exclude operates only on directories
2023-04-18 09:22:34 +05:30
Kovid Goyal
92e68a6e0c
Fix #6193
2023-04-18 09:05:28 +05:30
Kovid Goyal
d9d2e31318
Another place where [:max_length] is used without checking
2023-04-07 18:08:38 +05:30
Kovid Goyal
1dd3490611
Fix #6160
2023-04-06 15:14:21 +05:30
Kovid Goyal
3ee77a3a57
Fix #6154
2023-04-04 21:18:27 +05:30
Kovid Goyal
e07f2df8d0
Fix rendering of file added/removed lines
2023-04-03 11:07:51 +05:30
Kovid Goyal
bca67cde6f
Fix default for syntax_aliases not being respected
2023-04-02 15:07:41 +05:30
Kovid Goyal
dfa41f01fd
Fix panic caused by incorrectly constructed empty line
...
Also be more defensive in draw_screen() about rendering lines.
2023-04-02 10:18:23 +05:30
Kovid Goyal
e0cdc26e68
Fix placement of images in diff broken by new render layout
2023-03-30 11:21:28 +05:30
Kovid Goyal
e73282ceb0
Only send graphics protocol commands if there are actual images to diff
2023-03-30 11:06:44 +05:30
Kovid Goyal
9919767aef
Remove unused code
2023-03-30 10:26:39 +05:30
Kovid Goyal
c767f7b57f
...
2023-03-30 07:58:00 +05:30
Kovid Goyal
34526517de
Allow passing multiple options to control how wrapping is done
2023-03-29 20:56:24 +05:30
Kovid Goyal
7169a89591
Add shortcuts for copying to clipboard
2023-03-29 19:56:08 +05:30
Kovid Goyal
37edc728a9
Implement drag scrolling for the diff kitten
2023-03-29 17:14:13 +05:30
Kovid Goyal
aebfdaa69a
Refactor diff mouse selection to use new render layout
2023-03-29 14:32:36 +05:30
Kovid Goyal
468168b9de
Refactor diff search to use new render layout
2023-03-29 13:22:34 +05:30
Kovid Goyal
3dbb830a0e
Refactor diff rendering
...
Dont store full rendered lines, instead fill them up at actual draw
time. Makes implementing mouse selection and searching more robust.
2023-03-29 11:55:03 +05:30
Kovid Goyal
e095a2ab43
Fix #6142
2023-03-28 21:06:39 +05:30
Kovid Goyal
7ed7e82637
Use a filler char other than space
2023-03-28 18:01:04 +05:30
Kovid Goyal
67a9def013
Get copy to primary selection working
2023-03-28 17:15:28 +05:30
Kovid Goyal
8867818dfe
DRYer
2023-03-28 11:55:08 +05:30
Kovid Goyal
00d4841304
Make the mouse selection code re-useable
2023-03-28 11:48:22 +05:30
Kovid Goyal
277dea647e
More work on mouse selection
2023-03-28 10:29:45 +05:30
Kovid Goyal
45c1e36de9
More work on mouse selection
2023-03-28 08:10:29 +05:30
Kovid Goyal
d19f28f2b4
More work on mouse selection in the diff kitten
2023-03-27 21:23:31 +05:30
Kovid Goyal
80204c6056
Use join_half_lines in a few more places
2023-03-27 18:01:53 +05:30
Kovid Goyal
d33b83e6ea
More work on mouse selections
2023-03-27 17:56:00 +05:30
Kovid Goyal
a22933afbc
DRYer
2023-03-27 17:19:13 +05:30
Kovid Goyal
840caf5fd5
Start work on mouse handling in diff kitten
2023-03-27 17:06:56 +05:30
Kovid Goyal
ff55121094
Move the kittens Go code into the kittens folder
2023-03-27 13:06:02 +05:30
Kovid Goyal
d30091034a
Remove the python diff kitten
2023-03-27 11:46:22 +05:30
Kovid Goyal
2ac170c1b1
Allowing using the anchored diff from the Go stdlib as the diff implementation
2023-03-27 07:53:56 +05:30
Kovid Goyal
44ff6bd1dd
Start work on porting diff kitten
2023-03-27 07:53:53 +05:30
Kovid Goyal
073b47a236
Revert #6114
...
Frozen kitty builds dont have python files (they are loaded from a
single mmmaped archive), so the test will prevent any
kittens from being found.
Have make clean remove leftover kittens directories
2023-03-18 15:26:33 +05:30
Kovid Goyal
e4611d0c81
...
2023-03-17 09:02:58 +05:30
pagedown
97ef09b633
Fix empty folders being considered as kitten
...
When pulling a git commit that contains delete folder actions, the local
folders will not be deleted.
2023-03-16 08:20:05 +08:00
Kovid Goyal
9443b0e361
Remove themes python code
2023-03-14 20:28:45 +05:30
Kovid Goyal
6794ec1de7
Wire up the new subseq match code
2023-03-14 12:29:44 +05:30
Kovid Goyal
29dd2438c9
Port the subseq matcher to Go
2023-03-14 12:29:44 +05:30
Kovid Goyal
f9b0b54ee5
Start work on porting themes kitten to Go
2023-03-14 12:29:44 +05:30
pagedown
2416122647
...
2023-03-14 14:30:11 +08:00
Kovid Goyal
7acc6bdeb8
Move splitlines_like_git to a more appropriate home
2023-03-10 17:26:06 +05:30
Kovid Goyal
b76b0c61ed
Port custom processor for hints
2023-03-10 10:45:37 +05:30
Kovid Goyal
69916ca4e8
Remove python implementation of hints
2023-03-10 07:16:25 +05:30
Kovid Goyal
5b3f5dd02d
Port all remaining hints matching tests
2023-03-09 20:53:46 +05:30
Kovid Goyal
0e5ed29d83
Fix generation of url regex for Go
2023-03-09 19:00:56 +05:30
Kovid Goyal
09ceb3c0be
Start work on porting hints kitten to Go
2023-03-09 19:00:56 +05:30
Kovid Goyal
88443ef8a5
icat: allow specifying image ids
2023-03-09 10:17:53 +05:30
Kovid Goyal
f157882856
Finish porting of ask kitten to Go
2023-03-07 17:06:00 +05:30
Kovid Goyal
0aa55fb755
Start work on porting the ask kitten
2023-03-07 13:55:44 +05:30
Kovid Goyal
16c7681c7c
diff kitten: Speedup patch parsing by working with bytes rather than unicode
...
Also change the line split algorithm to only split on \n, \r and \r\n.
This is hopefully closer to what git/diff generate in their patch files.
I cant find any documentation specifying this however.
Fixes #6052
Fixes #6092
2023-03-06 09:55:55 +05:30
Kovid Goyal
6660071d3a
Port the hyperlinked_grep kitten to Go
2023-03-05 13:41:57 +05:30
Kovid Goyal
ed8a88e009
Add new unicode placeholder and tmux passthrough options to icat
2023-03-03 22:06:35 +05:30
pagedown
4c9d90efbb
hints kitten: Perform copy action with --program when matching linenum
2023-03-02 10:30:17 +08:00
Kovid Goyal
eb6d777790
...
2023-03-01 20:34:09 +05:30
Kovid Goyal
81f8ed6b45
Use @ rather than # for named buffers prefix char
...
Matches existing use of @ for clipboard. Also @ doesnt need to be quoted
in most shells.
2023-03-01 19:54:03 +05:30
pagedown
854529c443
hints kitten: Allow copying matches to named buffers
2023-03-01 22:10:24 +08:00
pagedown
3d50c1ea5a
Fix cursor misalignment after displaying detailed traceback
2023-03-01 12:04:04 +08:00
Kovid Goyal
00b3437a05
Remove python implementation of SSH kitten
2023-02-28 12:42:30 +05:30
Kovid Goyal
6de77ce987
Clean up exclude pattern handling
2023-02-26 09:12:12 +05:30
Kovid Goyal
5cc3d3cbfe
Fix remaining failing tests
2023-02-26 08:01:04 +05:30
Kovid Goyal
e4002b5691
Switch to a more capable glob implementation that supports **
2023-02-26 08:01:04 +05:30
Kovid Goyal
525caff938
Move get_connection_data to utils module as it is not needed for the actual kitten
2023-02-26 08:01:03 +05:30
Kovid Goyal
9870c94007
More work on porting the SSH kitten
2023-02-26 08:01:03 +05:30
Kovid Goyal
747411be00
Finish implementation of config file parsing
...
Still needs tests
2023-02-26 08:01:01 +05:30
Kovid Goyal
32aa580984
Store parsed multi option values on the config object
2023-02-26 08:01:01 +05:30
Kovid Goyal
1470b11024
Dont parse default values
2023-02-26 08:01:01 +05:30
Kovid Goyal
5822bb23f0
Work on porting config file parsing to Go
2023-02-26 08:01:01 +05:30
Kovid Goyal
fbfb779a19
Clarify what pygments style does
2023-02-20 16:38:22 +05:30
Kovid Goyal
ac5298ce76
Finish porting unicode input
2023-02-15 17:42:31 +05:30
Kovid Goyal
53e33a80ba
Start work on porting unicode input kitten to Go
2023-02-14 21:33:21 +05:30
pagedown
cc18a4c192
transfer kitten: Use guess_type with custom MIME
2023-02-12 17:34:09 +08:00
Luofan Chen
130315ce8d
Use strict function prototypes
...
Fixes clang error:
error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes]
2023-02-09 13:16:00 +08:00
Kovid Goyal
7c8c7fe3a2
launch: When using --cwd=current for a remote system support running non shell commands as well
2023-02-08 17:52:28 +05:30
Kovid Goyal
244507336b
Function to change the remote command in an ssh kitten cmdline
2023-02-08 16:34:33 +05:30
Kovid Goyal
5338fcdc1e
Add a note about why we play with file descriptors
2023-01-26 21:50:10 +05:30
Kovid Goyal
f8991ce3c8
ask kitten: Get readline to work even when stdout is redirected
2023-01-26 21:47:43 +05:30
Kovid Goyal
3a126ffa9d
Restore permissions check on pwfile
...
just use RW instead of R as the expected mode
2023-01-26 08:48:35 +05:30
Kovid Goyal
dd6e206f9b
Remove unused import
2023-01-26 08:29:37 +05:30
Loren Schlomer
366d65f592
Fixes the ssh kitten
...
kovidgoyal@5e645a7 fixes the password file creation, allowing it to be
unlinked, but read_data_from_shared_memory/1 rejects the shared object
if it is not read only, and will break the ssh kitten for all
platforms.
This change removes the read only check, relying only on the file
ownership check.
This fully fixes #5928
Signed-off-by: Loren Schlomer <me@schlomie.com>
2023-01-25 11:14:12 -08:00
Kovid Goyal
5e645a7be7
Fix ssh kitten not working on FreeBSD
...
Apparently on FreeBSD one cannot unlink shared mem if it is not created
with write permissions.
Adding IWRITE to the permissions when creating the shared memory is
harmless. It means any process running as the user can either write to
the file or delete it. Deleting was already possible except on FreeBSD.
As for writing, it's needed on FreeBSD for shared memory to be useable
at all, and since processes running as the user can already completely
access all their data, kitty config files, tty pipes, etc. allowing them
to write to the SHM used here doesnt grant any significant new
capability, since they could just write to ssh.conf in the kitty config
folder to get the ssh kitten to do whatever they like.
Fixes #5928
2023-01-25 23:34:31 +05:30