diff options
Diffstat (limited to '')
-rw-r--r-- | completions/xvfb-run | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/completions/xvfb-run b/completions/xvfb-run index ed2788a..9ae1fc8 100644 --- a/completions/xvfb-run +++ b/completions/xvfb-run @@ -1,36 +1,39 @@ # bash completion for xvfb-run -*- shell-script -*- -_xvfb_run() +_comp_cmd_xvfb_run() { - local cur prev words cword split - _init_completion -s || return + local cur prev words cword was_split comp_args + _comp_initialize -s -- "$@" || return + local noargopts='!(-*|*[npsef]*)' local i - for ((i = 1; i <= COMP_CWORD; i++)); do - if [[ ${COMP_WORDS[i]} != -* ]]; then - _command_offset $i + for ((i = 1; i <= cword; i++)); do + if [[ ${words[i]} != -* ]]; then + _comp_command_offset $i return fi - [[ ${COMP_WORDS[i]} == -!(-*)[npsef] ]] && ((i++)) + # shellcheck disable=SC2254 + [[ ${words[i]} == -${noargopts}[npsef] ]] && ((i++)) done + # shellcheck disable=SC2254 case $prev in - --help | --server-num | --xauth-protocol | --server-args | -!(-*)[hnps]) + --help | --server-num | --xauth-protocol | --server-args | -${noargopts}[hnps]) return ;; - --error-file | --auth-file | -!(-*)[ef]) - _filedir + --error-file | --auth-file | -${noargopts}[ef]) + _comp_compgen_filedir return ;; esac - $split && return + [[ $was_split ]] && return if [[ $cur == -* ]]; then - COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur")) + _comp_compgen_help [[ ${COMPREPLY-} == *= ]] && compopt -o nospace fi } && - complete -F _xvfb_run xvfb-run + complete -F _comp_cmd_xvfb_run xvfb-run # ex: filetype=sh |