mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-01-09 20:33:34 -08:00
63 lines
1.6 KiB
Bash
63 lines
1.6 KiB
Bash
# pgrep(1) and pkill(1) completion -*- shell-script -*-
|
|
|
|
_pgrep()
|
|
{
|
|
local cur prev words cword
|
|
_init_completion || return
|
|
|
|
case $prev in
|
|
--delimiter | --pgroup | --session | --terminal | -!(-*)[cdgJMNstTz])
|
|
return
|
|
;;
|
|
--signal)
|
|
_signals
|
|
return
|
|
;;
|
|
--pidfile | -!(-*)F)
|
|
_filedir
|
|
return
|
|
;;
|
|
--group | -!(-*)G)
|
|
_gids
|
|
return
|
|
;;
|
|
-j)
|
|
COMPREPLY=($(compgen -W 'any none' -- "$cur"))
|
|
return
|
|
;;
|
|
--parent | --ns | -!(-*)P)
|
|
_pids
|
|
return
|
|
;;
|
|
--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
|
|
local help=$(_parse_help "$1")
|
|
[[ $help ]] || help='$("$1" --usage 2>&1 |
|
|
command sed -e "s/\[-signal\]//" -e "s/\[-SIGNAL\]//" |
|
|
_parse_usage -)'
|
|
COMPREPLY=($(compgen -W "$help" -- "$cur"))
|
|
[[ $cword -eq 1 && $1 == *pkill ]] && _signals -
|
|
return
|
|
fi
|
|
|
|
_pnames -s
|
|
} &&
|
|
complete -F _pgrep pgrep pkill
|
|
|
|
# ex: filetype=sh
|