diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-10-25 17:22:00 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-10-25 17:22:00 +0530 |
| commit | 5d823bbd19dc8589cfacdbe51ee5260042dacab2 (patch) | |
| tree | d17c2a51c3d7d3ea5ed6310e391372fe5b0be0ab /autoload/window.kak | |
| parent | 593e775e9ccbdca3360f1bd0c6883c7973dcb46f (diff) | |
| download | kakoune-config-5d823bbd19dc8589cfacdbe51ee5260042dacab2.tar.gz kakoune-config-5d823bbd19dc8589cfacdbe51ee5260042dacab2.zip | |
Add terminal singleton command + use with gitu and daffm
Diffstat (limited to 'autoload/window.kak')
| -rw-r--r-- | autoload/window.kak | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/autoload/window.kak b/autoload/window.kak index 8986914..ba1fab7 100644 --- a/autoload/window.kak +++ b/autoload/window.kak @@ -10,3 +10,21 @@ map global win j ': nop %sh{tmux select-pane -D}<ret>' -docstring 'Jump down' map global win k ': nop %sh{tmux select-pane -U}<ret>' -docstring 'Jump up' map global win l ': nop %sh{tmux select-pane -R}<ret>' -docstring 'Jump right' map global win z ': wq<ret>' + +define-command terminal-singleton -params 2.. -docstring 'terminal-singleton <name> <command> [args...]' %{ + eval %sh{ + name="$1"; shift; + open-term-win() { + printf "terminal -n '$name' env" + printf " 'KAKOUNE_SESSION=$kak_session' 'KAKOUNE_CLIENT=$kak_client'" + printf " 'GIT_EDITOR=kak -c \"$kak_session\"' 'EDITOR=kcr edit' 'VISUAL=kcr edit'" + printf " %q" "$@" + echo "" + } + focus-term-win() { + tmux select-window -t "$name" >/dev/null 2>&1 + } + + focus-term-win || open-term-win "$@"; + } +} |
