From 5bd659352fff6d8d7d2b70af28fea756f6d84582 Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Thu, 12 Apr 2018 18:55:41 +0200 Subject: 42631: _pgrep: pkill: fix completion of signals This adds the signals after arguments are filtered according to $optchars. --- ChangeLog | 5 +++++ Completion/Unix/Command/_pgrep | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 949fdda57..72b1ebaad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2018-04-13 Daniel Hahler + + * 42631: Completion/Unix/Command/_pgrep: _pgrep: pkill: fix completion + of signals. + 2018-04-12 Oliver Kiddle * 42624 (plus test): Src/exec.c, Test/C04funcdef.ztst: avoid diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep index 714bf095b..ec3f8bfd0 100644 --- a/Completion/Unix/Command/_pgrep +++ b/Completion/Unix/Command/_pgrep @@ -32,9 +32,7 @@ arguments=('-P[parent process id]:parent process id:->ppid' '-x[match exactly]' '-z[match only in zones]:zone:_zones') -if [[ $service == 'pkill' ]]; then - arguments+=('-'${^signals}'[signal]') -elif [[ $service == 'pgrep' ]]; then +if [[ $service == 'pgrep' ]]; then arguments+=('-d[output delimiter]:delimiter:compadd ${(s\:\:)IFS}' '-l[list name in addition to id]') fi @@ -64,8 +62,12 @@ case "$OSTYPE" in optchars="flvxdnoPgsuUGt" ;; esac +# Only keep relevant arguments according to $optchars. arguments=( ${(M)arguments:#(|\*)(|\(*\))-[$optchars]*} '*:process name:->pname') +if [[ $service == 'pkill' ]]; then + arguments+=('-'${^signals}'[signal]') +fi _arguments -C -s -w $arguments && ret=0 -- cgit 1.4.1