feat(kitty): add plugin for the kitty terminal ()

* A plugin for the Kitty terminal

Provides a handful of useful aliases for anyone working in a Kitty
terminal. In particular, the kssh command is handy for ensuring that
terminfo is set correctly on remote hosts when  you ssh to them.

* Guard kitty configuration

We should only load these aliases into a terminal that's identifying
itself as an xterm-kitty terminal. They're not useful in any other
situation.
This commit is contained in:
Ian Chesal 2024-05-28 17:40:30 -04:00 committed by GitHub
parent 5e59d21e54
commit 071b8f8921
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 39 additions and 0 deletions

23
plugins/kitty/README.md Normal file
View file

@ -0,0 +1,23 @@
# Kitty plugin
This plugin adds a few aliases and functions that are useful for users of the [Kitty](https://sw.kovidgoyal.net/kitty/) terminal.
To use it, add _kitty_ to the plugins array of your zshrc file:
```
plugins=(... kitty)
```
## Plugin commands
* `kssh`
Runs a kitten ssh session that ensures your terminfo settings are copied
correctly to the remote hose.
* `kssh-slow`
A slower form of `kssh` that should always work. Use this if `kssh` fails
to set terminfo correctly for you on the remote host.
* `kitty-theme`
Browse and change the theme of your Kitty terminal.
## Contributors
- [Ian Chesal](https://github.com/ianchesal)

View file

@ -0,0 +1,16 @@
#####################################################
# Kitty plugin for oh-my-zsh #
#####################################################
if [[ "$TERM" == 'xterm-kitty' ]]; then
## kssh
# Use this when your terminfo isn't recognized on remote hosts.
# See: https://sw.kovidgoyal.net/kitty/faq/#i-get-errors-about-the-terminal-being-unknown-or-opening-the-terminal-failing-when-sshing-into-a-different-computer
alias kssh="kitty +kitten ssh"
compdef kssh='ssh'
# Use this if kssh fails
alias kssh-slow="infocmp -a xterm-kitty | ssh myserver tic -x -o \~/.terminfo /dev/stdin"
# Change the colour theme
alias kitty-theme="kitty +kitten themes"
fi