summaryrefslogtreecommitdiff
path: root/debian/bash_completion/contrib/povray
diff options
context:
space:
mode:
authorAn-Cheng Huang <ancheng@vyatta.com>2007-11-12 13:13:20 -0800
committerAn-Cheng Huang <ancheng@vyatta.com>2007-11-14 16:16:47 -0800
commitfc7695ee76400ee9833301f98a3fe483d64591b5 (patch)
tree15b568f5adfa956817cf9f5a1652c43d33d8efa9 /debian/bash_completion/contrib/povray
parentb7fc9e0f6d6105ba2203f219743d4b269415e84b (diff)
downloadvyatta-bash-upstream.tar.gz
vyatta-bash-upstream.zip
initial import from bash_3.1dfsg-8.diff.gzupstream
Diffstat (limited to 'debian/bash_completion/contrib/povray')
-rw-r--r--debian/bash_completion/contrib/povray58
1 files changed, 58 insertions, 0 deletions
diff --git a/debian/bash_completion/contrib/povray b/debian/bash_completion/contrib/povray
new file mode 100644
index 0000000..cea5482
--- /dev/null
+++ b/debian/bash_completion/contrib/povray
@@ -0,0 +1,58 @@
+# povray completion by "David Necas (Yeti)" <yeti@physics.muni.cz>
+#
+# $Id: povray,v 1.2 2003/12/31 08:22:37 ianmacd Exp $
+
+_povray()
+{
+ local cur prev povcur pfx oext defoext
+ defoext=png # default output extension, if cannot be determined FIXME
+
+ COMPREPLY=()
+ povcur=${COMP_WORDS[COMP_CWORD]}
+ prev=${COMP_WORDS[COMP_CWORD-1]}
+
+ _expand || return 0
+
+ case $povcur in
+ [-+]I*)
+ cur="${povcur#[-+]I}" # to confuse _filedir
+ pfx="${povcur%"$cur"}"
+ _filedir pov
+ COMPREPLY=( ${COMPREPLY[@]/#/$pfx} )
+ return 0
+ ;;
+ [-+]O*)
+ # guess what output file type user may want
+ case $( ( IFS=$'\n'; echo "${COMP_WORDS[*]}" | grep '^[-+]F' ) ) in
+ [-+]FN) oext=png ;;
+ [-+]FP) oext=ppm ;;
+ [-+]F[CT]) oext=tga ;;
+ *) oext=$defoext ;;
+ esac
+ # complete filename corresponding to previously specified +I
+ COMPREPLY=( $( ( IFS=$'\n'; echo "${COMP_WORDS[*]}" | grep '^[-+]I' ) ) )
+ COMPREPLY=( ${COMPREPLY[@]#[-+]I} )
+ COMPREPLY=( ${COMPREPLY[@]/%.pov/.$oext} )
+ cur="${povcur#[-+]O}" # to confuse _filedir
+ pfx="${povcur%"$cur"}"
+ _filedir $oext
+ COMPREPLY=( ${COMPREPLY[@]/#/$pfx} )
+ return 0
+ ;;
+ *.ini\[|*.ini\[*[^]]) # sections in .ini files
+ cur="${povcur#*\[}"
+ pfx="${povcur%\["$cur"}" # prefix == filename
+ [ -r "$pfx" ] || return 0
+ COMPREPLY=( $(sed -e 's/^[[:space:]]*\[\('"$cur"'[^]]*\]\).*$/\1/' -e 't' -e 'd' -- "$pfx") )
+ # to prevent [bar] expand to nothing. can be done more easily?
+ COMPREPLY=( "${COMPREPLY[@]/#/$pfx[}" )
+ return 0
+ ;;
+ *)
+ cur="$povcur"
+ _filedir '?(ini|pov)'
+ return 0
+ ;;
+ esac
+}
+complete -F _povray -o filenames povray xpovray spovray