Commit graph

431 commits

Author SHA1 Message Date
Kovid Goyal
0aa55fb755
Start work on porting the ask kitten 2023-03-07 13:55:44 +05:30
Kovid Goyal
6660071d3a
Port the hyperlinked_grep kitten to Go 2023-03-05 13:41:57 +05:30
Kovid Goyal
d656017f27
Move SSH askpass implementation into kitten 2023-02-26 08:01:02 +05:30
Kovid Goyal
6f63d9c5d4
Start work on porting the SSH kitten to Go 2023-02-26 08:01:01 +05:30
Kovid Goyal
53e33a80ba
Start work on porting unicode input kitten to Go 2023-02-14 21:33:21 +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
pagedown
df1a99a974
Shell integration: More builtin commands 2023-02-03 10:56:19 +08:00
Kovid Goyal
a9da57d9b3
Forgot to use builtin for alias 2023-02-01 19:27:39 +05:30
Kovid Goyal
414ca86e3f
Remaining fixes from #5962
Fixes #5962
2023-02-01 10:26:53 +05:30
Kovid Goyal
fbbfb25702
Better fix for kitten not being in PATH
Add it to PATH just as we add the kitty dir to PATH. Ensures the correct
kitten is in PATH, corresponding to the correct kitty.
2023-02-01 10:16:50 +05:30
Kovid Goyal
47641456da
Ensure edit-in-kitty works even if kitten is not in PATH
Still needs to be implemented for fish shell
2023-01-31 20:41:39 +05:30
Kovid Goyal
8bdd4d0596
ssh kitten: Install kitty bootstrap on systems other than linux/darwin as now we have kitten which works on more types of systems 2023-01-31 20:16:20 +05:30
Kovid Goyal
ce6dacd0d4
Also build 32-bit kitten for Linux 2023-01-31 10:48:56 +05:30
Kovid Goyal
f3c434b7c1
Now that we are releasing 0.27.0 dont need to fetch release version to download latest kitten 2023-01-31 10:48:56 +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
60310ced05
Also build 32-bit ARM kitty-tool for Linux 2023-01-14 11:20:31 +05:30
Kovid Goyal
7a1140cd03
Start work on porting icat to Go 2023-01-05 19:15:10 +05:30
pagedown
a8f2816ac2
ssh kitten: Compile terminfo with tic coming from pkgsrc under NetBSD 2022-12-24 11:53:52 +08:00
pagedown
0ddc5d030c
ssh kitten: Fall back to using openssl when base64 does not exist 2022-12-24 11:53:45 +08:00
Kovid Goyal
aa9679e56b
Fix typo in key definition 2022-12-20 15:01:40 +05:30
Kovid Goyal
e4ee2cf995
Move the alt+left/right binding into zsh integration
It works OOTB in bash and fish already.
2022-12-19 11:25:12 +05:30
pagedown
f720bc9fab
Shell integration: Report cwd on the fish prompt event 2022-11-27 14:07:19 +08:00
Kovid Goyal
d92f89e47f
ZSH integration: Report cwd on every new prompt draw
Handles the case of a command reporting a different cwd to the terminal.
2022-11-27 10:09:25 +05:30
Kovid Goyal
4d3f3b5e91
Start moving clipboard kitten to kitty-tool 2022-11-25 12:58:10 +05:30
Kovid Goyal
51bba9110e
Bash integration: Fix clone-in-kitty not working on bash >= 5.2 if environment variable values contain newlines or other special characters
Bash >= 5.2 changed the export command to output values using $' escaping when they contain special characters.
Fixes #5629
2022-11-22 16:38:24 +05:30
Kovid Goyal
efaf9faa38
Implement edit-in-kitty using kitty-tool
Fixes #5546
Fixes #5630
2022-11-17 20:48:20 +05:30
Kovid Goyal
d2dabc7d57
... 2022-11-17 11:10:17 +05:30
Kovid Goyal
81db5eb82f
Use nightly to get kitty-tool until 0.27 is released 2022-11-17 11:05:46 +05:30
pagedown
9225919112
Fix completion for fish 2022-11-16 16:03:07 +08:00
Kovid Goyal
16775c5539
ssh kitten: Add a kitty-tool wrapper script to auto-download and use kitty-tool
Needs testing.
2022-11-15 13:26:48 +05:30
Kovid Goyal
8f5302a650
Hook up kitty-tool completions with shell integration 2022-11-14 15:42:03 +05:30
Kovid Goyal
5666b1b0fd
Implement completion for fish 2022-11-14 15:41:59 +05:30
Kovid Goyal
53dc079c10
Use compopt to manage files and spaces 2022-11-14 15:41:59 +05:30
Kovid Goyal
266e51310c
Basic BASH completion 2022-11-14 15:41:59 +05:30
Kovid Goyal
2cc359ccc8
Get zsh completion working apart from delegation 2022-11-14 15:41:58 +05:30
Kovid Goyal
1747bbbbcb
ssh kitten: Allow using absolute paths for the location of transferred data
Fixes #5607
2022-10-19 20:43:53 +05:30
Kovid Goyal
e2a251224d
ssh kitten: Better error message when tar is missing 2022-09-21 07:34:15 +05:30
Mark Keisler
a77852466c bash shell integration: Send STDERR of unsetting inherit_errexit to
/dev/null

Some bash versions may not have that option and rather than checking if
they even have it or if it is set, just quiet the STDERR it may throw.

```
$ kssh myhost
bash: shopt: inherit_errexit: invalid shell option name
myhost:~$ bash --version
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
```
2022-08-29 08:58:54 -05:00
Kovid Goyal
795b32efd7
Bash integration: Fix the inherit_errexit option being set by shell integration
Fixes #5349
2022-08-04 16:23:52 +05:30
pagedown
1eef584382
Replace tr with string built-in in fish integration 2022-07-26 13:21:36 +08:00
pagedown
4e1cd0590b
Use builtin to call read in zsh integration and bash integration 2022-07-26 13:20:50 +08:00
Kovid Goyal
31dfee8a95
Nicer error message for zsh versions before 5.1 2022-07-08 20:28:42 +05:30
Kovid Goyal
d6492264c7
Bash integration: Fix declare not creating global variables in .bashrc
Fixes #5254
2022-07-08 18:55:04 +05:30
pagedown
185d959f25
ssh kitten: Add MacPorts paths to the common locations for login shell 2022-06-28 11:43:19 +08:00
pagedown
297dea881d
Use the same fish completion function for commands 2022-06-28 11:35:11 +08:00
pagedown
01df828353
Refactor the fish implementation of edit-in-kitty
Clean up global variable and signal handling function before exit.
For commands allowing the use of valid functions or binary executables.
2022-06-28 11:31:42 +08:00
Kovid Goyal
48bb43a2c4
fish: completion for edit-in-kitty clone-in-kitty
fish's wrapping facility does not preserve argv[0] so it cannot be used
unlike for zsh and bash
2022-05-30 10:50:19 +05:30
Kovid Goyal
fb8398c2eb
bash: completion for edit/clone-in-kitty 2022-05-30 08:16:51 +05:30
Kovid Goyal
eefd4bb3e3
zsh: Completion for edit-in-kitty and clone-in-kitty 2022-05-30 08:12:09 +05:30
Kovid Goyal
4c74462763
ssh kitten: Look in common locations for login shell if it is not in PATH 2022-05-28 11:29:09 +05:30
Kovid Goyal
75942fb47e
Implement edit-in-kitty for fish 2022-05-28 11:12:11 +05:30
Kovid Goyal
e82c5a63b5
Avoid unnecessary use of cat 2022-05-27 14:18:16 +05:30
Kovid Goyal
83602d7e53
Make chunked transmit code re-useable in fish integration script 2022-05-27 13:21:26 +05:30
Kovid Goyal
83ce23ff9f
Use zsh's builtin stat instead of relying on the stat command 2022-05-27 12:50:52 +05:30
Kovid Goyal
c5e5ec618d
Also trap SIGTERM to cleanup 2022-05-27 12:39:22 +05:30
Kovid Goyal
bd84ec03ce
Implement edit-in-kitty for bash 2022-05-27 12:38:26 +05:30
Kovid Goyal
d71f18566e
forgot to declare data local 2022-05-27 12:29:11 +05:30
Kovid Goyal
f5695ac4f4
Increase edit file size limit to 8MB 2022-05-27 10:45:36 +05:30
Kovid Goyal
e6844ad6f2
ssh kitten: Run bash as a login shell
This fell through the cracks in the rewrite for automatic shell
integration. Fixes #5130
2022-05-26 21:24:32 +05:30
Kovid Goyal
02d5b3eafa
Fix shebang 2022-05-26 21:21:36 +05:30
Kovid Goyal
117d1b02be
Start work on edit-in-kitty 2022-05-26 21:16:42 +05:30
Kovid Goyal
4ca70bfa26
... 2022-05-04 13:21:17 +05:30
Kovid Goyal
08b2ce444f
Also dont apply umask when extracting bootstrap data 2022-04-28 17:28:40 +05:30
Kovid Goyal
289028b468
Prevent umask from interfering with tar file extraction
Fixes #5025
2022-04-28 17:21:34 +05:30
Kovid Goyal
37cdaea9ed
Also save command history before cloning in bash 2022-04-22 23:40:59 +05:30
Kovid Goyal
6bbaf5f1cf
zsh cloning: save history so that it is up-to-date in cloned shell 2022-04-22 23:34:34 +05:30
pagedown
b94afbba13
... 2022-04-18 14:51:15 +08:00
pagedown
19fdcec358
... 2022-04-18 11:54:14 +08:00
pagedown
45eb4a0760
clone-in-kitty: Remove duplicate PATH entries in fish implementation 2022-04-18 11:46:29 +08:00
Kovid Goyal
be0a524e23
Yet another try to get zsh to de-dup $PATH 2022-04-18 07:40:37 +05:30
Kovid Goyal
31fda568e4
typeset -U both path and PATH 2022-04-17 21:27:08 +05:30
Kovid Goyal
3efbccc850
... 2022-04-17 20:56:24 +05:30
Kovid Goyal
93c23f99cb
conda activate now works under fish so use it 2022-04-17 20:55:53 +05:30
Kovid Goyal
230a9f4678
Implement option to control clone sourcing strategies 2022-04-17 19:39:32 +05:30
Kovid Goyal
291f9e9a5e
Make cloning safer
Now env vars are set after shell rc files are sourced. And the clone
request cannot specify the cmdline to execute.
2022-04-17 07:49:58 +05:30
Kovid Goyal
53788c4c89
Get conda working with fish 2022-04-16 15:16:53 +05:30
Kovid Goyal
831043b773
Implement venv detection for fish 2022-04-16 14:45:02 +05:30
Kovid Goyal
1daf745d74
Add explicit support for python and conda venvs to clone-in-kitty
Still needs to be implemented for fish
2022-04-16 13:15:10 +05:30
Kovid Goyal
775584b5a5
Use literal quoting for env vars sent over ssh by clone 2022-04-15 14:34:21 +05:30
Kovid Goyal
e71b9091a3
Dont rely on env -0 for bash either 2022-04-15 13:33:32 +05:30
Kovid Goyal
bde468594e
ssh kitten: handle newlines in env vars 2022-04-15 12:49:35 +05:30
Kovid Goyal
4cf54d2dfb
Dont rely on env -0 in zsh
zsh outputs env vars in a nice one per line format using $'' encoding.
So exploit it
2022-04-15 12:17:59 +05:30
pagedown
af6b1837cb
Minor refactoring for fish clone-in-kitty and allow use without env -0
The builtin option from the latest version of fish is not used for now.
clone-in-kitty has been tested with fish 3.2.x.
BusyBox env does not support the -0 option.
2022-04-14 21:32:28 +08:00
Kovid Goyal
aab6f3e450
... 2022-04-14 17:28:41 +05:30
Kovid Goyal
829ed0ec0d
Fix #4964 2022-04-14 17:20:30 +05:30
Kovid Goyal
cc07b1f79d
Use 2048 chunk size in fish as well 2022-04-13 22:50:24 +05:30
Kovid Goyal
3ddea42660
... 2022-04-13 22:45:36 +05:30
Kovid Goyal
236dbd95c9
... 2022-04-13 22:34:23 +05:30
Kovid Goyal
6b078c4267
Implement clone-in-kitty for the fish shell 2022-04-13 22:33:21 +05:30
Kovid Goyal
1dec5f2e08
Help message for clone-in-kitty 2022-04-13 21:38:33 +05:30
Kovid Goyal
88d597f6b2
Dont define clone-in-kitty in POSIX mode
POSIX mode doesnt allow - in identifiers
2022-04-13 20:55:00 +05:30
Kovid Goyal
d0c0b01724
Get clone-in-kitty working for bash as well 2022-04-13 20:38:04 +05:30
Kovid Goyal
4b7c50518e
Fix usage of chunk_num 2022-04-13 20:16:51 +05:30
Kovid Goyal
e187110611
Use $PWD instead of pwd -P as we want the exact same cwd not the resolved one when cloning 2022-04-13 15:13:58 +05:30
Kovid Goyal
c19e69855a
Start work on a command to clone the current working env into a new kitty window 2022-04-13 15:02:22 +05:30
Kovid Goyal
7788f48dd5
Ensure IFS is correct when iterating over KITTY_SHELL_INTEGRATION 2022-04-12 23:03:05 +05:30
Kovid Goyal
d0398dca28
Bash shell integration: Fix yet another inconsistent use of SYS_BASHRC
Why Linux distros are constitutionally incapable of using consistent
names and values for anything is beyond me.

Fixes #4934
Fixes #4935
2022-04-07 17:54:52 +05:30
Kovid Goyal
709c4abb53
Do not do automatic upgrades of remote kitty
Can be disruptive, since upgrading outputs to the terminal.
Instead updating can be triggerred manually with kitty update-kitty
2022-04-04 14:51:49 +05:30
Kovid Goyal
ecb74aed29
... 2022-04-04 11:05:36 +05:30
Kovid Goyal
c72154782b
Simplify getting released kitty version
Also if fetching release version fails and local version exists, use it
2022-04-04 10:22:25 +05:30