about summary refs log tree commit diff
path: root/Completion/User/_killall
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/User/_killall')
-rw-r--r--Completion/User/_killall9
1 files changed, 6 insertions, 3 deletions
diff --git a/Completion/User/_killall b/Completion/User/_killall
index 5df1acbb9..b5ec90c8b 100644
--- a/Completion/User/_killall
+++ b/Completion/User/_killall
@@ -1,6 +1,9 @@
 #compdef killall
 
-if compset -P 1 -; then
-  _description expl signal
-  compadd "$expl[@]" $signals[1,-3]
+if [[ "$OSTYPE" = linux* ]]; then
+  _alternative \
+      'signals:: _signals -p' \
+      'processes:process:{ compadd "$expl[@]" ${$(_call processes-names ps ho comm 2> /dev/null):#(ps|COMMAND)} }'
+else
+  _signals -p
 fi