1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-09-02 22:11:54 +02:00

32472: new pgrep completion options

This commit is contained in:
Kosuke Asami 2014-03-12 02:04:06 +09:00 committed by Peter Stephenson
parent ba44ba6e6f
commit de68b6bbf1
2 changed files with 38 additions and 2 deletions

View file

@ -1,3 +1,7 @@
2014-03-13 Peter Stephenson <p.w.stephenson@ntlworld.com>
* Kosuke Asami: 32472: Completion/Unix/Command/_pgrep: new options.
2014-03-13 Peter Stephenson <p.stephenson@samsung.com>
* Jun T: 32480: Src/Zle/zle_vi.c: fix crash in vi mode when too

View file

@ -5,18 +5,29 @@ typeset -A opt_args
typeset -a arguments
arguments=('-P[parent process id]:parent process id:->ppid'
'-F[match only in process in pidfile]:files:_files'
'-g[match only in process group ids]:group:->pgid'
'-G[match only real group id]:group:_groups'
'-j[match only in processes inside jails]'
'-M[extract the name list from the specified core]:files:_files'
'-N[extract the name list from the specified system]:files:_files'
'-s[match only session id]:session id:->sid'
'-t[match only controlled by terminal]:terminal device:->tty'
'-T[match only in processes specified routing table in rtable]'
'-u[match only effective user id]:user:_users'
'-U[match only real user id]:user:_users'
'(-n)-o[oldest process]'
'(-o)-n[newest process]'
'-a[include process ancestors in the match list]'
'-c[print a count of matching processes]'
'-f[match against full command line]'
'-i[ignore case distinctions]'
'-I[confirmation before attempting to single each process]'
'-L[given pidfile must be locked]'
'-q[do not write anything to standard output]'
'-S[search also in system processes]'
'-v[negate matching]'
'-x[match exactly]'
'*:process name:->pname')
'-x[match exactly]')
if [[ $service == 'pkill' ]]
then
@ -27,6 +38,27 @@ then
'-l[list name in addition to id]')
fi
local optchars
case "$OSTYPE" in
linux*)
optchars="cflvxdnoPgsuUGt"
;;
freebsd*)
optchars="LSafilnoqvxFGMNPUdgjstu"
;;
openbsd*)
optchars="flnoqvxdGgPsTtUu"
;;
darwin*)
optchars="LafilnoqvxFGPUdgtu"
;;
*)
optchars="flvxdnoPgsuUGt"
;;
esac
arguments=( ${(M)arguments:#(|\*)(|\(*\))-[$optchars]*}
'*:process name:->pname')
_arguments -s -w $arguments && ret=0
case $state in