Commit graph

90 commits

Author SHA1 Message Date
Kovid Goyal
fd7e43ab0c
Make detection of command line flags that prevent sudo from overriding TERMINFO more robust 2026-05-05 09:38:07 +05:30
Kovid Goyal
4ab166c9ac
Handle -- as flag terminator in sudo wrapper 2026-05-04 23:30:27 +05:30
Kovid Goyal
b38b38d17d
Do the same for bash and also sanitize control chars in zsh 2025-08-19 09:23:48 +05:30
Kovid Goyal
54ad4fc63b
zsh shell integration: run startup command before any prompt/exec marking is done and set window title to the command being run 2025-08-19 09:14:46 +05:30
Kovid Goyal
337cbf1435
Add an env var that can be used to eval an expression at startup of shell
This will come in handy to implement serialization as session
with running of current foreground command.
2025-08-16 11:58:30 +05:30
Jacob Komissar
9549618bc9 Escape user input in zsh integration's _ksi_preexec
Also fix a bug in one of the test assertions to make the test work.
2025-06-23 18:44:52 -04:00
Kovid Goyal
ac4bb282ee
... 2025-01-06 11:04:31 +05:30
Kovid Goyal
da3bb0a4cb
Use truncated hostnames in zsh integration window title 2025-01-06 08:15:23 +05:30
Kovid Goyal
48d5c90bb8
Follow @romkatv suggestion for hostname in title
Thanks, @romkatv
2025-01-05 12:39:19 +05:30
Jonas Drotleff
bfbf22eae4
ssh kitten: Fix zsh shell integration expanding variables in title
Remove usage of the `-P` option from the print inside the
`_ksi_precmd` and `_ksi_preexec` functions. Instead, the result of
`builtin print -Pn "%m"` is stored in the local variable `hostname`.
This mitigates accidental expansion of variables in the command to be
executed.

Fixes #8193.
2025-01-05 02:21:09 +01:00
Kovid Goyal
9d027e4fbd
ssh kitten: Fix kitten not being on PATH when sshing into Debian systems
Fixes #7160
2025-01-02 19:46:50 +05:30
Kovid Goyal
219e53826b
More efficient encoding for cmdline in the prompt marking escape code 2024-05-09 12:03:02 +05:30
Kovid Goyal
0d68a21be5
notify_on_cmd_finish: Show the actual command that was finished
Fixes #7420
2024-05-09 09:49:26 +05:30
Kovid Goyal
2aa37de6ff
Only alias sudo if no systemwide terminfo db for xterm-kitty is found 2023-11-03 12:30:29 +05:30
Kovid Goyal
492ec3dfbf
zsh integration: Use a function for sudo
This fixes sudo --edit and works around the zsh sudo completions bug:
https://www.zsh.org/mla/workers/2023/msg00983.html
2023-10-31 12:24:35 +05:30
Kovid Goyal
309a6e9319
... 2023-10-31 11:50:34 +05:30
Kovid Goyal
d96fdb80ed
Shell integration now aliases sudo to make the kitty terminfo db available in the sudo environment
This should make terminfo completely transparent for most users on the
local machine and on remote machines that are connected to with the ssh
kitten.
2023-09-24 13:35:29 +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
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
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
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
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
efaf9faa38
Implement edit-in-kitty using kitty-tool
Fixes #5546
Fixes #5630
2022-11-17 20:48:20 +05:30
Kovid Goyal
8f5302a650
Hook up kitty-tool completions with shell integration 2022-11-14 15:42:03 +05:30
Kovid Goyal
2cc359ccc8
Get zsh completion working apart from delegation 2022-11-14 15:41:58 +05:30
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
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
eefd4bb3e3
zsh: Completion for edit-in-kitty and clone-in-kitty 2022-05-30 08:12:09 +05:30
Kovid Goyal
e82c5a63b5
Avoid unnecessary use of cat 2022-05-27 14:18:16 +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
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
117d1b02be
Start work on edit-in-kitty 2022-05-26 21:16:42 +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
19fdcec358
... 2022-04-18 11:54:14 +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
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
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
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
Kovid Goyal
3ddea42660
... 2022-04-13 22:45:36 +05:30
Kovid Goyal
1dec5f2e08
Help message for clone-in-kitty 2022-04-13 21:38:33 +05:30
Kovid Goyal
4b7c50518e
Fix usage of chunk_num 2022-04-13 20:16:51 +05:30