From 406e8347ddb1834e1e9c541e733799fab5c1b133 Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Sun, 16 Jan 2011 23:30:48 +0100 Subject: add iscsiadm completion --- CHANGES | 1 + completions/Makefile.am | 1 + completions/open-iscsi | 77 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 completions/open-iscsi diff --git a/CHANGES b/CHANGES index c1180d71..bfb7a56f 100644 --- a/CHANGES +++ b/CHANGES @@ -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 -- cgit v1.2.1