From 891d361572f6db01434c21adb9b699d6a82dba80 Mon Sep 17 00:00:00 2001 From: Marlon Richert Date: Fri, 21 May 2021 15:56:42 +0300 Subject: 48891: Fix pgrep/pkill -f completion Old completion produced false positives & took too much screen space. --- ChangeLog | 3 +++ Completion/Unix/Command/_pgrep | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 79dddba67..335e42ff0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2021-05-21 Oliver Kiddle + * Marlon Richert: 48891: Completion/Unix/Command/_pgrep: + Fix pgrep/pkill -f completion + * Marlon Richert: 48864: Completion/Zsh/Type/_parameters: Improve extra-verbose completion display strings for array parameter values diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep index 51a4883df..5b1853e6b 100644 --- a/Completion/Unix/Command/_pgrep +++ b/Completion/Unix/Command/_pgrep @@ -166,8 +166,15 @@ case $state in ispat="" fi if (( ${+opt_args[-f]} )); then - _wanted process-args expl $ispat'process command line' \ - compadd ${${(f)"$(_call_program process-args ps -A -o args=)"}% *} + local -a matches=( ${(f)"$( + _call_program process-args pgrep -lf ${${:-$PREFIX$SUFFIX}:-.\*} + )"} ) + local -a displ=( "${${matches[@]//':'/'\:'}[@]/ /:}" ) + matches=( "${matches[@]##<-> }" ) + + local desc=$ispat'process command line' + _description process-args expl "$desc" + _describe -t process-args "$desc" displ matches "$@" -U "$expl[@]" else _wanted processes-names expl $ispat'process name' _process_names -a -t fi -- cgit 1.4.1