diff options
author | Toby Vincent <tobyv13@gmail.com> | 2021-11-14 17:09:13 -0600 |
---|---|---|
committer | Toby Vincent <tobyv13@gmail.com> | 2021-11-14 17:09:13 -0600 |
commit | 71b95c15da8b9e88107602cebc757089f3df912f (patch) | |
tree | c64b146355d002c9710eee98ba4a5b77b972759f | |
parent | db553c394486a5e5915a1bf7b90f3cb1a6f9874a (diff) |
fix: fixed completions
-rwxr-xr-x | scripts/install-crate.sh | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/scripts/install-crate.sh b/scripts/install-crate.sh index 22fbc11..b7da98d 100755 --- a/scripts/install-crate.sh +++ b/scripts/install-crate.sh @@ -60,13 +60,16 @@ need() { fi } +is_opt() { case $1 in "--"*) true ;; *) false ;; esac } +is_arg() { if [ "$1" ] && ! is_opt $1; then true; else false; fi; } + quiet=false force=false no_tag=false completion_bash=false completion_zsh=false completion_fish=false -comp_dir_bash="${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion" +comp_dir_bash="${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions" comp_dir_zsh="${XDG_DATA_HOME:-$HOME/.local/share}/zsh/site-functions" comp_dir_fish="${XDG_CONFIG_HOME:-$HOME/.config}/fish/completions" while test $# -gt 0; do @@ -110,19 +113,26 @@ while test $# -gt 0; do completion_fish=true ;; --completion-bash) - completion-bash=true - comp_bash_dir=$2 - shift + completion_bash=true + if is_arg $2; then + comp_dir_bash=$2 + shift + fi ;; --completion-zsh) - completion-zsh=true - comp_zsh_dir=$2 - shift + completion_zsh=true + if is_arg $2; then + echo "$2" + comp_dir_zsh=$2 + shift + fi ;; --completion-fish) - completion-fish=true - comp_fish_dir=$2 - shift + completion_fish=true + if is_arg $2; then + comp_dir_fish=$2 + shift + fi ;; *) ;; @@ -199,7 +209,7 @@ curl -sL $url | tar -C $td -xz for f in $(find "$td" -type f); do case $f in *".bash") - [ $completion_bash ] && install -D $f "$comp_dir_bash/$crate.sh" + [ $completion_bash ] && install -D $f "$comp_dir_bash/$crate" ;; *".zsh") [ $completion_zsh ] && install -D $f "$comp_dir_zsh/_$crate" |