AutoYADM commit: 2025-05-17 15:55:24
This commit is contained in:
parent
8535769aa8
commit
318cbd9392
3 changed files with 128 additions and 14 deletions
31
.config/kak/scripts/kak-session.sh
Executable file
31
.config/kak/scripts/kak-session.sh
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/bin/sh
|
||||
|
||||
root="$(
|
||||
set -e
|
||||
gitdir=$(git rev-parse --git-dir 2>/dev/null)
|
||||
set +e
|
||||
cd "$gitdir"/.. # This is horrible.
|
||||
git rev-parse --show-toplevel
|
||||
)"
|
||||
session_name="$(printf %s ${root##*/} | sed s/[^a-zA-Z0-9_-]/_/g)"
|
||||
|
||||
if printf %s "$1" | grep -q '^[^+-][^:]\+:[0-9]\+'; then
|
||||
file=${1%:*}
|
||||
pos=${1#*:}
|
||||
shift
|
||||
set -- "+$pos" "$file" "$@"
|
||||
fi
|
||||
|
||||
# "kak -l" hangs occasionally, so check the socket directly
|
||||
if [ -n "$session_name" ] && {
|
||||
[ -e "${XDG_RUNTIME_DIR}/kakoune/$session_name" ] ||
|
||||
[ -e "${TMPDIR:-/tmp}/kakoune-$USER/$session_name" ]
|
||||
} ; then
|
||||
# Force-reload if we get a file argument (useful for .git/COMMIT_EDITMSG).
|
||||
if [ $# -gt 0 ] && ! printf %s\\n "$@" | grep -q ^-e; then
|
||||
set -- -e 'try edit!' "$@"
|
||||
fi
|
||||
exec kak -c $session_name "$@"
|
||||
else
|
||||
exec kak -s "$session_name" "$@"
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue