diff options
Diffstat (limited to 'completions/chkconfig')
-rw-r--r-- | completions/chkconfig | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/completions/chkconfig b/completions/chkconfig new file mode 100644 index 0000000..8ff6637 --- /dev/null +++ b/completions/chkconfig @@ -0,0 +1,37 @@ +# chkconfig(8) completion -*- shell-script -*- + +_chkconfig() +{ + local cur prev words cword split + _init_completion -s || return + + case $prev in + --level=[1-6] | [1-6] | --list | --add | --del | --override) + _services + _xinetd_services + return + ;; + --level) + COMPREPLY=($(compgen -W '{1..6}' -- "$cur")) + return + ;; + esac + + $split && return + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '--list --add --del --override --level' \ + -- "$cur")) + else + if ((cword == 2 || cword == 4)); then + COMPREPLY=($(compgen -W 'on off reset resetpriorities' \ + -- "$cur")) + else + _services + _xinetd_services + fi + fi +} && + complete -F _chkconfig chkconfig + +# ex: filetype=sh |