Ville Skyttä c875723bef Include trailing equals sign in options that take arguments that way.
This way it's clearer to users that an argument is expected.  It's
likely that this commit does not catch all such cases, but it should
do it for most of the affected commands I have installed.
2011-05-02 11:45:55 +03:00

55 lines
1.3 KiB
Bash

# bash completion for wvdial
have wvdial || return
_wvdial()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
--config)
_filedir
return 0
;;
esac
$split && return
local config i IFS=$'\n'
case $cur in
-*)
COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
[[ $COMPREPLY == *= ]] && compopt -o nospace
;;
*)
# start with global and personal config files
config="/etc/wvdial.conf"$'\n'"$HOME/.wvdialrc"
# replace with command line config file if present
for (( i=1; i < cword; i++ )); do
if [[ "${words[i]}" == "--config" ]]; then
config=${words[i+1]}
break
fi
done
# parse config files for sections and
# remove default section
COMPREPLY=( $( sed -ne "s|^\[Dialer \($cur.*\)\]$|\1|p" $config \
2>/dev/null | command grep -v '^Defaults$'))
# escape spaces
COMPREPLY=${COMPREPLY// /\\ }
;;
esac
} &&
complete -F _wvdial wvdial
# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh