Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] Fix pgrep/pkill -f completion
- X-seq: zsh-workers 48891
- From: Marlon Richert <marlon.richert@xxxxxxxxx>
- To: Zsh hackers list <zsh-workers@xxxxxxx>
- Subject: [PATCH] Fix pgrep/pkill -f completion
- Date: Fri, 21 May 2021 15:59:00 +0300
- Archived-at: <https://zsh.org/workers/48891>
- List-id: <zsh-workers.zsh.org>
Old completion produced false positives & took too much screen space.
From 112968b31ea926a40a640921f53b71a7f57c0f52 Mon Sep 17 00:00:00 2001
From: Marlon Richert <marlon.richert@xxxxxxxxx>
Date: Fri, 21 May 2021 15:56:42 +0300
Subject: [PATCH] Fix pgrep/pkill -f completion
Old completion produced false positives & took too much screen space.
---
Completion/Unix/Command/_pgrep | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/Completion/Unix/Command/_pgrep b/Completion/Unix/Command/_pgrep
index 51a4883df..22871dd20 100644
--- a/Completion/Unix/Command/_pgrep
+++ b/Completion/Unix/Command/_pgrep
@@ -166,9 +166,16 @@ 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=)"}% *}
- else
+ 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
;;
--
2.31.1
Messages sorted by:
Reverse Date,
Date,
Thread,
Author