aboutsummaryrefslogtreecommitdiff
path: root/zsh-completion
diff options
context:
space:
mode:
Diffstat (limited to 'zsh-completion')
-rw-r--r--zsh-completion34
1 files changed, 34 insertions, 0 deletions
diff --git a/zsh-completion b/zsh-completion
new file mode 100644
index 0000000..bf8d9d0
--- /dev/null
+++ b/zsh-completion
@@ -0,0 +1,34 @@
+#compdef rc.d
+
+_rc.d () {
+ local curcontext="$curcontext" state line
+ typeset -A opt_args
+
+ _arguments "1: :->action" "*: :->service"
+
+ case $state in
+ action)
+ _arguments "1:action:(list help start stop restart)"
+ ;;
+ service)
+ local action="$words[2]"
+ curcontext="${curcontext%:*:*}:rc.d-${action}:"
+
+ case $action in
+ list)
+ _arguments "*: :"
+ ;;
+ help)
+ _arguments "*: :"
+ ;;
+ *)
+ _arguments "*: :_services"
+ ;;
+ esac
+ ;;
+ esac
+}
+
+_rc.d "$@"
+
+# vim: set ts=2 sw=2 ft=sh noet: