diff options
Diffstat (limited to 'debian/bash_completion/contrib/svk')
-rw-r--r-- | debian/bash_completion/contrib/svk | 262 |
1 files changed, 262 insertions, 0 deletions
diff --git a/debian/bash_completion/contrib/svk b/debian/bash_completion/contrib/svk new file mode 100644 index 0000000..70cd81f --- /dev/null +++ b/debian/bash_completion/contrib/svk @@ -0,0 +1,262 @@ +# svk completion by Guillaume Rousse <guillomovitch@zarb.org> +# +# $Id: svk,v 1.1 2006/03/01 10:45:03 ianmacd Exp $ + +_svk() +{ + local cur prev commands options command + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + commands='add admin annotate ann blame praise cat checkout co cleanup \ + cmerge cm commit ci copy cp delete del remove rm depotmap \ + depot describe desc diff di help h ? import info list ls log \ + merge mirror mi mkdir move mv ren rename patch propdel pd pdel \ + propedit pe pedit propget pg pget proplist pl plist propset ps \ + pset pull push resolved revert smerge sm status st stat switch \ + sw sync sy update up verify' + + if [[ $COMP_CWORD -eq 1 ]] ; then + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--version' -- $cur ) ) + else + COMPREPLY=( $( compgen -W "$commands" -- $cur ) ) + fi + else + + prev=${COMP_WORDS[COMP_CWORD-1]} + case $prev in + -@(F|-file|-targets)) + _filedir + return 0; + ;; + --encoding) + COMPREPLY=( $( compgen -W \ + '$( iconv --list | sed -e "s@//@@;" )' \ + -- "$cur" ) ) + return 0; + ;; + esac + + command=${COMP_WORDS[1]} + + if [[ "$cur" == -* ]]; then + # possible options for the command + case $command in + add) + options=' --non-recursive -N -q --quiet' + ;; + @(blame|annotate|ann|praise)) + options='-r --revisions -x --cross' + ;; + cat) + options='-r --revision' + ;; + @(checkout|co)) + options='-r --revision -q --quiet -N \ + --non-recursive -l --list -d \ + --detach --export --relocate \ + --purge' + ;; + cleanup) + options='-a --all' + ;; + @(cmerge|cm)) + options='-c --change -l --log -r \ + --revision -a --auto \ + --verbatim --no-ticket -m \ + --message -F --file --template \ --encoding -P --patch -S \ + --sign -C --check-only --direct' + ;; + @(commit|ci)) + options='--import -m --message -F \ + --file --encoding --template \ + -P --patch -S --sign -C \ + --check-only -N \ + --non-recursive --direct' + ;; + @(copy|cp)) + options='-r --revision -p --parent -q \ + --quiet -m --message -F --file \ + --template --encoding -P \ + --patch -S --sign -C \ + --check-only --direct' + ;; + @(delete|del|remove|rm)) + options='-k --keep-local -m --message \ + -F --file --encoding \ + --template -P --patch -S \ + --sign -C --check-only --direct' + ;; + @(depotmap|depot)) + options='-i --init -l --list -d \ + --detach --relocate' + ;; + @(diff|di)) + options='-r --revision -s --summarize \ + -b --verbose -N --non-recursive' + ;; + import) + options='-f --from-checkout -t \ + --to-checkout -m --message -F \ + --file --template --encoding \ + -P --patch -S --sign -C \ + --check-only -N \ + --non-recursive --direct' + ;; + @(list|ls)) + options='-r --revision -v --verbose -R \ + --recursive -d --depth -f \ + --full-path' + ;; + log) + options='-r --revision -l --limit -q \ + --quiet -x --cross -v --verbose' + ;; + merge) + options='-r --revision -c --change -I \ + --incremental -a --auto -l \ + --log -s --sync -t --to -f \ + --from --verbatim --no-ticket \ + --track-rename -m --message \ + -F --file --template \ + --encoding -P --patch -S \ + --sign -C --check-only --direct' + ;; + @(mirror|mi)) + options='-l --list -d --detach \ + --relocate --recover --unlock \ + --upgrade' + ;; + mkdir) + options='-p --parent -m --message -F \ + --file --template --encoding \ + -P --patch -S --sign -C \ + --check-only --direct' + ;; + @(move|mv|rename|ren)) + options='-r --revision -p --parent -q \ + --quiet -m --message -F --file \ + --encoding --template -P \ + --patch -S --sign -C \ + --check-only --direct' + ;; + patch) + options='--depot' + ;; + @(propdel|propset|pdel|pset|pd|ps)) + options='-R --recursive -r --revision \ + --revprop -m --message -F \ + --file --template --encoding \ + -P --patch -S --sign -C \ + --check-only -q --quiet \ + --direct' + ;; + @(propedit|pedit|pe)) + options='-R --recursive -r --revision \ + --revprop -m --message -F \ + --file --template --encoding \ + -P --patch -S --sign -C \ + --check-only --direct' + ;; + @(propget|pget|pg)) + options='-R --recursive -r --revision \ + --revprop --strict' + ;; + @(proplist|plist|pl)) + options='-R --recursive -v --verbose \ + -r --revision --revprop' + ;; + pull) + options='-a --all -l --lump' + ;; + push) + options='-f --from -l --lump -C \ + --check -P --patch -S --sign \ + --verbatim' + ;; + resolved) + options='-R --recursive' + ;; + revert) + options='-R --recursive -q --quiet' + ;; + @(smerge|sm)) + options='-I --incremental -l --log -B \ + --baseless -b --base -s --sync \ + -t --to -f --from --verbatim \ + --no-ticket --track-rename \ + --host --remoterev -m \ + --message -F --file --template \ + --encoding -P --patch -S \ + --sign -C --check-only --direct' + ;; + @(status|stat|st)) + options='-q --quiet --no-ignore -N \ + --non-recursive -v --verbose' + ;; + @(switch|sw)) + options='-r --revision -d --detach -q \ + --quiet' + ;; + @(sync|sy)) + options='-a --all -s --skipto -t \ + --torev' + ;; + @(update|up)) + options='-r --revision -N \ + --non-recursive -C \ + --check-only -s --sync -m \ + --merge -q --quiet' + ;; + esac + options="$options --help -h" + + COMPREPLY=( $( compgen -W "$options" -- $cur ) ) + else + case $command in + @(help|h|\?)) + COMPREPLY=( $( compgen -W "$commands \ + environment commands intro" -- $cur ) ) + ;; + admin) + COMPREPLY=( $( compgen -W 'help \ + deltify dump hotcopy \ + list-dblogs list-unused-dblogs \ + load lstxns recover rmtxns \ + setlog verify rmcache' \ + -- $cur ) ) + ;; + patch) + COMPREPLY=( $( compgen -W '--ls --list \ + --cat --view --regen \ + --regenerate --up --update \ + --apply --rm --delete' \ + -- $cur ) ) + ;; + sync) + COMPREPLY=( $( compgen -W "$( svk \ + mirror --list 2>/dev/null | \ + awk '/^\//{print $1}' )" \ + -- $cur ) ) + ;; + @(co|checkout|push|pull)) + if [[ "$cur" == //*/* ]]; then + path=${cur%/*}/ + else + path=// + fi + COMPREPLY=( $( compgen -W "$( svk \ + list $path 2>/dev/null | sed -e 's|\(.*\)|'$path'\1|')" -- $cur ) ) + ;; + *) + _filedir + ;; + esac + fi + fi + + return 0 +} +complete -F _svk -o default svk |