xdg-wrappers: add mbsync, make wrappers use next-in-path
The new next-in-path utility function finds the next entry for the wrapped name in PATH after the called script, instead of hardcoding the usual location for a system install.
This commit is contained in:
parent
761b7700ab
commit
e43c38c529
12
lib/next-in-path.zsh
Normal file
12
lib/next-in-path.zsh
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# find next entry in PATH for wrapper scripts
|
||||||
|
# Usage: next-in-path <program name> <current $0>
|
||||||
|
next-in-path() {
|
||||||
|
entries=( $(which -a $1) )
|
||||||
|
index=${entries[(ie)$2]}
|
||||||
|
if [[ $index -le ${#entries} ]]; then
|
||||||
|
# found $0, use next entry
|
||||||
|
echo $entries[$((index + 1))]
|
||||||
|
else
|
||||||
|
echo $entries[1]
|
||||||
|
fi
|
||||||
|
}
|
0
lib/term-wrapper-alacritty
Normal file → Executable file
0
lib/term-wrapper-alacritty
Normal file → Executable file
3
xdg-wrappers/mbsync
Executable file
3
xdg-wrappers/mbsync
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
|
||||||
|
$(next-in-path mbsync $0) -c ${XDG_CONFIG_HOME:-$HOME/.config}/mbsyncrc $@
|
4
xdg-wrappers/rg
Executable file
4
xdg-wrappers/rg
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
source ${$(realpath "$0"):h:h}/lib/next-in-path.zsh
|
||||||
|
export RIPGREP_CONFIG_PATH=${XDG_CONFIG_HOME:-$HOME/.config}/ripgreprc
|
||||||
|
$(next-in-path rg $0) $@
|
Loading…
Reference in a new issue