summaryrefslogtreecommitdiff
path: root/completions/pgrep
diff options
context:
space:
mode:
Diffstat (limited to 'completions/pgrep')
-rw-r--r--completions/pgrep26
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