dotfiles/.config/fish/functions/kak-session.fish

19 lines
614 B
Fish

function kak-session
function _kak_connect_or_create
set -l session_name $argv[1]
set argv $argv[2..]
set -l socket_paths \
"$XDG_RUNTIME_DIR/kakoune/$session_name" \
"{TMPDIR}/kakoune-$USER/$session_name"
end
# we treat the first file as the target
set -l targ $argv[1]
set -l root ""
set -l gitdir (env -C (path dirname $targ) git rev-parse --show-toplevel)
set session_name (string replace -r '[^a-zA-A0-9_-]' '_' (path basename $gitdir))
# handle file:line syntax, TODO later
_kak_connect_or_create $session_name $argv
end