diff --git a/.config/kak/autoload/yazi.kak b/.config/kak/autoload/yazi.kak index 748c51d4..32668549 100644 --- a/.config/kak/autoload/yazi.kak +++ b/.config/kak/autoload/yazi.kak @@ -1,4 +1,7 @@ -define-command open-yazi %{ +declare-user-mode yazi +map -docstring "Yazi" global user ': enter-user-mode yazi' + +define-command open-yazi-this-client %{ evaluate-commands %sh{ rm -f /tmp/yazi-path &>/dev/null # TODO: make this use %opt{termcmd} instead @@ -12,4 +15,24 @@ define-command open-yazi %{ fi } } -map -docstring "open file in yazi" global user ": open-yazi" +map -docstring "open a file with yazi (blocking)" global yazi f ": open-yazi-this-client" + +define-command spawn-yazi %{ + terminal yazi +} +map global -docstring "spawn yazi" global yazi ': spawn-yazi' + +define-command open-yazi-new-client %{ + evaluate-commands %sh{ + rm -f /tmp/yazi-path &>/dev/null + # TODO: make this use %opt{termcmd} instead + footclient -d error yazi $kak_buffile --chooser-file=/tmp/yazi-path &>/dev/null + P="$(cat /tmp/yazi-path)" + out="info -markup -title {title}Yazi" + if [ -z "$P" ]; then + echo "info -markup -title {title}Yazi 'No file selected.'" + else + echo "new edit $P" + fi + } +}