about summary refs log tree commit diff
path: root/Completion/Unix/Command/_killall
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_killall')
-rw-r--r--Completion/Unix/Command/_killall9
1 files changed, 9 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_killall b/Completion/Unix/Command/_killall
new file mode 100644
index 000000000..6ec022227
--- /dev/null
+++ b/Completion/Unix/Command/_killall
@@ -0,0 +1,9 @@
+#compdef killall killall5
+
+if [[ $service = killall && "$OSTYPE" = linux* ]]; then
+  _alternative \
+      'signals:: _signals -p' \
+      'processes:process:{ compadd "$expl[@]" ${${${${(f)"$(_call_program processes-names ps ${${EUID/(#s)0(#e)/xa}//[0-9]#/} ho cmd 2> /dev/null)"//[][\(\)]/}:#(ps|COMMAND|-*)}%%\ *}:t} }'
+else
+  _signals -p
+fi