diff options
Diffstat (limited to 'completions/pgrep')
-rw-r--r-- | completions/pgrep | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/completions/pgrep b/completions/pgrep index 1c507a42..62dbb651 100644 --- a/completions/pgrep +++ b/completions/pgrep @@ -6,33 +6,43 @@ _pgrep() _init_completion || return case $prev in - --delimiter|--pgroup|--session|--terminal|-!(-*)[cdgJMNstTz]) + --delimiter | --pgroup | --session | --terminal | -!(-*)[cdgJMNstTz]) return ;; --signal) _signals return ;; - --pidfile|-!(-*)F) + --pidfile | -!(-*)F) _filedir return ;; - --group|-!(-*)G) + --group | -!(-*)G) _gids return ;; -j) - COMPREPLY=( $(compgen -W 'any none' -- "$cur") ) + COMPREPLY=($(compgen -W 'any none' -- "$cur")) return ;; - --parent|-!(-*)P) + --parent | --ns | -!(-*)P) _pids return ;; - --euid|--uid|-!(-*)[uU]) + --euid | --uid | -!(-*)[uU]) _uids return ;; + --nslist) + local prefix= + [[ $cur == *,* ]] && prefix="${cur%,*}," + COMPREPLY=( + $(IFS="$IFS," compgen -W '$($1 --help 2>&1 | + command sed -ne "s/^[[:space:]]*Available namespaces://p")' \ + -- "${cur##*,}")) + ((${#COMPREPLY[@]} == 1)) && COMPREPLY=(${COMPREPLY/#/$prefix}) + return + ;; esac if [[ $cur == -* ]]; then @@ -40,13 +50,13 @@ _pgrep() [[ $help ]] || help='$("$1" --usage 2>&1 | command sed -e "s/\[-signal\]//" -e "s/\[-SIGNAL\]//" | _parse_usage -)' - COMPREPLY=( $(compgen -W "$help" -- "$cur") ) + COMPREPLY=($(compgen -W "$help" -- "$cur")) [[ $cword -eq 1 && $1 == *pkill ]] && _signals - return fi _pnames -s } && -complete -F _pgrep pgrep pkill + complete -F _pgrep pgrep pkill # ex: filetype=sh |