[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 406e8347ddb1834e1e9c541e733799fab5c1b133

Guillaume Rousse Guillaume.Rousse at inria.fr
Sun Jan 16 22:31:17 UTC 2011


The following commit has been merged in the master branch:
commit 406e8347ddb1834e1e9c541e733799fab5c1b133
Author: Guillaume Rousse <Guillaume.Rousse at inria.fr>
Date:   Sun Jan 16 23:30:48 2011 +0100

    add iscsiadm completion

diff --git a/CHANGES b/CHANGES
index c1180d7..bfb7a56 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 at 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 fb42325..38cd986 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 0000000..0d138c7
--- /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

-- 
bash-completion



More information about the Bash-completion-commits mailing list