bash-completion/completions/htpasswd

34 lines
933 B
Bash

# htpasswd(1) completion -*- shell-script -*-
_htpasswd()
{
local cur prev words cword
_init_completion || return
local i o=0 # $o is index of first non-option argument
for (( i=1; i <= cword; i++ )); do
case ${words[i]} in
-*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" ) )
return
fi
# Password file (first non-option argument)
_filedir
elif [[ $o -eq $cword-1 ]]; then
# Username (second non-option argument)
COMPREPLY=( $( compgen -W \
'$( cut -d: -f1 "${words[o]}" 2>/dev/null )' -- "$cur" ) )
fi
} &&
complete -F _htpasswd htpasswd
# ex: ts=4 sw=4 et filetype=sh