diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-07-21 19:15:22 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-07-21 19:15:22 +0000 |
commit | 5b29fedad850299950195a1878fe4923778f9dcc (patch) | |
tree | 100a2decba0f1b6f8c4ed1b866bddd5f2ff57019 /Completion/Solaris/Command/_svccfg | |
parent | 2d2d341161ca6699a6efd6981c3a9fd7fe52e6d6 (diff) | |
download | zsh-5b29fedad850299950195a1878fe4923778f9dcc.tar.gz zsh-5b29fedad850299950195a1878fe4923778f9dcc.tar.xz zsh-5b29fedad850299950195a1878fe4923778f9dcc.zip |
25324: Danek Duvall: some Solaris and more general completions
Diffstat (limited to 'Completion/Solaris/Command/_svccfg')
-rw-r--r-- | Completion/Solaris/Command/_svccfg | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Completion/Solaris/Command/_svccfg b/Completion/Solaris/Command/_svccfg new file mode 100644 index 000000000..59f275f26 --- /dev/null +++ b/Completion/Solaris/Command/_svccfg @@ -0,0 +1,58 @@ +#compdef svccfg + +_svccfg() { + local context state line subcmds + + subcmds=( apply extract import validate export inventory delete addpropvalue delpropvalue ) + + if [[ $service == "svccfg" ]]; then + _arguments -s \ + '-?[Help]' \ + '-v[Verbose]' \ + '-s[FMRI on which to operate]:fmri:_svcs_fmri -c' \ + - set1 \ + '-f[Read commands from file]:command file:_files' \ + - set2 \ + '*::command:->subcmd' && return 0 + + if (( CURRENT == 1 )); then + _wanted commands expl 'svccfg subcommand' compadd -a subcmds + return + fi + service="$words[1]" + curcontext="${curcontext%:*}=$service:" + fi + + case $service in + (import) + _arguments \ + '-V[Verify property updates]' \ + ':file:_files' + ;; + + (apply|validate|inventory) + _files + ;; + + (export) + _svcs_fmri -c + ;; + + (delete) + _arguments \ + '-f[Force deletion if online or degraded]' \ + '*:FMRI:_svcs_fmri -c' + ;; + + (extract) + ;; + + (*) + _message "unknown svccfg subcommand: $service" + ;; + esac +} + +_svccfg "$@" + +# vi:tw=0 |