summaryrefslogtreecommitdiff
path: root/.local/bin/cd-kak-buf
blob: f4ebc73622c12ded8de316f0b40a61058c3d857f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/bin/sh
output=$(mktemp -d -t kak-temp-XXXXXXXX)/fifo
mkfifo "${output}"
echo "echo -to-file ${output} %val{client_list}" | kak -p s

client_list=$(cat "${output}")
for c in $client_list; do
  echo "evaluate-commands -client $c %{ echo -to-file ${output} %val{client_pid} }" | kak -p s
  result=$(cat "${output}")
  ppid=$(ps -o ppid= $result)
  [ $ppid = $PPID ] && {
    echo "evaluate-commands -client $c %{ echo -to-file ${output} %val{buffile} }" | kak -p s
    result=$(cat "${output}")
    echo "cd $(dirname $result)"
  }
done
rm -r $(dirname ${output})