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

[patch] _init_d add OpenBSD bits



Add a block to complete OpenBSD rc.d scripts. Thanks to llua for
pointing out (M).

Should flags also be a function so it can be overridden?


diff --git a/Completion/Unix/Command/_init_d b/Completion/Unix/Command/_init_d
index bbf62fc..0fd4cc1 100644
--- a/Completion/Unix/Command/_init_d
+++ b/Completion/Unix/Command/_init_d
@@ -41,6 +41,23 @@ if [[ $OSTYPE = freebsd* ]]; then
 
     return 0
   }
+elif [[ $OSTYPE = openbsd* ]]; then
+  (( $+functions[_init_d_fullpath] )) ||
+  _init_d_fullpath() {
+    echo /etc/rc.d/$1
+    return 0
+  }
+
+  (( $+functions[_init_d_get_cmds] )) ||
+  _init_d_get_cmds() {
+    local -a cmds disabled
+
+    cmds=(start stop reload restart check)
+    disabled=(${${${(M)${(f)"$(< $script)"}:#rc_(${(~j:|:)cmds})=NO}#rc_}%=NO})
+    echo ${cmds:|disabled}
+  }
+
+  flags=('-d[print debug information]' '-f[forcibly start the daemon]')
 else
   (( $+functions[_init_d_fullpath] )) ||
   _init_d_fullpath() {
@@ -90,4 +107,4 @@ cmds=( $(_init_d_get_cmds) ) || return
 (( $#cmds )) || zstyle -a ":completion:${curcontext}:commands" commands cmds ||
     cmds=(start stop)
 
-_sub_commands $cmds
+_arguments -s -A "-*" $flags "*:init.d command:_sub_commands $cmds"



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