about summary refs log tree commit diff
path: root/Completion/Builtins/_pids
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Builtins/_pids')
-rw-r--r--Completion/Builtins/_pids13
1 files changed, 10 insertions, 3 deletions
diff --git a/Completion/Builtins/_pids b/Completion/Builtins/_pids
index 0ffda900b..f96c11e2d 100644
--- a/Completion/Builtins/_pids
+++ b/Completion/Builtins/_pids
@@ -3,7 +3,9 @@
 # If given the `-m <pattern>' option, this tries to complete only pids
 # of processes whose command line match the `<pattern>'.
 
-local list expl match
+local list expl match desc
+
+_tags any processes || return 1
 
 if [[ "$1" = -m ]]; then
   match="${2}*"
@@ -12,7 +14,12 @@ fi
 
 _description expl 'process ID'
 
-list=("${(@Mr:COLUMNS-1:)${(f@)$(ps ${=compconfig[ps_listargs]:-$=compconfig[ps_args]} 2>/dev/null)}[2,-1]:#[ 	]#${PREFIX}[0-9]#${SUFFIX}[ 	]*${~match}}")
+if _style processes description yes; then
+  list=("${(@Mr:COLUMNS-1:)${(f@)$(ps ${=compconfig[ps_listargs]:-$=compconfig[ps_args]} 2>/dev/null)}[2,-1]:#[ 	]#${PREFIX}[0-9]#${SUFFIX}[ 	]*${~match}}")
+  desc=(-ld list)
+else
+  desc=()
+fi
 
-compadd "$expl[@]" "$@" -ld list - \
+compadd "$expl[@]" "$@" "$desc[@]" - \
   ${${${(M)${(f)"$(ps $=compconfig[ps_args] 2>/dev/null)"}[2,-1]:#*${~match}}## #}%% *}