mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-04-06 10:26:49 +00:00
feat: install shell completions and man pages from archives
Updated install.sh for bat, fd, gh, goreleaser, lsd, rg, sd, watchexec, and zoxide to extract and install shell completions (bash, fish, zsh) and man pages from their release archives. Completions go to standard XDG locations under the versioned opt directory. All moves use 2>/dev/null fallbacks for older versions that don't include completions.
This commit is contained in:
@@ -28,6 +28,22 @@ __init_bat() {
|
||||
# chmod a+x ~/.local/opt/bat-v0.15.4/bin/bat
|
||||
chmod a+x "$pkg_src_cmd"
|
||||
|
||||
# install completions if present (autocomplete/)
|
||||
if test -d ./bat-*/autocomplete; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv ./bat-*/autocomplete/bat.bash "$pkg_src_dir/share/bash-completion/completions/bat" 2>/dev/null || true
|
||||
mv ./bat-*/autocomplete/bat.fish "$pkg_src_dir/share/fish/vendor_completions.d/bat.fish" 2>/dev/null || true
|
||||
mv ./bat-*/autocomplete/bat.zsh "$pkg_src_dir/share/zsh/site-functions/_bat" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man page if present
|
||||
if test -f ./bat-*/bat.1; then
|
||||
mkdir -p "$pkg_src_dir/share/man/man1"
|
||||
mv ./bat-*/bat.1 "$pkg_src_dir/share/man/man1/bat.1"
|
||||
fi
|
||||
|
||||
if ! [ -e ~/.config/bat/config ]; then
|
||||
mkdir -p ~/.config/bat/
|
||||
touch ~/.config/bat/config
|
||||
|
||||
@@ -27,6 +27,22 @@ __init_fd() {
|
||||
|
||||
# chmod a+x "$HOME/.local/opt/fd-v8.1.1/bin/fd"
|
||||
chmod a+x "$pkg_src_cmd"
|
||||
|
||||
# install completions if present (autocomplete/{fd.bash,fd.fish,_fd})
|
||||
if test -d ./fd-*/autocomplete; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv ./fd-*/autocomplete/fd.bash "$pkg_src_dir/share/bash-completion/completions/fd" 2>/dev/null || true
|
||||
mv ./fd-*/autocomplete/fd.fish "$pkg_src_dir/share/fish/vendor_completions.d/fd.fish" 2>/dev/null || true
|
||||
mv ./fd-*/autocomplete/_fd "$pkg_src_dir/share/zsh/site-functions/_fd" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man page if present
|
||||
if test -f ./fd-*/fd.1; then
|
||||
mkdir -p "$pkg_src_dir/share/man/man1"
|
||||
mv ./fd-*/fd.1 "$pkg_src_dir/share/man/man1/fd.1"
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -23,8 +23,14 @@ __init_gh() {
|
||||
# ~/.local/opt/gh-v0.99.9/bin
|
||||
mkdir -p "$(dirname "$pkg_src_cmd")"
|
||||
|
||||
# mv ./gh-*/gh ~/.local/opt/gh-v0.99.9/bin/gh
|
||||
# mv ./gh_*/bin/gh ~/.local/opt/gh-v0.99.9/bin/gh
|
||||
mv ./"$pkg_cmd_name"*/bin/gh "$pkg_src_cmd"
|
||||
|
||||
# install man pages if present
|
||||
if test -d ./"$pkg_cmd_name"*/share/man; then
|
||||
mkdir -p "$pkg_src_dir/share"
|
||||
mv ./"$pkg_cmd_name"*/share/man "$pkg_src_dir/share/man"
|
||||
fi
|
||||
}
|
||||
|
||||
# pkg_get_current_version is recommended, but (soon) not required
|
||||
|
||||
@@ -23,8 +23,25 @@ __init_goreleaser() {
|
||||
# ~/.local/opt/goreleaser-v1.21.2/bin
|
||||
mkdir -p "$(dirname "$pkg_src_cmd")"
|
||||
|
||||
# mv ./goreleaser-*/goreleaser ~/.local/opt/goreleaser-v1.21.2/bin/goreleaser
|
||||
# mv ./goreleaser ~/.local/opt/goreleaser-v1.21.2/bin/goreleaser
|
||||
mv ./goreleaser "$pkg_src_cmd"
|
||||
|
||||
# install completions if present (completions/{goreleaser.bash,.fish,.zsh})
|
||||
if test -d ./completions; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv ./completions/goreleaser.bash "$pkg_src_dir/share/bash-completion/completions/goreleaser" 2>/dev/null || true
|
||||
mv ./completions/goreleaser.fish "$pkg_src_dir/share/fish/vendor_completions.d/goreleaser.fish" 2>/dev/null || true
|
||||
mv ./completions/goreleaser.zsh "$pkg_src_dir/share/zsh/site-functions/_goreleaser" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man page if present (manpages/goreleaser.1.gz)
|
||||
if test -d ./manpages; then
|
||||
mkdir -p "$pkg_src_dir/share/man/man1"
|
||||
mv ./manpages/*.1.gz "$pkg_src_dir/share/man/man1/" 2>/dev/null || true
|
||||
mv ./manpages/*.1 "$pkg_src_dir/share/man/man1/" 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
# pkg_get_current_version is recommended, but (soon) not required
|
||||
|
||||
@@ -25,6 +25,22 @@ __init_lsd() {
|
||||
|
||||
# mv ./lsd-*/lsd ~/.local/opt/lsd-v0.17.0/bin/lsd
|
||||
mv ./lsd-*/lsd "$pkg_src_cmd"
|
||||
|
||||
# install completions if present (autocomplete/{_lsd,lsd.fish,lsd.bash-completion})
|
||||
if test -d ./lsd-*/autocomplete; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv ./lsd-*/autocomplete/lsd.bash-completion "$pkg_src_dir/share/bash-completion/completions/lsd" 2>/dev/null || true
|
||||
mv ./lsd-*/autocomplete/lsd.fish "$pkg_src_dir/share/fish/vendor_completions.d/lsd.fish" 2>/dev/null || true
|
||||
mv ./lsd-*/autocomplete/_lsd "$pkg_src_dir/share/zsh/site-functions/_lsd" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man page if present
|
||||
if test -f ./lsd-*/lsd.1; then
|
||||
mkdir -p "$pkg_src_dir/share/man/man1"
|
||||
mv ./lsd-*/lsd.1 "$pkg_src_dir/share/man/man1/lsd.1"
|
||||
fi
|
||||
}
|
||||
|
||||
# pkg_get_current_version is recommended, but (soon) not required
|
||||
|
||||
@@ -26,6 +26,22 @@ __init_rg() {
|
||||
# mv ./ripgrep-*/rg ~/.local/opt/rg-v12.1.1/bin/rg
|
||||
mv ./ripgrep-*/rg "$pkg_src_cmd"
|
||||
|
||||
# install completions if present (complete/_rg, complete/rg.bash, complete/rg.fish)
|
||||
if test -d ./ripgrep-*/complete; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv ./ripgrep-*/complete/rg.bash "$pkg_src_dir/share/bash-completion/completions/rg" 2>/dev/null || true
|
||||
mv ./ripgrep-*/complete/rg.fish "$pkg_src_dir/share/fish/vendor_completions.d/rg.fish" 2>/dev/null || true
|
||||
mv ./ripgrep-*/complete/_rg "$pkg_src_dir/share/zsh/site-functions/_rg" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man page if present
|
||||
if test -f ./ripgrep-*/doc/rg.1; then
|
||||
mkdir -p "$pkg_src_dir/share/man/man1"
|
||||
mv ./ripgrep-*/doc/rg.1 "$pkg_src_dir/share/man/man1/rg.1"
|
||||
fi
|
||||
|
||||
if ! [ -e ~/.ripgreprc ]; then
|
||||
touch ~/.ripgreprc
|
||||
fi
|
||||
|
||||
@@ -22,16 +22,28 @@ __init_sd() {
|
||||
pkg_install() {
|
||||
# mv ./sd-*/sd "$pkg_src_cmd"
|
||||
if test -f sd-*; then
|
||||
# ~/.local/opt/sd-v0.99.9/bin
|
||||
# old format: bare binary named sd-{triplet}
|
||||
mkdir -p "$(dirname "$pkg_src_cmd")"
|
||||
mv sd-* "$pkg_src_cmd"
|
||||
elif test -f sd-*/sd; then
|
||||
# ~/.local/opt/sd-v0.99.9/bin
|
||||
# current format: sd-v{ver}-{triplet}/ directory
|
||||
mkdir -p "$(dirname "$pkg_src_cmd")"
|
||||
mv sd-*/sd "$pkg_src_cmd"
|
||||
|
||||
# install completions if present (completions/{sd.bash,sd.fish,_sd})
|
||||
if test -d sd-*/completions; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv sd-*/completions/sd.bash "$pkg_src_dir/share/bash-completion/completions/sd" 2>/dev/null || true
|
||||
mv sd-*/completions/sd.fish "$pkg_src_dir/share/fish/vendor_completions.d/sd.fish" 2>/dev/null || true
|
||||
mv sd-*/completions/_sd "$pkg_src_dir/share/zsh/site-functions/_sd" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man page if present
|
||||
if test -f sd-*/sd.1; then
|
||||
mkdir -p "$pkg_src_dir/share/man/man1"
|
||||
mv sd-*/sd.1 "$pkg_src_dir/share/man/man1"
|
||||
mv sd-*/sd.1 "$pkg_src_dir/share/man/man1/sd.1"
|
||||
fi
|
||||
elif test -d sd-*/bin; then
|
||||
mv sd-* "$pkg_src_dir"
|
||||
|
||||
@@ -25,6 +25,22 @@ __init_watchexec() {
|
||||
|
||||
# mv ./watchexec-*/watchexec ~/.local/opt/watchexec-v0.99.9/bin/watchexec
|
||||
mv ./watchexec-*/watchexec "$pkg_src_cmd"
|
||||
|
||||
# install completions if present (completions/{bash,fish,zsh})
|
||||
if test -d ./watchexec-*/completions; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv ./watchexec-*/completions/bash "$pkg_src_dir/share/bash-completion/completions/watchexec" 2>/dev/null || true
|
||||
mv ./watchexec-*/completions/fish "$pkg_src_dir/share/fish/vendor_completions.d/watchexec.fish" 2>/dev/null || true
|
||||
mv ./watchexec-*/completions/zsh "$pkg_src_dir/share/zsh/site-functions/_watchexec" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man page if present
|
||||
if test -f ./watchexec-*/watchexec.1; then
|
||||
mkdir -p "$pkg_src_dir/share/man/man1"
|
||||
mv ./watchexec-*/watchexec.1 "$pkg_src_dir/share/man/man1/watchexec.1"
|
||||
fi
|
||||
}
|
||||
|
||||
# pkg_get_current_version is recommended, but (soon) not required
|
||||
|
||||
@@ -25,6 +25,22 @@ __init_zoxide() {
|
||||
|
||||
# mv ./zoxide "~/.local/opt/zoxide-v0.99.9/bin/zoxide"
|
||||
mv ./zoxide "$pkg_src_cmd"
|
||||
|
||||
# install completions if present
|
||||
if test -d ./completions; then
|
||||
mkdir -p "$pkg_src_dir/share/bash-completion/completions"
|
||||
mkdir -p "$pkg_src_dir/share/fish/vendor_completions.d"
|
||||
mkdir -p "$pkg_src_dir/share/zsh/site-functions"
|
||||
mv ./completions/zoxide.bash "$pkg_src_dir/share/bash-completion/completions/zoxide" 2>/dev/null || true
|
||||
mv ./completions/zoxide.fish "$pkg_src_dir/share/fish/vendor_completions.d/zoxide.fish" 2>/dev/null || true
|
||||
mv ./completions/_zoxide "$pkg_src_dir/share/zsh/site-functions/_zoxide" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
# install man pages if present
|
||||
if test -d ./man; then
|
||||
mkdir -p "$pkg_src_dir/share"
|
||||
mv ./man "$pkg_src_dir/share/man"
|
||||
fi
|
||||
}
|
||||
|
||||
# pkg_get_current_version is recommended, but (soon) not required
|
||||
|
||||
Reference in New Issue
Block a user