summaryrefslogtreecommitdiff
path: root/Completion/Linux/Command/_pidof
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2016-12-04 04:32:03 +0100
committerAxel Beckert <abe@deuxchevaux.org>2016-12-04 04:32:03 +0100
commit3e439c3863f14c82f70666804c8570a13b3732e6 (patch)
tree07036c43e0f3f9242bb6dd42cd2a849ec8ea8aca /Completion/Linux/Command/_pidof
parent2aedc4b88fd0e87b89583983951b04b96f48efd3 (diff)
parent7b7e84f0815ed22a0ee348a217776529035dccf3 (diff)
downloadzsh-3e439c3863f14c82f70666804c8570a13b3732e6.tar.gz
zsh-3e439c3863f14c82f70666804c8570a13b3732e6.zip
Merge tag 'zsh-5.2-test-1' into debian
Diffstat (limited to 'Completion/Linux/Command/_pidof')
-rw-r--r--Completion/Linux/Command/_pidof24
1 files changed, 24 insertions, 0 deletions
diff --git a/Completion/Linux/Command/_pidof b/Completion/Linux/Command/_pidof
new file mode 100644
index 000000000..6605e7e67
--- /dev/null
+++ b/Completion/Linux/Command/_pidof
@@ -0,0 +1,24 @@
+#compdef pidof
+
+local curcontext="$curcontext" state line expl ret=1
+typeset -A opt_args
+
+local exargs="-h --help -V --version"
+_arguments -C -s -w \
+ '(- *)'{-h,--help}'[display help information]' \
+ '(- *)'{-V,--version}'[print program version]' \
+ "(-s --single-shot $exargs)"{-s,--single-shot}'[return one PID only]' \
+ "(-c --check-root $exargs)"{-c,--check-root}'[omit processes with different root]' \
+ "(-x $exargs)"-x'[include shells running named scripts]' \
+ "($exargs)"\*{-o+,--omit-pid}'[omit processes with PIDs]:pids:_sequence -s , _pids' \
+ '*:process:->procnames' \
+ && return 0
+
+case $state in
+ procnames)
+ # Handle defunct processes and "avahi-daemon:"
+ _wanted process-names expl process compadd ${${${${${(@)${(f)"$(ps -N --ppid 2 -p 2 o args=)"}%% *}##*/}%:}#\[}%]} && ret=0
+ ;;
+esac
+
+return ret