diff options
Diffstat (limited to 'completions/htpasswd')
-rw-r--r-- | completions/htpasswd | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/completions/htpasswd b/completions/htpasswd index 827e6dcc..527684bf 100644 --- a/completions/htpasswd +++ b/completions/htpasswd @@ -6,28 +6,31 @@ _htpasswd() _init_completion || return local i o=0 # $o is index of first non-option argument - for (( i=1; i <= cword; i++ )); do + for ((i = 1; i <= cword; i++)); do case ${words[i]} in - -*n*) return ;; - -*) ;; - *) o=$i ; break ;; + -*n*) return ;; + -*) ;; + *) + o=$i + break + ;; esac done - if [[ $o -eq 0 || $o -eq $cword ]]; then - if [[ "$cur" == -* ]]; then - COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") ) + if ((o == 0 || o == cword)); then + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) return fi # Password file (first non-option argument) _filedir - elif [[ $o -eq $cword-1 ]]; then + elif ((o == cword - 1)); then # Username (second non-option argument) - COMPREPLY=( $(compgen -W \ - '$(cut -d: -f1 "${words[o]}" 2>/dev/null)' -- "$cur") ) + COMPREPLY=($(compgen -W \ + '$(cut -d: -f1 "${words[o]}" 2>/dev/null)' -- "$cur")) fi } && -complete -F _htpasswd htpasswd + complete -F _htpasswd htpasswd # ex: filetype=sh |