Mercurial > bins
diff bash_completion @ 0:a84c32f131df 1.1.29
Import vendor version
author | Peter Gervai <grin@grin.hu> |
---|---|
date | Wed, 15 Oct 2008 23:28:56 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bash_completion Wed Oct 15 23:28:56 2008 +0200 @@ -0,0 +1,63 @@ +# bins completion for bash +#-*- mode: shell-script;-*- +_bins() +{ + local cur prev tempdir + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -f) + _filedir + return 0 + ;; + -o) + COMPREPLY=( $( compgen -W 'scaled copied custom' -- $cur ) ) + return 0 + ;; + -c) + conffile=$HOME/.bins/binsrc + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == -f ]]; then + conffile=${COMP_WORDS[i+1]} + break + fi + done + COMPREPLY=( \ + $( awk -F'"' '/<colors style="/ {print $2}' $conffile | grep "^$cur" ) \ + $( awk -F"'" "/<colors style='/ {print $2}" $conffile | grep "^$cur" ) \ + ) + return 0 + ;; + -t) + _filedir -d + return 0 + ;; + -r) + COMPREPLY=( $( compgen -W 'dirs pictures dirs,pictures' -- $cur ) ) + return 0 + ;; + -s) + tempdir=/usr/share/bins + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == -t ]]; then + tempdir=${COMP_WORDS[i+1]} + break + fi + done + COMPREPLY=( $( find $tempdir -type d -maxdepth 1 -name templates.* | \ + sed -e "s|$tempdir/templates.||" | grep "^$cur" ) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-f -o -d -c -s -t -p -r -e -i -n -v -h' -- $cur ) ) + else + _filedir -d + fi + +} +complete -F _bins bins