summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Rousse <Guillaume.Rousse@inria.fr>2011-01-16 23:30:48 +0100
committerGuillaume Rousse <Guillaume.Rousse@inria.fr>2011-01-16 23:30:48 +0100
commit406e8347ddb1834e1e9c541e733799fab5c1b133 (patch)
tree1d2d9d1ac377bf4f71ec6a006e6d17ac90abd552
parent6833d7c6a611c1e1cbd9cf0200bae15e80bdc38f (diff)
downloadbash-completion-406e8347ddb1834e1e9c541e733799fab5c1b133.tar.gz
add iscsiadm completion
-rw-r--r--CHANGES1
-rw-r--r--completions/Makefile.am1
-rw-r--r--completions/open-iscsi77
3 files changed, 79 insertions, 0 deletions
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