diff options
author | Guillaume Rousse <Guillaume.Rousse@inria.fr> | 2011-01-16 23:30:48 +0100 |
---|---|---|
committer | Guillaume Rousse <Guillaume.Rousse@inria.fr> | 2011-01-16 23:30:48 +0100 |
commit | 406e8347ddb1834e1e9c541e733799fab5c1b133 (patch) | |
tree | 1d2d9d1ac377bf4f71ec6a006e6d17ac90abd552 | |
parent | 6833d7c6a611c1e1cbd9cf0200bae15e80bdc38f (diff) | |
download | bash-completion-406e8347ddb1834e1e9c541e733799fab5c1b133.tar.gz |
add iscsiadm completion
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | completions/Makefile.am | 1 | ||||
-rw-r--r-- | completions/open-iscsi | 77 |
3 files changed, 79 insertions, 0 deletions
@@ -3,6 +3,7 @@ bash-completion (2.x) [ Guillaume Rousse ] * added pure-perl perldoc completion helper, using work from Aristotle Pagaltzis (pagaltzis@gmx.de) + * added completions for xfreerdp and iscsiadm [ David Paleino ] * Fixed "service" completion, thanks to John Hedges (Debian: #586210) diff --git a/completions/Makefile.am b/completions/Makefile.am index fb423253..38cd986d 100644 --- a/completions/Makefile.am +++ b/completions/Makefile.am @@ -107,6 +107,7 @@ bashcomp_DATA = abook \ ntpdate \ openldap \ openssl \ + open-iscsi \ p4 \ perl \ pine \ diff --git a/completions/open-iscsi b/completions/open-iscsi new file mode 100644 index 00000000..0d138c71 --- /dev/null +++ b/completions/open-iscsi @@ -0,0 +1,77 @@ +# iscsiadm(1) completion + +have iscsiadm && +_iscsiadm() +{ + local cur prev mode split=false + + COMPREPLY=() + _get_comp_words_by_ref cur prev + + _split_longopt && split=true + + case $prev in + -m|--mode) + COMPREPLY=( $( compgen -W 'discovery node session iface fw host' \ + -- "$cur" ) ) + return 0; + ;; + -o|--op) + COMPREPLY=( $( compgen -W 'new delete update show' -- "$cur" ) ) + return 0; + ;; + -t|--type) + COMPREPLY=( $( compgen -W 'sendtargets st slp isns fw' -- "$cur" ) ) + return 0; + ;; + -L|-U|--loginall|--logoutall) + COMPREPLY=( $( compgen -W 'all manual automatic' -- "$cur" ) ) + return 0; + ;; + esac + + $split && return 0 + + if [[ $COMP_CWORD -gt 1 ]] ; then + mode=${COMP_WORDS[2]} + + case $mode in + discovery) + options='--help --version --debug --print --interface --type \ + --portal --login --op --name --value' + ;; + node) + options='--help --version --debug --print --loginall \ + --logoutall--show -T --portal --interface --login \ + --logout --rescan --stats --op --name --value' + ;; + session) + options='--help --version --debug --print --sid --logout \ + --rescan --stats' + ;; + iface) + options='--help --version --debug --print --interface --op \ + --name --value' + ;; + fw) + options='--login' + ;; + host) + options='--print -H' + ;; + esac + else + options='--mode' + fi + + COMPREPLY=( $( compgen -W "$options" -- "$cur" ) ) +} && +complete -F _iscsiadm iscsiadm + +# Local variables: +# mode: shell-script +# sh-basic-offset: 4 +# sh-indent-comment: t +# indent-tabs-mode: nil +# End: +# ex: ts=4 sw=4 et filetype=sh |