Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[PATCH] new completion for "sv"



See attached a patch to add completion for sv
(http://smarden.org/runit/sv.8.html)

If anything is wrong just let me know, this would be my first
contribution to zsh so mistakes wouldn't surprise me.
-- 
fREW Schmidt
https://blog.afoolishmanifesto.com
From a9b5d69371034e276548a8044c7dc8a021180ffb Mon Sep 17 00:00:00 2001
From: Arthur Axel 'fREW' Schmidt <frioux@xxxxxxxxx>
Date: Sun, 5 Oct 2014 14:52:42 -0500
Subject: [PATCH] new completion for "sv"

See http://smarden.org/runit/sv.8.html
---
 Completion/Unix/Command/_sv | 60 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)
 create mode 100644 Completion/Unix/Command/_sv

diff --git a/Completion/Unix/Command/_sv b/Completion/Unix/Command/_sv
new file mode 100644
index 0000000..9a55be1
--- /dev/null
+++ b/Completion/Unix/Command/_sv
@@ -0,0 +1,60 @@
+#compdef sv
+
+_arguments \
+  '-v[verbose]' \
+  '-w:wait time' \
+  ':command:->command' \
+  '*::options:->options'
+
+case $state in
+  (command)
+    local -a sv_ary
+    sv_ary=(
+           'status':'Get status of service (and log service if available)'
+               'up':'start if service is running. If service stops, restart'
+             'down':'send SIGTERM and SIGCONT if service is running. After it stops, do not restart'
+             'once':'start if service is not running. Do not restart if it stops'
+            'pause':'send SIGSTOP if service is running'
+             'cont':'send SIGCONT if service is running'
+              'hup':'send SIGHUP if service is running'
+            'alarm':'send SIGALRM if service is running'
+        'interrupt':'send SIGINT if service is running'
+             'quit':'send SIGQUIT if service is running'
+                '1':'send SIGUSR1 if service is running'
+                '2':'send SIGUSR2 if service is running'
+             'term':'send SIGTERM if service is running'
+             'kill':'send SIGKILL if service is running'
+             'exit':'send SIGTERM and SIGCONT if service is running. Do not restart service.'
+      )
+
+      local -a sv_lsb_ary
+      sv_lsb_ary=(
+                  'start':'up with check/timeout'
+                   'stop':'down with check/timeout'
+                 'reload':'hup with check'
+                'restart':'down and up with check'
+               'shutdown':'exit with check/timeout'
+             'force-stop':'stop with kill on timeout'
+           'force-reload':'reload with kill on timeout'
+          'force-restart':'restart with kill on timeout'
+         'force-shutdown':'shutdown with kill on timeout'
+            'try-restart':'restart if service is already running'
+      )
+
+      _describe -t commands "sv commands" sv_ary -V sv_commands
+      _describe -t commands "sv LSM init compat" sv_lsb_ary -V sv_init_compat
+      _describe -t commands "sv additional commands" '("check:check status of service")' -V sv_addl_comm
+      return
+  ;;
+
+  (options)
+    local -a sv_services
+    sv_services=(
+      $SVDIR/*(N)
+      $SVDIR/*/log(N)
+    )
+
+    sv_services=( ${sv_services#$SVDIR/} )
+    _describe -t services "sv services" sv_services
+  ;;
+esac
-- 
1.9.3+fc2~572~g5a814b4

Attachment: pgpGgAnt62pd_.pgp
Description: PGP signature



Messages sorted by: Reverse Date, Date, Thread, Author