AutoYADM commit: 2025-05-21 20:26:39
This commit is contained in:
parent
20b9a13713
commit
b0ef9796be
2 changed files with 36 additions and 5 deletions
|
@ -1,6 +1,11 @@
|
|||
function kak-session -w kak --description "kakoune where sessions are derived from parent git dirs"
|
||||
function kak-session -w kak --description "kakoune where sessions are derived from parent git dirs. First arg may be -nokakdaemon."
|
||||
# TODO(enricozb): https://github.com/enricozb/tabs.kak/issues/12
|
||||
|
||||
if test "$argv[1]" = -nokakdaemon
|
||||
set -f nokakdaemon
|
||||
set argv $argv[2..]
|
||||
end
|
||||
|
||||
set files # all arguments without a `-` prefix
|
||||
set flags # all arguments with a `-` prefix
|
||||
|
||||
|
@ -35,6 +40,32 @@ function kak-session -w kak --description "kakoune where sessions are derived fr
|
|||
return 1
|
||||
end
|
||||
|
||||
# function newsession
|
||||
# if test "$argv[1]" = -nokakdaemon
|
||||
# set -f nokakdaemon
|
||||
# set argv $argv[2..]
|
||||
# end
|
||||
# set session_id $argv[1]
|
||||
# set argv $argv[2..]
|
||||
# if not command kak -l | rg -xqF "$session_id"
|
||||
# set fifo_dir (mktemp -d --suffix=kak-init.XXXXXX)
|
||||
# set fifo "$fifo_dir/fifo"
|
||||
# mkfifo "$fifo"
|
||||
|
||||
# if not set -fq nokakdaemon
|
||||
# setsid kak -d -s "$session_id" -E "cd %[$kakroot]; echo -to-file $fifo ready" &
|
||||
|
||||
# # once $fifo has data, the kakoune server has initialized.
|
||||
# cat $fifo >/dev/null
|
||||
|
||||
# command rm -r "$fifo_dir"
|
||||
# command kak -c "$session_id" $argv
|
||||
# else
|
||||
# command kak -s "$session_id" -e "cd %[$kakroot]" $argv
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
|
||||
set kakroot (fdup '\.kakroot|\.kakrc.local|\.local.kakrc|kakrc' $files[1])
|
||||
if test -n "$kakroot"
|
||||
set session_id (echo -n "$(path basename "$kakroot")" | tr --complement '[:alpha:]_-' '-')
|
||||
|
@ -48,7 +79,7 @@ function kak-session -w kak --description "kakoune where sessions are derived fr
|
|||
set fifo "$fifo_dir/fifo"
|
||||
mkfifo "$fifo"
|
||||
|
||||
if not set -gq nokakdaemon
|
||||
if not set -fq nokakdaemon
|
||||
setsid kak -d -s "$session_id" -E "cd %[$kakroot]; echo -to-file $fifo ready" &
|
||||
|
||||
# once $fifo has data, the kakoune server has initialized.
|
||||
|
@ -80,7 +111,7 @@ function kak-session -w kak --description "kakoune where sessions are derived fr
|
|||
set fifo "$fifo_dir/fifo"
|
||||
mkfifo "$fifo"
|
||||
|
||||
if not set -gq nokakdaemon
|
||||
if not set -fq nokakdaemon
|
||||
setsid kak -d -s "$session_id" -E "cd %[$git_dir]; echo -to-file $fifo ready" &
|
||||
cat $fifo >/dev/null
|
||||
command rm -r "$fifo_dir"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
function kakrc --description "Edit kakrc. -c to force a new session."
|
||||
if test "$argv[1]" != -c || test "$argv[1]" != new
|
||||
kak-session ~/.config/kak/kakrc
|
||||
kak-session -nokakdaemon ~/.config/kak/kakrc
|
||||
else
|
||||
kak -e 'cd ~/.config/kak' ~/.config/kak/kakrc
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue