about summary refs log tree commit diff
path: root/Completion/Debian/Command/_update-rc.d
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Debian/Command/_update-rc.d')
-rw-r--r--Completion/Debian/Command/_update-rc.d28
1 files changed, 28 insertions, 0 deletions
diff --git a/Completion/Debian/Command/_update-rc.d b/Completion/Debian/Command/_update-rc.d
new file mode 100644
index 000000000..68b81dc72
--- /dev/null
+++ b/Completion/Debian/Command/_update-rc.d
@@ -0,0 +1,28 @@
+#compdef update-rc.d
+
+local curcontext="$curcontext" state line expl
+
+_arguments -C \
+  '-n[show actions without performing them]' \
+  '-f[force removal of symlinks]' \
+  '1:service:_services' \
+  '2:command:(remove defaults start stop)' \
+  '*::args:->args' && return
+
+case $words[2] in
+  defaults)
+    _message -e number 'sequence number'
+  ;;
+  remove)
+    _message 'no more arguments'
+  ;;
+  st*)
+    case ${words[CURRENT-1]} in
+      .) _wanted commands expl commands compadd start stop && return ;;
+      start|stop) _message -e number 'sequence number' ;;
+      *) _message -e runlevels run\ level ;;
+    esac
+  ;;
+esac
+
+return 1