[Bash-completion-commits] [SCM] bash-completion branch, master, updated. 2.0-31-g92ddcea

Guillaume Rousse guillomovitch at gmail.com
Tue Sep 4 18:37:21 UTC 2012


The following commit has been merged in the master branch:
commit 92ddcea20a473a8d59b1efaea94261b4b36fa35c
Author: Guillaume Rousse <guillomovitch at gmail.com>
Date:   Tue Sep 4 20:37:13 2012 +0200

    gphoto2: new completion

diff --git a/CHANGES b/CHANGES
index 17d582c..496d62b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+  [ Guillaume Rousse ]
+  * gphoto2: new completion
+
 bash-completion (2.0)
 
   [ Anthony Ramine ]
diff --git a/completions/gphoto2 b/completions/gphoto2
new file mode 100644
index 0000000..02ddf78
--- /dev/null
+++ b/completions/gphoto2
@@ -0,0 +1,51 @@
+# bash completion for gphoto2(1)                           -*- shell-script -*-
+
+_gphoto2()
+{
+    local cur prev words cword split
+    _init_completion -s || return
+
+    case $prev in
+        --debug-logfile)
+            _filedir
+            return 0
+            ;;
+        --hook-script)
+            _filedir
+            return 0
+            ;;
+        --filename)
+            _filedir
+            return 0
+            ;;
+        -u|--upload-file)
+            _filedir
+            return 0
+            ;;
+        --port)
+            COMPREPLY=( $(compgen -W "$( gphoto2 --list-ports 2>/dev/null | \
+                tail -n +4 | awk '{ print $1 }'  )" -- "$cur") )
+            return 0
+            ;;
+        --camera)
+            local IFS=$'\n'
+            COMPREPLY=( $(compgen -W "$( gphoto2 --list-cameras 2>/dev/null | \
+                tail -n +3 | awk -F'"' '{ print $2 }'  )" -- "$cur") )
+            return 0
+            ;;
+        --get-config|--set-config|--set-config-index|--set-config-value)
+            COMPREPLY=( $(compgen -W "$( gphoto2 --list-config 2>/dev/null \
+                )" -- "$cur") )
+            return 0
+            ;;
+    esac
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
+        return 0
+    fi
+
+} &&
+complete -F _gphoto2 gphoto2
+
+# ex: ts=4 sw=4 et filetype=sh
diff --git a/test/completion/gphoto2.exp b/test/completion/gphoto2.exp
new file mode 100644
index 0000000..1eab94b
--- /dev/null
+++ b/test/completion/gphoto2.exp
@@ -0,0 +1 @@
+assert_source_completions gphoto2
diff --git a/test/lib/completions/abook.exp b/test/lib/completions/gphoto2.exp
similarity index 77%
copy from test/lib/completions/abook.exp
copy to test/lib/completions/gphoto2.exp
index 43f6272..90dc1e5 100644
--- a/test/lib/completions/abook.exp
+++ b/test/lib/completions/gphoto2.exp
@@ -11,9 +11,7 @@ proc teardown {} {
 setup
 
 
-assert_complete_any "abook "
-
-
+assert_complete_any "gphoto2 --"
 sync_after_int
 
 

-- 
bash-completion



More information about the Bash-completion-commits mailing list