Commit graph

898 commits

Author SHA1 Message Date
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
9c188096d0
Prevent panics incase highlighting leads to different number of lines 2023-03-27 07:53:56 +05:30
Kovid Goyal
09c6a68804
Fix syntax highlighting of multiline tokens 2023-03-27 07:53:56 +05:30
Kovid Goyal
4c9efb6ff2
Fix bold/dim handling when wrapping 2023-03-27 07:53:56 +05:30
Kovid Goyal
4bc9cf84a3
Micro-optimization 2023-03-27 07:53:56 +05:30
Kovid Goyal
14b58ba015
Fix overrides not being parsed correctly 2023-03-27 07:53:56 +05:30
Kovid Goyal
29a896f9d8
... 2023-03-27 07:53:56 +05:30
Kovid Goyal
f8c83519fe
Reset styles after half lines 2023-03-27 07:53:56 +05:30
Kovid Goyal
91eaa89b3e
Fix various off-by-ones in the search code 2023-03-27 07:53:55 +05:30
Kovid Goyal
1926db8ee8
Correct cursor shape when inputting search query 2023-03-27 07:53:55 +05:30
Kovid Goyal
c19c614d9e
DRYer 2023-03-27 07:53:55 +05:30
Kovid Goyal
f7f6df675f
Implement searching the diff 2023-03-27 07:53:55 +05:30
Kovid Goyal
88bd3ee9ca
New SGR codes to turn off bold/dim independently
Allows for robust patching of formatting into already formatted
text. Without this it is not possible to turn off bold without
affecting existing dim and vice versa.
2023-03-27 07:53:55 +05:30
Kovid Goyal
e46a7c39c3
Fix failing test 2023-03-27 07:53:55 +05:30
Kovid Goyal
5086c62a81
Implement changing of context lines 2023-03-27 07:53:55 +05:30
Kovid Goyal
15b0dbb71c
Code to insert SGR formatting into already formatted strings 2023-03-27 07:53:55 +05:30
Kovid Goyal
2a185575b2
Implement drawing of status bar 2023-03-27 07:53:55 +05:30
Kovid Goyal
cf5ea96126
Ensure scroll position is correct after resize 2023-03-27 07:53:55 +05:30
Kovid Goyal
e2edacb629
DRYer 2023-03-27 07:53:55 +05:30
Kovid Goyal
c2e549b79c
Implement syntax highlighting 2023-03-27 07:53:55 +05:30
Kovid Goyal
4d61ad87b3
Implement jumping to fixed locations 2023-03-27 07:53:55 +05:30
Kovid Goyal
2905744dad
Implement scrolling by lines 2023-03-27 07:53:55 +05:30
Kovid Goyal
ebcf85428c
More work on porting diff kitten 2023-03-27 07:53:55 +05:30
Kovid Goyal
425ab4f6d8
Start implementing shortcut handling 2023-03-27 07:53:55 +05:30
Kovid Goyal
924cd4cadd
Do not add a trailing newline when wrapping 2023-03-27 07:53:55 +05:30
Kovid Goyal
e42b4fd9a6
Decrease allocs when wrapping 2023-03-27 07:53:54 +05:30
Kovid Goyal
18b58c5cf9
Ensure wrapping never results in lines longer than the specified word 2023-03-27 07:53:54 +05:30
Kovid Goyal
648925e83a
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
1c7d1094d4
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
41ea5f0c63
Ensure unique image id in single session 2023-03-27 07:53:54 +05:30
Kovid Goyal
ef7f13d893
title lines are now displayed 2023-03-27 07:53:54 +05:30
Kovid Goyal
5d8b5ab720
More work on porting diff kitten 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
e4d936b5ed
More work on porting the diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
293c0ab845
More work on porting the diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
bf1f0c00f4
Port full MIME type guessing to Go 2023-03-27 07:53:54 +05:30
Kovid Goyal
3c550bcd28
More work on porting diff kitten 2023-03-27 07:53:54 +05:30
Kovid Goyal
d208670172
Abstract typical config file loading with path and cli overrides 2023-03-27 07:53:54 +05:30
Kovid Goyal
5329546f21
Implement parsing of map 2023-03-27 07:53:54 +05:30
Kovid Goyal
44ff6bd1dd
Start work on porting diff kitten 2023-03-27 07:53:53 +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
b0a4b932ad
... 2023-03-17 08:59:45 +05:30
Kovid Goyal
e2fda5d1c4
... 2023-03-15 15:32:04 +05:30
Kovid Goyal
da38cb3254
Add support for more option types to Go conf file parsing 2023-03-15 15:17:38 +05:30
Kovid Goyal
3803d7e3c2
Use maps package for generic keys/values functions 2023-03-14 22:49:40 +05:30
Kovid Goyal
7ce83e7fd0
Use the generic contains/index from slices instead of our custom one 2023-03-14 22:40:20 +05:30
Kovid Goyal
5520a75bba
Dont rely on filesystem mtimes for test as they can be flaky 2023-03-14 21:13:14 +05:30
Kovid Goyal
e539035639
more useful test failure messages 2023-03-14 21:06:57 +05:30
Kovid Goyal
290b868193
forgot to close zip file 2023-03-14 20:42:36 +05:30
Kovid Goyal
c19ac531cf
Fix some failing tests 2023-03-14 20:40:12 +05:30
Kovid Goyal
f6d66b2336
... 2023-03-14 20:35:31 +05:30
Kovid Goyal
0805330b77
Finish port of themes kitten to Go 2023-03-14 20:24:21 +05:30
Kovid Goyal
0c20a4d980
Fix sort with key implementations 2023-03-14 12:54:35 +05:30
Kovid Goyal
21954937fb
More work on porting themes 2023-03-14 12:29:44 +05:30
Kovid Goyal
c4731771ac
Make style cache thread safe 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
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
b088ab91cf
Make code to convert rune offsets to byte offsets re-useable 2023-03-14 12:29:44 +05:30
Kovid Goyal
dd783c842f
More work on porting themes UI 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
Kovid Goyal
3741d3d1be
hints: fix select by word broken while porting to Go 2023-03-14 12:27:33 +05:30
Kovid Goyal
74c5692b78
Default permission for atomicupdate should be 0644 2023-03-11 10:04:43 +05:30
Kovid Goyal
48e7ebb838
make gofmt happy 2023-03-10 13:03:51 +05:30
Kovid Goyal
7f6ed72684
Nicer error message when custom processor produces invalid marks 2023-03-10 12:51:32 +05:30
Kovid Goyal
e78c398243
Fix offsets incorrect for non-ASCII chars when using custom processing
python gives us offsets in unicode characters. Go uses offsets in utf8
bytes. Translate.
2023-03-10 12:41:56 +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
2e1eebd998
More work on porting hints 2023-03-10 06:58:10 +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
2aa9187428
More work on porting hints 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
f42090766a
Use the new string scanner everywhere 2023-03-08 13:31:27 +05:30
Kovid Goyal
b8ce441453
A new string scanner thats faster than bufio.Scanner and has zero-allocation 2023-03-08 13:24:20 +05:30
Kovid Goyal
ebc1a0f0aa
Don't need to save/restore private mode values in icat when output unicode paceholder
Was originally there in case we turned off line wrapping. But didnt end
up doing that.
2023-03-08 10:33:43 +05:30
Kovid Goyal
cd332eb2d5
DRYer 2023-03-07 17:15:21 +05:30
Kovid Goyal
f157882856
Finish porting of ask kitten to Go 2023-03-07 17:06:00 +05:30
Kovid Goyal
018bf46ddb
kitty @ shell: Integrate completions from history 2023-03-07 17:01:21 +05:30
Kovid Goyal
ef6693a239
Dont insert empty spaces when no completions are found 2023-03-07 17:00:40 +05:30
Kovid Goyal
d7b0aa48c9
Dont display empty match groups 2023-03-07 16:53:52 +05:30
Kovid Goyal
ea1842407d
Auto accept completion when only a single candidate is present 2023-03-07 16:48:53 +05:30
Kovid Goyal
0e73c01093
readline: Automatically do word completion based on history 2023-03-07 16:44:02 +05:30
Kovid Goyal
4cef83ffd0
show message even for password asks 2023-03-07 14:03:39 +05:30
Kovid Goyal
0da998ac53
Implement reading of password 2023-03-07 13:55:45 +05:30
Kovid Goyal
bb22990af9
... 2023-03-07 13:55:45 +05:30
Kovid Goyal
7ad5dc6a6f
Fix mouse CSI parsing 2023-03-07 13:55:44 +05:30
Kovid Goyal
0aa55fb755
Start work on porting the ask kitten 2023-03-07 13:55:44 +05:30
Kovid Goyal
e043fef257
Synthesize click events in the loop 2023-03-07 07:57:14 +05:30
Kovid Goyal
5c87d7f84f
Cleanup ring buffer implementation 2023-03-07 07:43:53 +05:30
Kovid Goyal
37cebbc817
Implement decoding of mouse events in Go 2023-03-07 07:20:46 +05:30
Kovid Goyal
99b23c5c66
... 2023-03-05 14:25:19 +05:30
Kovid Goyal
db972f3442
Cleanup parsing of single char options 2023-03-05 14:22:53 +05:30
Kovid Goyal
23d2293296
More tests for rg arg parsing 2023-03-05 14:09:04 +05:30
Kovid Goyal
716a048e6c
... 2023-03-05 14:02:19 +05:30
Kovid Goyal
a252ff1c7b
Merge branch 'hold-kp-enter' of https://github.com/page-down/kitty 2023-03-05 14:00:39 +05:30
pagedown
2ee30302fe
hold: Allow pressing the numeric keypad enter key to exit 2023-03-05 16:18:29 +08:00
Kovid Goyal
6660071d3a
Port the hyperlinked_grep kitten to Go 2023-03-05 13:41:57 +05:30
Kovid Goyal
a0d30f4dd8
DRYer 2023-03-05 13:41:36 +05:30
Kovid Goyal
c88a171b28
Map should use same order of arguments as pythons map 2023-03-05 12:19:03 +05:30
pagedown
e9f5806dcd
Update to Nerd Fonts 2.3.3 2023-03-04 23:23:52 +08:00
Kovid Goyal
a2887bb9e0
get rid of utils.Cut since we can now rely on strings.Cut instead 2023-03-04 13:37:55 +05:30
Kovid Goyal
defac0c061
Implement automatic tmux passthrough for icat 2023-03-04 13:01:23 +05:30
Kovid Goyal
8bd814444c
Fix active TMUX session detection 2023-03-04 12:50:07 +05:30
Kovid Goyal
1218a152bf
Implement unicode placeholders in icat 2023-03-04 11:54:22 +05:30
Kovid Goyal
5b160ea599
Use Once for CachedHostname 2023-03-03 15:20:35 +05:30
Kovid Goyal
e6662e11c3
Dont change the tmux allow-passthrough mode if it is already set 2023-03-03 15:06:49 +05:30
Kovid Goyal
1bf911a81b
Generate the rowcol diacrticis for Go as well 2023-03-03 14:39:38 +05:30
Kovid Goyal
f0aacbd437
Remove unused code 2023-03-01 16:54:06 +05:30
Kovid Goyal
5b46d990a2
Add Read/Write to the MMap interface 2023-02-28 19:01:15 +05:30
Kovid Goyal
944e036611
DRYer 2023-02-28 15:48:04 +05:30
Kovid Goyal
1b2fe90ed1
Fix askpass.go on shm_syscall based systems 2023-02-28 14:11:27 +05:30
Kovid Goyal
ba1ce996bb
Fix WriteWithSize() on shm_syscall 2023-02-28 13:50:06 +05:30
Kovid Goyal
327cefbfda
Make test more robust 2023-02-28 13:44:29 +05:30
Kovid Goyal
ce12fd3515
Fix ReadWithSizeAndUnlink on systems that have syscall based mmap 2023-02-28 13:44:09 +05:30
Kovid Goyal
4d3ce47813
... 2023-02-28 13:19:51 +05:30
Kovid Goyal
8729717229
Dont create SHM files in the bootstrap limit and related tests 2023-02-28 13:16:00 +05:30
Kovid Goyal
1ddb1dc5e1
... 2023-02-28 13:00:19 +05:30
Kovid Goyal
3558d1c274
Finish porting support for color schemes to SSH kitten 2023-02-28 12:08:55 +05:30
Kovid Goyal
c877b2a5cb
Code to dump basic colors from a theme as escape codes 2023-02-27 08:02:22 +05:30
Kovid Goyal
c1791c8d2b
Function to load theme code 2023-02-26 22:09:07 +05:30
Kovid Goyal
22150e13fd
Add tests for cache file downloading 2023-02-26 21:56:03 +05:30
Kovid Goyal
7ce64fcde0
Support include when loading themes from dirs 2023-02-26 21:16:29 +05:30
Kovid Goyal
0b09d18b36
Port theme loading code to Go 2023-02-26 20:40:59 +05:30
Kovid Goyal
4eea2fd4fc
Port code to download themeball to Go 2023-02-26 15:21:49 +05:30
Kovid Goyal
c113ad6f56
Code to parse ISO8601 timestamps at least semi-robustly 2023-02-26 13:32:35 +05:30
Kovid Goyal
64cb9c9542
More work on porting ssh kitten 2023-02-26 11:26:28 +05:30
Kovid Goyal
4a5c6ad47f
Functions to punch DCS escapes through tmux 2023-02-26 11:11:42 +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
dc938cf3dd
More test fixes 2023-02-26 08:01:04 +05:30
Kovid Goyal
22ea33182a
Fix various test failures 2023-02-26 08:01:04 +05:30
Kovid Goyal
3f417b26b2
Wire up the new ssh kitten into the python ssh kitten 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
77c04107f3
Add test for tarfile exclusion 2023-02-26 08:01:03 +05:30
Kovid Goyal
e02ba7f389
Port bootstrap script length limit 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
6b71b58997
Add write API to shm objects 2023-02-26 08:01:03 +05:30
Kovid Goyal
43bcb41a2a
Nicer Set constructor 2023-02-26 08:01:03 +05:30
Kovid Goyal
1df3ef648c
Clean up getting runtime dir on darwin 2023-02-26 08:01:03 +05:30
Kovid Goyal
4d8ccd8e94
... 2023-02-26 08:01:03 +05:30
Kovid Goyal
f40380b05a
More useful Set methods 2023-02-26 08:01:03 +05:30
Kovid Goyal
3703b4dbef
API to conveniently generate secure tokens 2023-02-26 08:01:03 +05:30
Kovid Goyal
907a51c99c
Code to read needed options from kitty.conf in a kitten 2023-02-26 08:01:03 +05:30
Kovid Goyal
0614c63966
Handle XDG_CONFIG_DIRS in Go as well 2023-02-26 08:01:03 +05:30
Kovid Goyal
a84b688038
Embed the data files needed for the ssh kitten into the Go binary 2023-02-26 08:01:03 +05:30
Kovid Goyal
b4b8943e64
Replace some more uses of sync.Once 2023-02-26 08:01:03 +05:30
Kovid Goyal
587d06b295
Replace use of sync.Once 2023-02-26 08:01:03 +05:30
Kovid Goyal
fa0773d9d2
Use a struct to store connection related data 2023-02-26 08:01:03 +05:30
Kovid Goyal
d656017f27
Move SSH askpass implementation into kitten 2023-02-26 08:01:02 +05:30
Kovid Goyal
6f4d89045a
A nicer implementation of sync.Once
Doesnt require storing the result of the function in a dedicated global
variable with a dedicated getter function
2023-02-26 08:01:02 +05:30
Kovid Goyal
fbaaca1be9
Function to create symlinks atomically 2023-02-26 08:01:02 +05:30
Kovid Goyal
fa45324d39
Port code to read cloned env 2023-02-26 08:01:02 +05:30
Kovid Goyal
88077fdbcd
Allow Stat() for MMap objects 2023-02-26 08:01:02 +05:30
Kovid Goyal
5a8d903a4d
Go SHM API to read simple data with size from SHM name 2023-02-26 08:01:02 +05:30
Kovid Goyal
3f829ccdde
Handle invalid args and passthrough 2023-02-26 08:01:02 +05:30
Kovid Goyal
06bfa671d9
Allow specifying the paths to search in Which() 2023-02-26 08:01:02 +05:30
Kovid Goyal
97b9572bec
Port parsing of ssh args 2023-02-26 08:01:02 +05:30
Kovid Goyal
12c8af60dc
String repr for Set 2023-02-26 08:01:02 +05:30
Kovid Goyal
57839b4e03
Port function to get ssh cli options by running ssh binary 2023-02-26 08:01:02 +05:30
Kovid Goyal
407555c6c8
Get completion working for kitten ssh 2023-02-26 08:01:02 +05:30
Kovid Goyal
590c1bd7ad
dont parse args for the ssh kitten as it will do so itself 2023-02-26 08:01:02 +05:30
Kovid Goyal
46367bceed
... 2023-02-26 08:01:02 +05:30
Kovid Goyal
041c646d46
Fix parsing of copy args 2023-02-26 08:01:02 +05:30
Kovid Goyal
d98504e1a6
Finish porting SSH config file parsing 2023-02-26 08:01:02 +05:30
Kovid Goyal
07f4adbab5
Also add tests for bad lines 2023-02-26 08:01:02 +05:30
Kovid Goyal
7b4738125b
Move config code into its own package 2023-02-26 08:01:02 +05:30
Kovid Goyal
2b7d6d45df
Finish up config parser port 2023-02-26 08:01:01 +05:30
Kovid Goyal
747411be00
Finish implementation of config file parsing
Still needs tests
2023-02-26 08:01:01 +05:30
Kovid Goyal
70086451e7
Port parsing of env instructions 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
5822bb23f0
Work on porting config file parsing to Go 2023-02-26 08:01:01 +05:30
Kovid Goyal
6f63d9c5d4
Start work on porting the SSH kitten to Go 2023-02-26 08:01:01 +05:30
Kovid Goyal
ac5298ce76
Finish porting unicode input 2023-02-15 17:42:31 +05:30
Kovid Goyal
1321a96ae7
More work on porting unicode input 2023-02-15 17:14:09 +05:30
Kovid Goyal
2b87a601a0
More work on porting unicode input 2023-02-15 10:48:54 +05:30
Kovid Goyal
73a3366d53
Fix atomic write not working when file does not exist 2023-02-15 10:46:47 +05:30
Kovid Goyal
7223fdaa38
API to set the text at the prompt 2023-02-15 10:16:25 +05:30
Kovid Goyal
67436a48cd
New API to suspend a loop 2023-02-14 22:27:41 +05:30
Kovid Goyal
a5eac42d92
More work on unicode input 2023-02-14 21:33:21 +05:30
Kovid Goyal
fb66cbc792
Forgot to exclude some control chars from unicode name based searching 2023-02-14 21:33:21 +05:30
Kovid Goyal
311a0cbfe9
More work on porting unicode input 2023-02-14 21:33:21 +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
1aa9f1e62d
Allow faint as an alias for dim 2023-02-14 21:33:21 +05:30
Kovid Goyal
32e0a56a94
Some more useful generic slice utilities 2023-02-14 21:33:21 +05:30
Kovid Goyal
601a333b0e
Atomically update cached values file 2023-02-14 21:33:21 +05:30
Kovid Goyal
cc5107d0db
Convenient way to load/save JSON data 2023-02-14 21:33:20 +05:30
Kovid Goyal
befd5a65c3
A generic Set implementation 2023-02-09 18:00:04 +05:30
Kovid Goyal
8d0452d375
Allow specifying initial capacity when splitting lines 2023-02-09 12:59:40 +05:30
Kovid Goyal
07bab5253e
Update Unicode data 2023-02-09 09:45:42 +05:30
Kovid Goyal
9bdb647454
kitty @ shell: Fix global options being ignored
Also no need to exec a separate process for every command
2023-02-04 12:54:49 +05:30
Kovid Goyal
0cabc3e109
Indicate when caps lock is on while reading password 2023-02-04 11:06:24 +05:30
Kovid Goyal
f1dc072045
Clean up previous PR 2023-02-03 16:14:24 +05:30
pagedown
370aa3aaa6
Completion: Delegate kitty +complete to kitten
Implement `kitten __complete__ setup` in Go.
Fix zsh completion script to check `kitten`.
2023-02-03 18:16:04 +08:00
Kovid Goyal
bed4f33be8
Remove unused code 2023-02-03 09:51:54 +05:30
Kovid Goyal
8ce80d8962
Switch to using Go stdlib for ECDH crypto 2023-02-03 09:50:42 +05:30
Kovid Goyal
7ea4270c88
... 2023-02-03 08:02:28 +05:30
Kovid Goyal
1d45cf4f91
Use crypto/rand rather than math/rand
Who knows how random math/rand actually is
2023-02-02 06:04:17 +05:30
pagedown
8fe936882d
Docs: Improve usage and help documents for kitten 2023-02-01 17:14:54 +08:00
Kovid Goyal
5eaa935ede
icat: Dont try to further compress PNG images when using stream based transmission 2023-02-01 11:45:01 +05:30
Kovid Goyal
092dc3d01f
... 2023-02-01 11:28:52 +05:30
Kovid Goyal
5c0d477a18
icat kitten: Fix transmission of frame data in direct mode
Sometimes frame data is > 2048 but does not compress smaller, which
broke the if statement checking for first loop.

Fixes #5958
2023-02-01 10:51:59 +05:30
Kovid Goyal
414ca86e3f
Remaining fixes from #5962
Fixes #5962
2023-02-01 10:26:53 +05:30
Kovid Goyal
084671b26e
Also preread STDIN when using /dev/stdin as the source 2023-01-26 12:57:12 +05:30
Kovid Goyal
1cc69b3edd
Move pre-read code into a separate function for clarity 2023-01-26 12:49:21 +05:30
Kovid Goyal
d88105319d
clipboard kitten: Allow STDIN to be connected to a program that itself uses the tty directly
Read in STDIN first, and only then start terminal IO, hopefully allowing
the other program to finish its terminal IO before we start.

Fixes #5934
2023-01-26 12:40:08 +05:30
Kovid Goyal
eb50fac8de
Add a test for creation of anonymous tempfiles 2023-01-26 11:51:02 +05:30
Kovid Goyal
4185e30d73
Code to more securely create anonymous temp files on Linux 2023-01-26 11:41:01 +05:30
Kovid Goyal
e3040a9c91
Make the various path finding functions thread safe and cache their results 2023-01-25 16:24:27 +05:30
Kovid Goyal
a01d68ed85
... 2023-01-25 16:12:47 +05:30
Kovid Goyal
f070b17fee
Also load ~/.config/kitty/mime.types in Go code 2023-01-25 16:08:12 +05:30
Kovid Goyal
22d562ca41
DRYer 2023-01-25 15:38:23 +05:30
pagedown
83f505e209
Update known textual mimes to Python
Also add default aliases for JavaScript and XML in Go.
2023-01-25 16:42:15 +08:00
Kovid Goyal
5a86bc2411
Add default aliases for YAML and TOML 2023-01-25 11:54:09 +05:30
Kovid Goyal
b9c324586e
Also recognize a few well known MIME types as being textual 2023-01-24 18:30:46 +05:30
Kovid Goyal
41fb3c79c5
DRYer 2023-01-24 18:26:01 +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
cc1f0bc3fe
Function to drain controlling tty 2023-01-23 16:07:00 +05:30
Kovid Goyal
a009d6b258
kitty shell: Add completion for help and exit commands 2023-01-23 15:34:45 +05:30
Kovid Goyal
1f00c27097
Also create an automatic text/plain alias when reading from clipboard 2023-01-22 22:04:53 +05:30
Kovid Goyal
7a526d9588
clipboard kitten: When copying, automatically add a text/plain alias if there is at least one text/* MIME and no actual text/plain MIME 2023-01-22 20:41:37 +05:30
Kovid Goyal
bd13238d9b
Should only return ENOTSUPP if SHM_DIR doesnt exist, not the fil we are trying to open 2023-01-21 17:46:37 +05:30
Kovid Goyal
dc0093cb51
SHM FS: Return a not supported error if SHM_DIR does not exist 2023-01-21 17:40:59 +05:30
Kovid Goyal
b1934ce267
kitten: When guessing MIME types use a builtin list as a fallback, generated from the MIME type definitions available on the build system 2023-01-21 17:35:41 +05:30
Kovid Goyal
26ca3f9bad
Simplify code 2023-01-18 16:16:11 +05:30
Kovid Goyal
bf7d27691c
Also add the EINTR fix from previous commit to writing to loop 2023-01-18 16:09:19 +05:30
Kovid Goyal
22532b4805
kitten @: Fix occasional hang until key is pressed while waiting for response from terminal
Fixes #5890
2023-01-18 16:07:42 +05:30
Kovid Goyal
2d846f53a1
... 2023-01-18 14:44:40 +05:30
Kovid Goyal
63077e5432
Dont do extremely small reads 2023-01-18 10:13:07 +05:30
Kovid Goyal
5edb1e2d6b
micro-optimization 2023-01-18 09:58:29 +05:30
Kovid Goyal
821f52a748
... 2023-01-17 12:39:41 +05:30
Kovid Goyal
750f2fa4d0
Use go 1.20 facilities for unsafe string <-> bytes 2023-01-17 12:38:54 +05:30
Kovid Goyal
ce161e610f
... 2023-01-17 11:52:06 +05:30
Kovid Goyal
dd5cfe38b7
Update README 2023-01-14 15:56:03 +05:30
Kovid Goyal
6b8e5ea225
Rename kitty-tool to kitten
It's easier to type, and cuter.

Also, most, if not all of the TUI parts of
kitty's kittens will eventually be re-written into kitten.

The only downside I can see is that we cant tab complete kitty
anymore, but hopefully there will be less reason to run kitty
from the shell as command line tools migrate to kitten.

Meowrrrr!!!
2023-01-14 15:44:52 +05:30
Kovid Goyal
397ac36011
Also mention terminal multiplxers can cause graphics to fail 2023-01-06 16:36:39 +05:30
Kovid Goyal
02063a5a6a
Make some variables local no need for them to be global 2023-01-06 16:35:17 +05:30
Kovid Goyal
b3926ae9e7
Remove unused code 2023-01-06 16:32:04 +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
ddf36383b4
Dont need to fetch the current version since GitHub provides a redirecting constant download URL 2023-01-05 20:09:32 +05:30
Kovid Goyal
a2c68a927e
icat: When using --place ensure screen doesnt scroll by leaving cursor at top-left corner of image. 2023-01-05 19:15:13 +05:30
Kovid Goyal
cab7856495
Finish resize handling for the magick engine 2023-01-05 19:15:13 +05:30
Kovid Goyal
c317c934f3
More work on ImageMagick 2023-01-05 19:15:13 +05:30
Kovid Goyal
4d21be9eb5
Port python's shutil.which() 2023-01-05 19:15:13 +05:30
Kovid Goyal
fd71d2035d
Start work on rendering with ImageMagick 2023-01-05 19:15:13 +05:30
Kovid Goyal
7ebb281855
Allow controlling num of CPUs for images operations 2023-01-05 19:15:13 +05:30