summaryrefslogtreecommitdiff
path: root/shell-scripts/kakup
diff options
context:
space:
mode:
authorMike Vink <mike.vink@stater.nl>2023-05-19 17:57:43 +0000
committerMike Vink <mike.vink@stater.nl>2023-05-19 17:57:43 +0000
commit95321e53131e825afd40bada92a00b7e06ac699e (patch)
treecb3150b4acecc21ba32371c7d8e3c01ace52ffbd /shell-scripts/kakup
parent4d580d5730dbbb254a17f0e0550e5872d6eab356 (diff)
fixup
Diffstat (limited to 'shell-scripts/kakup')
-rwxr-xr-xshell-scripts/kakup24
1 files changed, 15 insertions, 9 deletions
diff --git a/shell-scripts/kakup b/shell-scripts/kakup
index aa271fb..d7a54f2 100755
--- a/shell-scripts/kakup
+++ b/shell-scripts/kakup
@@ -1,9 +1,15 @@
-# #!@bash@/bin/bash
-if ! tmux has-session -t kakoune-${USER}; then
- tmux new -s kakoune-${USER} -d
- export TMUX=$(tmux display-message -p '#{socket_path}')
-fi
-if ! kak -l | grep kakoune-${USER}; then
- kak -s kakoune-${USER} -d &
-fi
-tmux attach -t kakoune-${USER}
+client="$(fd -d1 "." -t d $HOME $HOME/projects |
+ fzf |
+ {
+ pushd $(cat -) >/dev/null 2>&1
+ servers=kakoune-servers-${USER}
+ name=${PWD#$HOME/}
+ client=kakoune@$name
+ tmux has-session -t $servers || tmux new -d -s $servers kak -s $name -d\; rename-window $name
+ tmux list-windows -t $servers -F "#{window_name}" | grep $name >/dev/null 2>&1 || tmux new-window -t $servers -d kak -s $name -d\; rename-window $name
+ tmux has-session -t $client || tmux new -d -s $client kak -c $name
+ popd >/dev/null 2>&1
+ echo $client
+ })"
+echo "client"
+tmux attach -t "$client"