diff options
Diffstat (limited to 'gentoo')
-rw-r--r-- | gentoo | 34 |
1 files changed, 15 insertions, 19 deletions
@@ -1906,34 +1906,30 @@ _epm() { complete -o filenames -F _epm epm } -# -# metagen completion -# - -have metagen && { +have metagen && _metagen() { local cur prev opts COMPREPLY=() - cur="${COMP_WORDS[COMP_CWORD]}" - prev="${COMP_WORDS[COMP_CWORD-1]}" - opts="-h --help -H -e -n -m -d -l -o -f -v -q -Q" - - if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then - COMPREPLY=($(compgen -W "${opts}" -- ${cur})) - return 0 - fi + _get_comp_words_by_ref cur prev + opts="$(_parse_help ${COMP_WORDS[0]})" - case "${prev}" in - -H|-e|-n|-d|-l|-o) - COMPREPLY=() + case $prev in + -h|--help|--version) + return 0 ;; - *) - COMPREPLY=($(compgen -W "${opts}" -- ${cur})) + -H|-e|-n|-d|-l) + return 0 + ;; + -o) + _filedir + return 0 ;; esac + + COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) + return 0 } complete -F _metagen metagen -} have rc-service && { _rc_service() { |