diff options
Diffstat (limited to 'debian/bash_completion/contrib')
28 files changed, 2094 insertions, 0 deletions
diff --git a/debian/bash_completion/contrib/bitkeeper b/debian/bash_completion/contrib/bitkeeper new file mode 100644 index 0000000..0e9adf8 --- /dev/null +++ b/debian/bash_completion/contrib/bitkeeper @@ -0,0 +1,21 @@ +# BitKeeper completion adapted from code by Bart Trojanowski <bart@jukie.net> +# +# $Id: bitkeeper,v 1.2 2002/06/12 22:03:23 ianmacd Exp $ +# + +_bk() { + local BKCMDS + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + BKCMDS="$( bk help topics | grep '^ bk' | cut -d ' ' -f 4 | \ + xargs echo )" + + COMPREPLY=( $( compgen -W "$BKCMDS" -- "$cur" ) ) + _filedir + + return 0 +} +complete -F _bk bk + diff --git a/debian/bash_completion/contrib/bittorrent b/debian/bash_completion/contrib/bittorrent new file mode 100644 index 0000000..539a3e0 --- /dev/null +++ b/debian/bash_completion/contrib/bittorrent @@ -0,0 +1,37 @@ +# btdownloadheadless(1) completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: bittorrent,v 1.1 2004/10/14 08:53:25 ianmacd Exp $ +# +_btdownload() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + --@(responsefile|saveas)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--max_uploads --keepalive_interval \ + --download_slice_size --request_backlog \ + --max_message_length --ip --minport --maxport \ + --responsefile --url --saveas --timeout \ + --timeout_check_interval --max_slice_length \ + --max_rate_period --bind --upload_rate_fudge \ + --display_interval --rerequest_interval \ + --min_peers --http_timeout --max_initiate \ + --max_allow_in --check_hashes \ + --max_upload_rate --snub_time --spew \ + --rarest_first_cutoff --min_uploads \ + --report_hash_failures' -- $cur ) ) + else + _filedir + fi +} +complete -F _btdownload btdownloadheadless.py btdownloadcurses.py btdownloadgui.py diff --git a/debian/bash_completion/contrib/cksfv b/debian/bash_completion/contrib/cksfv new file mode 100644 index 0000000..3163f66 --- /dev/null +++ b/debian/bash_completion/contrib/cksfv @@ -0,0 +1,29 @@ +# cksfv completion by Chris <xris@forevermore.net> +# +# $Id: cksfv,v 1.3 2004/03/30 22:39:11 ianmacd Exp $ + +_cksfv() +{ + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W '-C -f -i -q -v' -- $cur ) ) + return 0 + fi + + case "${COMP_WORDS[$COMP_CWORD-1]}" in + -C) + _filedir -d + return 0 + ;; + -f) + _filedir 'sfv' + return 0 + ;; + esac + + _filedir + return 0 +} +complete -F _cksfv cksfv diff --git a/debian/bash_completion/contrib/clisp b/debian/bash_completion/contrib/clisp new file mode 100644 index 0000000..6eb42a1 --- /dev/null +++ b/debian/bash_completion/contrib/clisp @@ -0,0 +1,25 @@ +# bash brogrammable completion for various Common Lisp implementations by +# Nikodemus Siivola <nikodemus@random-state.net> +# +# $Id: clisp,v 1.2 2004/03/30 23:05:45 ianmacd Exp $ + +_clisp() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + # completing an option (may or may not be separated by a space) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-h --help --version --license -B -K \ + -M -m -L -N -E -q --quiet --silent -w -I -ansi \ + -traditional -p -C -norc -i -c -l -o -x ' \ + -- $cur ) ) + else + _filedir + fi + + return 0 +} +complete -F _clisp -o default clisp diff --git a/debian/bash_completion/contrib/dsniff b/debian/bash_completion/contrib/dsniff new file mode 100644 index 0000000..09dc328 --- /dev/null +++ b/debian/bash_completion/contrib/dsniff @@ -0,0 +1,271 @@ +# dsniff util completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: dsniff,v 1.2 2003/12/31 08:22:37 ianmacd Exp $ + +# arpspoof(8) completion +# +_arpspoof() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + -t) + _known_hosts + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -t' -- $cur ) ) + else + _known_hosts + fi + +} +complete -F _arpspoof arpspoof + +# dnsspoof(8) completion +# +_dnsspoof() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + -f) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -f' -- $cur ) ) + fi + +} +complete -F _dnsspoof dnsspoof + +# dsniff(8) completion +# +_dsniff() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(r|w|f)) + _filedir + return 0 + ;; + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-c -d -m -n -i -s -f -t \ + -r -w' -- $cur ) ) + fi + +} +complete -F _dsniff dsniff + +# filesnarf(8), mailsnarf(8) and msgsnarf (8) completion +# +_snarf() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -v' -- $cur ) ) + fi + +} +complete -F _snarf filesnarf mailsnarf msgsnarf + +# macof(8) completion +# +_macof() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + esac + + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -s -d -e -x -y -n' -- $cur ) ) + fi + +} +complete -F _macof macof + +# sshmitm(8) completion +# +_sshmitm() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d -I -p' -- $cur ) ) + else + _known_hosts + fi + +} +complete -F _sshmitm sshmitm + +# sshow(8) completion +# +_sshow() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d -i' -- $cur ) ) + fi + +} +complete -F _sshow sshow + +# tcpkill(8) completion +# +_tcpkill() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-i -1 -2 -3 -4 -5 -6 -7 -8 -9' -- $cur ) ) + fi + +} +complete -F _tcpkill tcpkill + +# tcpnice(8) completion +# +_tcpnice() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-A -I -M -i' -- $cur ) ) + fi + +} +complete -F _tcpnice tcpnice + +# urlsnarf(8) completion +# +_urlsnarf() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -i) + _interfaces + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-n -i -v' -- $cur ) ) + fi + +} +complete -F _urlsnarf urlsnarf + +# webmitm(8) completion +# +_webmitm() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d' -- $cur ) ) + else + _known_hosts + fi + +} +complete -F _webmitm webmitm diff --git a/debian/bash_completion/contrib/freeciv b/debian/bash_completion/contrib/freeciv new file mode 100644 index 0000000..6f4b6c8 --- /dev/null +++ b/debian/bash_completion/contrib/freeciv @@ -0,0 +1,63 @@ +# civserver completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: freeciv,v 1.2 2003/12/31 08:22:37 ianmacd Exp $ + +_civserver() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(f|g|l|r|-file|-log|-gamelog|-read)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-d -f -g -h -i -l -m -M -p -q -r -v\ + --debug --file --gamelog --help --info --log --meta \ + --Metaserver --port --quitidle --read --version' \ + -- $cur ) ) + fi + +} +complete -F _civserver civserver + +# civclient completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +_civclient() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|S|t|-log|-Sound|-tiles)) + _filedir + return 0 + ;; + -@(P|-Plugin)) + COMPREPLY=( $( compgen -W 'none esd sdl' -- $cur ) ) + return 0 + ;; + -@(s|-server)) + _known_hosts + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a -d -h -l -m -n -p -P -s -S -t -v\ + --autoconnect --debug --help --log --meta --name \ + --port --Plugin --server --Sound --tiles --version' \ + -- $cur ) ) + fi + +} +complete -F _civclient civclient diff --git a/debian/bash_completion/contrib/gcl b/debian/bash_completion/contrib/gcl new file mode 100644 index 0000000..9e1b011 --- /dev/null +++ b/debian/bash_completion/contrib/gcl @@ -0,0 +1,24 @@ +# bash programmable completion for various Common Lisp implementations by +# Nikodemus Siivola <nikodemus@random-state.net> +# +# $Id: gcl,v 1.2 2004/03/30 23:05:45 ianmacd Exp $ + +_gcl() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + # completing an option (may or may not be separated by a space) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-eval -load -f -batch -dir -libdir \ + -compile -o-file -c-file -h-file -data-file -system-p '\ + -- $cur ) ) + else + _filedir + fi + + return 0 +} +complete -F _gcl -o default gcl diff --git a/debian/bash_completion/contrib/gkrellm b/debian/bash_completion/contrib/gkrellm new file mode 100644 index 0000000..1fe2d01 --- /dev/null +++ b/debian/bash_completion/contrib/gkrellm @@ -0,0 +1,36 @@ +# gkrellm(1) completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: gkrellm,v 1.2 2003/12/31 08:22:37 ianmacd Exp $ + +_gkrellm() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(t|-theme)) + _filedir -d + return 0 + ;; + -@(p|-plugin)) + _filedir 'so' + return 0 + ;; + -@(s|-server)) + _known_hosts + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--help -t --theme -s --server \ + -g --geometry -wm -w --withdrawn -c --config -nc \ + -f --force-host-config -demo -p --plugin -P \ + --port' -- $cur ) ) + fi + +} +complete -F _gkrellm gkrellm diff --git a/debian/bash_completion/contrib/gnatmake b/debian/bash_completion/contrib/gnatmake new file mode 100644 index 0000000..cadf360 --- /dev/null +++ b/debian/bash_completion/contrib/gnatmake @@ -0,0 +1,31 @@ +# Gnatmake completion by Ralf_Schroth@t-online.de (Ralf Schroth) +# +# $Id: gnatmake,v 1.1 2002/08/19 16:57:44 ianmacd Exp $ +# +_gnatmake() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + # relevant (and less relevant ;-) )options completion + COMPREPLY=( $( compgen -W '-a -c -f -i -j -k -m -M -n -o \ + -q -s -v -z -aL -A -aO -aI -I -I- -L -nostdinc \ + -nostdlib -cargs -bargs -largs -fstack-check \ + -fno-inline -g -O1 -O0 -O2 -O3 -gnata -gnatA \ + -gnatb -gnatc -gnatd -gnatD -gnate -gnatE \ + -gnatf -gnatF -gnatg -gnatG -gnath -gnati \ + -gnatk -gnatl -gnatL -gnatm -gnatn -gnato \ + -gnatO -gnatp -gnatP -gnatq -gnatR -gnats \ + -gnatt -gnatT -gnatu -gnatU -gnatv -gnatws \ + -gnatwe -gnatwl -gnatwu -gnatW -gnatx -gnatX \ + -gnaty -gnatz -gnatZ -gnat83' -- $cur ) ) + else + # source file completion + _filedir '@(adb|ads)' + + fi +} +complete -F _gnatmake -o filenames gnatmake diff --git a/debian/bash_completion/contrib/harbour b/debian/bash_completion/contrib/harbour new file mode 100644 index 0000000..ccb0b83 --- /dev/null +++ b/debian/bash_completion/contrib/harbour @@ -0,0 +1,8 @@ +# harbour completion by Dave Pearson <davep@davep.org> +# http://www.harbour-project.org/ +# +# $Id: harbour,v 1.3 2003/12/31 08:22:37 ianmacd Exp $ + +complete -f -X '!*.@([Pp][Rr][Gg]|[Cc][Ll][Pp])' harbour gharbour hbpp +complete -f -X '!*.[Hh][Rr][Bb]' hbrun + diff --git a/debian/bash_completion/contrib/hg b/debian/bash_completion/contrib/hg new file mode 100644 index 0000000..a5d9262 --- /dev/null +++ b/debian/bash_completion/contrib/hg @@ -0,0 +1,134 @@ +# Mercurial completion by Alexis S. L. Carvalho <alexis@cecm.usp.br> +# +# See: http://www.selenic.com/pipermail/mercurial/2005-August/003378.html +# +# $Id: hg,v 1.1 2006/02/26 00:25:41 ianmacd Exp $ +# +_hg_commands() +{ + local commands="$(hg -v help | sed -e '1,/^list of commands:/d' \ + -e '/^global options:/Q' \ + -e '/^ [^ ]/!d; s/[,:]//g;')" + + # hide debug commands from users, but complete them if + # specifically asked for + if [[ "$cur" == de* ]]; then + commands="$commands debugcheckstate debugstate debugindex" + commands="$commands debugindexdot debugwalk" + fi + COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$commands" -- "$cur") ) +} + +_hg_paths() +{ + local paths="$(hg paths | sed -e 's/ = .*$//')" + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -W "$paths" -- "$cur" )) +} + +_hg_tags() +{ + local tags="$(hg tags | sed -e 's/[0-9]*:[a-f0-9]\{40\}$//; s/ *$//')" + COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$tags" -- "$cur") ) +} + +# this is "kind of" ugly... +_hg_count_non_option() +{ + local i count=0 + local filters="$1" + + for (( i=1; $i<=$COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" != -* ]]; then + for f in $filters; do + if [[ ${COMP_WORDS[i-1]} == $f ]]; then + continue 2 + fi + done + count=$(($count + 1)) + fi + done + + echo $(($count - 1)) +} + +_hg() +{ + local cur prev cmd opts i + + COMPREPLY=() + cur="$2" + prev="$3" + + # searching for the command + # (first non-option argument that doesn't follow -R/--repository) + for (( i=1; $i<=$COMP_CWORD; i++ )); do + if [[ ${COMP_WORDS[i]} != -* ]] \ + && [ "${COMP_WORDS[i-1]}" != -R ] \ + && [ "${COMP_WORDS[i-1]}" != --repository ]; then + cmd="${COMP_WORDS[i]}" + break + fi + done + + if [[ "$cur" == -* ]]; then + opts="$(hg -v help | sed -e '1,/^global options/d; /^ -/!d')" + + if [ -n "$cmd" ]; then + opts="$opts $(hg help "$cmd" | sed -e '/^ -/!d; s/ [^-][^ ]*//')" + fi + + COMPREPLY=( ${COMPREPLY[@]:-} $(compgen -W "$opts" -- "$cur") ) + return + fi + + if [ "$prev" = -R ] || [ "$prev" = --repository ]; then + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" )) + return + fi + + if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then + _hg_commands + return + fi + + if [ "$cmd" != status ] && [ "$prev" = -r ] || [ "$prev" = --rev ]; then + _hg_tags + return + fi + + case "$cmd" in + help) + _hg_commands + ;; + export|manifest|update|checkout|up|co) + _hg_tags + ;; + pull|push) + _hg_paths + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" )) + ;; + paths) + _hg_paths + ;; + clone) + local count=$(_hg_count_non_option) + if [ $count = 1 ]; then + _hg_paths + fi + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -d -- "$cur" )) + ;; + cat) + local count=$(_hg_count_non_option -o --output) + if [ $count = 2 ]; then + _hg_tags + else + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" )) + fi + ;; + *) + COMPREPLY=(${COMPREPLY[@]:-} $( compgen -f -- "$cur" )) + ;; + esac + +} +complete -o filenames -F _hg hg diff --git a/debian/bash_completion/contrib/isql b/debian/bash_completion/contrib/isql new file mode 100644 index 0000000..d4c21ab --- /dev/null +++ b/debian/bash_completion/contrib/isql @@ -0,0 +1,12 @@ +# isql completion by Victor Bogado da Silva Lins <victor@bogado.net> +# +# $Id: isql,v 1.2 2003/12/31 08:22:37 ianmacd Exp $ + +_isql() +{ + local cur + cur=${COMP_WORDS[COMP_CWORD]} + + COMPREPLY=( $( grep \\[$cur $ODBCINI | tr -d \\[\\] ) ) +} +complete -F _isql isql diff --git a/debian/bash_completion/contrib/larch b/debian/bash_completion/contrib/larch new file mode 100644 index 0000000..60ab6e9 --- /dev/null +++ b/debian/bash_completion/contrib/larch @@ -0,0 +1,38 @@ +# larch(1) completion by Alex Shinn <foof@synthcode.com> +# +# $Id: larch,v 1.2 2003/12/31 08:22:37 ianmacd Exp $ + +_larch() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + if [ $COMP_CWORD -eq 1 ] || [[ "$prev" == -* ]]; then + COMPREPLY=( $( compgen -W ' \ +my-id my-default-archive register-archive whereis-archive archives \ +init-tree tree-root tree-version set-tree-version inventory tagging-method \ +tree-lint missing-tags add delete move explicit-default set-manifest \ +manifest check-manifest mkpatch dopatch patch-report empty-patch \ +make-archive make-category make-branch make-version categories \ +branches versions revisions cat-archive-log archive-cache-revision \ +archive-cached-revisions archive-uncache-revision category-readme \ +branch-readme version-readme make-log logs add-log log-ls cat-log \ +log-header-field changelog log-for-merge merge-points new-on-branch \ +import commit get get-patch lock-branch lock-revision push-mirror \ +build-config update-config replay-config record-config show-config \ +config-history update replay delta-patch star-merge tag prepare-branch \ +finish-branch join-branch whats-missing what-changed file-diffs pristines \ +lock-pristine my-revision-library library-find library-add library-remove \ +library-archives library-categories library-branches library-versions \ +library-revisions library-log library-file touched-files-prereqs \ +patch-set-web update-distributions distribution-name notify my-notifier \ +mail-new-categories mail-new-branches mail-new-versions mail-new-revisions \ +notify-library notify-browser push-new-revisions sendmail-mailx' $cur )) + fi + + return 0 +} +complete -F _larch -o default larch diff --git a/debian/bash_completion/contrib/lilypond b/debian/bash_completion/contrib/lilypond new file mode 100644 index 0000000..0e71904 --- /dev/null +++ b/debian/bash_completion/contrib/lilypond @@ -0,0 +1,5 @@ +# lilypond completion by Laurent Martelli <laurent@bearteam.org> +# +# $Id: lilypond,v 1.2 2003/12/31 08:22:37 ianmacd Exp $ + +complete -f -X '!*.ly' lilypond ly2dvi diff --git a/debian/bash_completion/contrib/lisp b/debian/bash_completion/contrib/lisp new file mode 100644 index 0000000..f1afe8d --- /dev/null +++ b/debian/bash_completion/contrib/lisp @@ -0,0 +1,25 @@ +# bash programmable completion for various Common Lisp implementations by +# Nikodemus Siivola <nikodemus@random-state.net> +# +# $Id: lisp,v 1.2 2004/03/30 23:05:45 ianmacd Exp $ + +_lisp() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + # completing an option (may or may not be separated by a space) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-core -lib -batch -quit -edit -eval -init \ + -dynamic-space-size -hinit -noinit -nositeinit -load \ + -slave ' \ + -- $cur ) ) + else + _filedir + fi + + return 0 +} +complete -F _lisp -o default lisp diff --git a/debian/bash_completion/contrib/mailman b/debian/bash_completion/contrib/mailman new file mode 100644 index 0000000..0d92a01 --- /dev/null +++ b/debian/bash_completion/contrib/mailman @@ -0,0 +1,532 @@ +# Mailman completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: mailman,v 1.1 2004/03/30 23:05:34 ianmacd Exp $ +# +_mailman_lists() +{ + COMPREPLY=( $( list_lists -b | grep "^$cur") ) +} + +_add_members() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(r|d|-regular-members-file=|-digest-members-file=)) + _filedir + return 0 + ;; + -@(w|a|-welcome-msg=|-admin-notify=)) + COMPREPLY=( $( compgen -W 'y n' -- $cur) ) + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--regular-members-file= -r \ + --digest-members-file= -d --welcome-msg= -w \ + --admin-notify= -a --help -h' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _add_members add_members + +_remove_members() +{ + + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(f|-file=)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--file= -f --all -a \ + --fromall --nouserack -n --noadminack -N \ + --help -h' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _remove_members remove_members + +_find_member() +{ + + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|x|-listname=|-exclude=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --listname= -x \ + --exclude= --owners -w --help -h' -- $cur ) ) + fi + +} +complete -F _find_member find_member + +_clone_member() +{ + + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|-listname=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --listname= --remove -r \ + --admin -a --quiet -q --nomodify -n --help -h' -- $cur ) ) + fi + +} +complete -F _clone_member clone_member + +_sync_members() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(w|g|d|--welcome-msg=|-goodbye-msg|-digest=)) + COMPREPLY=( $( compgen -W 'y n' -- $cur) ) + return 0 + ;; + -@(d|-file)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--no-change -n --welcome-msg= -w \ + --goodbye-msg= -g --digest= -d --notifyadmin= -a \ + -f --file -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _sync_members sync_members + +_list_lists() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a --advertised \ + --virtual-host-overview= -V -b --bare \ + -h --help' -- $cur ) ) + fi + +} +complete -F _list_lists list_lists + +_unshunt() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-h --help' -- $cur ) ) + else + _filedir -d + fi + +} +complete -F _unshunt unshunt + +_list_admins() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--all-vhost= -v \ + --all -a -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _list_admins list_admins + +_list_owners() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-w --with-listnames \ + -m --moderators -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _list_owners list_owners + +_list_members() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(o|-output)) + _filedir + return 0 + ;; + -@(d|-digest=)) + COMPREPLY=( $( compgen -W 'mime plain' -- $cur) ) + return 0 + ;; + -@(n|-nomail=)) + COMPREPLY=( $( compgen -W 'byadmin byuser bybounce unknown' -- $cur) ) + return 0 + ;; + esac + + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--output -o --regular -r \ + --digest= -d --nomail= -n --fullnames -f \ + --preserve -p -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _list_members list_members + +_change_pw() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|-listname=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-a --all --domain= -d --listname= -l \ + --password= -p --quiet -q -h --help' -- $cur ) ) + fi + +} +complete -F _change_pw change_pw + +_withlist() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --lock -i --interactive \ + -r --run -a --all -q --quiet -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _withlist withlist + +_newlist() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --language -q --quiet -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _newlist newlist + +_rmlist() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--archives -a \ + -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _rmlist rmlist + +_config_list() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(i|o|-inputfile|-outputfile)) + _filedir + return 0 + ;; + esac + + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--inputfile -i --outputfile -o \ + --checkonly -c --verbose -v -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _config_list $filenames config_list + +_arch() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(w|g|d|--welcome-msg=|-goodbye-msg|-digest=)) + COMPREPLY=( $( compgen -W 'y n' -- $cur) ) + return 0 + ;; + -@(d|-file)) + _filedir + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--wipe -s --start= -e --end= \ + -q --quiet -h --help' -- $cur ) ) + else + args=$COMP_CWORD + for (( i=1; i < COMP_CWORD; i++ )); do + if [[ "${COMP_WORDS[i]}" == -* ]]; then + args=$(($args-1)) + fi + done + case $args in + 1) + _mailman_lists + ;; + 2) + _filedir + ;; + esac + fi + +} +complete -F _arch $filenames arch + +_cleanarch() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-s --status -n --dry-run \ + -q --quiet -h --help' -- $cur ) ) + fi + +} +complete -F _cleanarch cleanarch + +_inject() +{ + local cur prev + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(l|-listname=)) + _mailman_lists + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-l --listname= -q --queue= \ + -h --help' -- $cur ) ) + else + _filedir + fi + +} +complete -F _inject $filenames inject + +_dumpdb() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--marshal -m --pickle -p --noprint -n -h --help' -- $cur ) ) + else + _filedir + fi + +} +complete -F _dumpdb $filenames dumpdb + +_check_db() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--all -a --verbose -v \ + -h --help' -- $cur ) ) + else + _mailman_lists + fi + +} +complete -F _check_db check_db + +_check_perms() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-f -v -h' -- $cur ) ) + fi + +} +complete -F _check_perms check_perms + +_genaliases() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-q --quiet -h --help' -- $cur ) ) + fi + +} +complete -F _genaliases genaliases + +_mmsitepass() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-c --listcreator -h --help' -- $cur ) ) + fi + +} +complete -F _mmsitepass mmsitepass + +_qrunner() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-r --runner= --once -o \ + -l --list -v --verbose -s --subproc -h --help' -- $cur ) ) + fi + +} +complete -F _qrunner qrunner + +_mailmanctl() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-n --no-restart -u --run-as-user \ + -s --stale-lock-cleanup --quiet -q -h --help' -- $cur ) ) + else + COMPREPLY=( $( compgen -W 'start stop restart reopen' -- $cur ) ) + fi + +} +complete -F _mailmanctl mailmanctl diff --git a/debian/bash_completion/contrib/mcrypt b/debian/bash_completion/contrib/mcrypt new file mode 100644 index 0000000..8b4e1db --- /dev/null +++ b/debian/bash_completion/contrib/mcrypt @@ -0,0 +1,79 @@ +# mcrypt(1) completion by Ariel Fermani <the_end@bbs.frc.utn.edu.ar> +# +# $Id: mcrypt,v 1.2 2003/12/31 08:22:37 ianmacd Exp $ + +_mcrypt() +{ + local cur prev i decrypt + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + case "$prev" in + -@(g|-openpgp-z)) + COMPREPLY=( $( compgen -W '0 1 2 3 4 5 6 7 8 9' \ + -- $cur ) ) + return 0 + ;; + -@(o|-keymode)) + COMPREPLY=( $( mcrypt --list-keymodes 2> /dev/null | + grep "^$cur" ) ) + return 0 + ;; + -@(m|-mode)) + COMPREPLY=( $( mcrypt --list 2> /dev/null | + sed -e 's/.*: //' -e 's/ $//' | sort | + uniq | tr " " "\n" | grep "^$cur" ) ) + return 0 + ;; + -@(a|-algorithm)) + COMPREPLY=( $( mcrypt --list 2> /dev/null | + awk '{print $1}' | grep "^$cur" ) ) + return 0 + ;; + -@(h|-hash)) + COMPREPLY=( $( mcrypt --list-hash 2> /dev/null | + sed 1d | grep "^$cur" ) ) + return 0 + ;; + -@(k|s|-@(key?(size)))) + return 0 + ;; + -@(f|c|-@(keyfile|config))) + _filedir + return 0 + ;; + --@(algorithm|mode)s-directory) + _filedir -d + return 0 + ;; + esac + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '-g --openpgp --openpgp-z -d \ + --decrypt -s --keysize -o --keymode -f --keyfile \ + -c --config -a --algorithm --algorithms-directory \ + -m --mode --modes-directory -h --hash -k --key \ + --noiv -b --bare -z --gzip -p --bzip2 --flush -l \ + --doublecheck -u --unlink --nodelete -t --time -F \ + --force --echo -r --random --list --list-keymodes \ + --list-hash -V --verbose -q --quiet --help -v \ + --version -L --license' -- $cur ) ) + elif [[ ${COMP_WORDS[0]} == mdecrypt ]]; then + _filedir '@(nc)' + else + decrypt=0 + for (( i=1; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == -@(d|-decrypt) ]]; then + _filedir '@(nc)' + decrypt=1 + break + fi + done + if [[ $decrypt -eq 0 ]]; then + _filedir + fi + fi +} +complete -o filenames -F _mcrypt mcrypt mdecrypt diff --git a/debian/bash_completion/contrib/modules b/debian/bash_completion/contrib/modules new file mode 100644 index 0000000..8b180b1 --- /dev/null +++ b/debian/bash_completion/contrib/modules @@ -0,0 +1,87 @@ +# module completion by Ted Stern <stern@cray.com> +# +# $Id: modules,v 1.2 2005/07/11 17:49:14 ianmacd Exp $ +# +# Completion for Environment Modules `module' alias. +# +# See http://sourceforge.net/projects/modules/ +# http://modules.sourceforge.net/ +# +# There are several versions of modules that are commonly used. Older +# Cray UNICOS systems and many other sites use 2.2.2b. The latest GPL'd +# version is 3.1.6. But the module alias is somewhat self-documenting +# via the `module help' command, so use that to print the options. +# +# Programmable completion might be more difficult under tcsh since the +# module command is an alias, and the `module avail' command returns +# its output as stderr. +# +type module &>/dev/null && { + +_module_list () +{ + local modules="$( echo $LOADEDMODULES | sed 's/:/ /g' | sort )" + compgen -W "$modules" -- $1 +} + +_module_path () +{ + local modules="$( echo $MODULEPATH | sed 's/:/ /g' | sort )" + compgen -W "$modules" -- $1 +} + +_module_avail () +{ + local modules="$( \ + module avail 2>&1 | \ + egrep -v '^(-|$)' | \ + xargs printf '%s\n' | sort )" + + compgen -W "$modules" -- $1 +} + +# A completion function for the module alias +_module () { + local cur prev options + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + if [ $COMP_CWORD -eq 1 ] ; then + # First parameter on line -- we expect it to be a mode selection + + options="$( module help 2>&1 | egrep '^[[:space:]]*\+' | \ + awk '{print $2}' | sed -e 's/|/ /g' | sort )" + + COMPREPLY=( $(compgen -W "$options" -- $cur) ) + + elif [ $COMP_CWORD -eq 2 ] ; then + + case "$prev" in + @(add|display|help|load|show|whatis)) + COMPREPLY=( $(_module_avail $cur) ) + ;; + + @(rm|switch|swap|unload|update)) + COMPREPLY=( $(_module_list $cur) ) + ;; + unuse) + COMPREPLY=( $(_module_path $cur) ) + ;; + esac + elif [ $COMP_CWORD -eq 3 ] ; then + case ${COMP_WORDS[1]} in + @(sw?(ap|itch))) + COMPREPLY=( $(_module_avail $cur) ) + ;; + esac + fi + return 0 +} +complete -o default -F _module module +} +# Local Variables: +# mode:shell-script +# sh-shell:bash +# End: diff --git a/debian/bash_completion/contrib/mtx b/debian/bash_completion/contrib/mtx new file mode 100644 index 0000000..22b855d --- /dev/null +++ b/debian/bash_completion/contrib/mtx @@ -0,0 +1,45 @@ +# mtx completion by Jon Middleton <jjm@ixtab.org.uk> +# +# $Id: mtx,v 1.1 2004/01/01 00:54:41 ianmacd Exp $ + +_mtx() +{ + local cur prev options tapes drives + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + options="-f nobarcode invert noattach --version inquiry noattach \ + inventory status load unload eepos first last next" + + tapes=$(mtx status | \ + awk '/Storage Element [0-9]+:Full/ { printf "%s ", $3 }') + tapes=${tapes//:Full} + + drives=$(mtx status | \ + awk '/Data Transfer Element [0-9]+:(Full|Empty)/ { printf "%s ", $4 }') + drives=${drives//:Full} + drives=${drives//:Empty} + + if [ $COMP_CWORD -gt 1 ]; then + case $prev in + load) + COMPREPLY=( $( compgen -W "$tapes" -- $cur ) ) + ;; + unload|first|last|next) + COMPREPLY=( $( compgen -W "$drives" -- $cur ) ) + ;; + -f) + true + ;; + *) + true + ;; + esac + else + COMPREPLY=( $( compgen -W "$options" -- $cur ) ) + fi + return 0 +} +complete -F _mtx mtx diff --git a/debian/bash_completion/contrib/p4 b/debian/bash_completion/contrib/p4 new file mode 100644 index 0000000..d561722 --- /dev/null +++ b/debian/bash_completion/contrib/p4 @@ -0,0 +1,54 @@ +# Perforce completion by Frank Cusack <frank@google.com> +# +# $Id: p4,v 1.3 2003/12/31 08:22:37 ianmacd Exp $ + +_p4() +{ + local cur prev prev2 p4commands p4filetypes + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + # rename isn't really a command + p4commands="$( p4 help commands | awk 'NF>3 {print $1}' )" + p4filetypes="ctext cxtext ktext kxtext ltext tempobj ubinary \ + uresource uxbinary xbinary xltext xtempobj xtext \ + text binary resource" + + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W "$p4commands" -- $cur ) ) + elif [ $COMP_CWORD -eq 2 ]; then + case "$prev" in + help) + COMPREPLY=( $( compgen -W "simple commands \ + environment filetypes jobview revisions \ + usage views $p4commands" -- $cur ) ) + ;; + admin) + COMPREPLY=( $( compgen -W "checkpoint stop" -- $cur ) ) + ;; + *) + ;; + esac + elif [ $COMP_CWORD -gt 2 ]; then + prev2=${COMP_WORDS[COMP_CWORD-2]} + case "$prev" in + -t) + case "$prev2" in + add|edit|reopen) + COMPREPLY=( $( compgen -W "$p4filetypes" \ + -- $cur) ) + ;; + *) + ;; + esac + ;; + *) + ;; + esac + fi + + return 0 +} +complete -F _p4 -o default p4 g4 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 diff --git a/debian/bash_completion/contrib/ri b/debian/bash_completion/contrib/ri new file mode 100644 index 0000000..bbb1f3f --- /dev/null +++ b/debian/bash_completion/contrib/ri @@ -0,0 +1,88 @@ +# ri completion for Ruby documentation by Ian Macdonald <ian@caliban.org> +# +# $Id: ri,v 1.8 2006/02/25 14:25:59 ianmacd Exp $ +# +ri_get_methods() +{ + local regex + + if [ "$ri_version" = integrated ]; then + if [ -z "$separator" ]; then + regex="(Instance|Class)" + elif [ "$separator" = "#" ]; then + regex=Instance + else + regex=Class + fi + + COMPREPLY=( ${COMPREPLY[@]} \ + "$( ri ${classes[@]} 2>/dev/null | \ + ruby -ane 'if /^'"$regex"' methods:/.../^------------------|^$/ and \ + /^ / then print $_.split(/, |,$/).grep(/^[^\[]*$/).join("\n"); \ + end' | sort -u )" ) + else + # older versions of ri didn't distinguish between class/module and + # instance methods + COMPREPLY=( ${COMPREPLY[@]} \ + "$( ruby -W0 $ri_path ${classes[@]} | ruby -ane 'if /^-/.../^-/ and \ + ! /^-/ and ! /^ +(class|module): / then \ + print $_.split(/, |,$| +/).grep(/^[^\[]*$/).join("\n"); \ + end' | sort -u )" ) + fi + COMPREPLY=( $( compgen $prefix -W '${COMPREPLY[@]}' -- $method ) ) +} + +# needs at least Ruby 1.8.0 in order to use -W0 +_ri() +{ + local cur class method prefix ri_path ri_version separator IFS + local -a classes + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + ri_path=$(type -p ri) + # which version of ri are we using? + # -W0 is required here to stop warnings from older versions of ri + # from being captured when used with Ruby 1.8.1 and later + ri_version="$(ruby -W0 $ri_path -v 2>&1)" || ri_version=integrated + [ "$ri_version" != "${ri_version%200*}" ] && ri_version=integrated + + # need to also split on commas + IFS=$', \n\t' + if [[ "$cur" == [A-Z]*[#.]* ]]; then + [[ "$cur" == *#* ]] && separator=# || separator=. + # we're completing on class and method + class=${cur%$separator*} + method=${cur#*$separator} + classes=( $class ) + prefix="-P $class$separator" + ri_get_methods + return 0 + fi + + if [ "$ri_version" = integrated ]; then + # integrated ri from Ruby 1.9 + classes=( $( ri -c | ruby -ne 'if /^\s*$/..$stdin.eof then \ + if /, [A-Z]+/ then print; end; end' ) ) + elif [ "$ri_version" = "ri 1.8a" ]; then + classes=( $( ruby -W0 $ri_path | \ + ruby -ne 'if /^'"'"'ri'"'"' has/..$stdin.eof then \ + if /^ .*[A-Z]/ then print; end; end' )) + else + classes=( $( ruby -W0 $ri_path | \ + ruby -ne 'if /^I have/..$stdin.eof then \ + if /^ .*[A-Z]/ then print; end; end' )) + fi + + COMPREPLY=( $( compgen -W '${classes[@]}' -- $cur ) ) + if [[ "$cur" == [A-Z]* ]]; then + # we're completing on class or module alone + return 0 + fi + + # we're completing on methods + method=$cur + ri_get_methods +} +complete -F _ri ri diff --git a/debian/bash_completion/contrib/sbcl b/debian/bash_completion/contrib/sbcl new file mode 100644 index 0000000..51ecddd --- /dev/null +++ b/debian/bash_completion/contrib/sbcl @@ -0,0 +1,24 @@ +# bash programmable completion for various Common Lisp implementations by +# Nikodemus Siivola <nikodemus@random-state.net> +# +# $Id: sbcl,v 1.2 2004/03/30 23:05:45 ianmacd Exp $ + +_sbcl() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + # completing an option (may or may not be separated by a space) + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--core --noinform --help --version \ + --sysinit --userinit --eval --noprint --disable-debugger \ + --end-runtime-options --end-toplevel-options ' -- $cur ) ) + else + _filedir + fi + + return 0 +} +complete -F _sbcl -o default sbcl sbcl-mt diff --git a/debian/bash_completion/contrib/sitecopy b/debian/bash_completion/contrib/sitecopy new file mode 100644 index 0000000..09a49f5 --- /dev/null +++ b/debian/bash_completion/contrib/sitecopy @@ -0,0 +1,30 @@ +# sitecopy(1) completion +# Copyright 2003 Eelco Lempsink <eelcolempsink@gmx.net> +# License: GNU GPL v2 or later +# +# $Id: sitecopy,v 1.3 2005/01/03 02:44:22 ianmacd Exp $ + +_sitecopy() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + case "$cur" in + --*) + COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '--\w' | awk '{sub (/=(FILE|PATH)/, "", $2); print $2}')" -- $cur ) ) + ;; + -*) + COMPREPLY=( $( compgen -W "$(sitecopy -h | grep -e '-\w' | awk '{sub (",", "", $1); print $1}')" -- $cur ) ) + ;; + *) + if [ -r ~/.sitecopyrc ]; then + COMPREPLY=( $( compgen -W "$(grep '^["$'\t '"]*site' ~/.sitecopyrc | awk '{print $2}')" -- $cur ) ) + fi + ;; + esac + + return 0 +} +complete -F _sitecopy -o default sitecopy diff --git a/debian/bash_completion/contrib/snownews b/debian/bash_completion/contrib/snownews new file mode 100644 index 0000000..8a1d1f4 --- /dev/null +++ b/debian/bash_completion/contrib/snownews @@ -0,0 +1,18 @@ +# snownews completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: snownews,v 1.2 2005/01/03 03:00:44 ianmacd Exp $ + +_snownews() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + if [[ "$cur" == -* ]]; then + # return list of available options + COMPREPLY=( $( compgen -W '--update --help --version \ + --disable-versioncheck -u -h -V' -- $cur)) + fi +} +complete -F _snownews snownews 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 diff --git a/debian/bash_completion/contrib/unace b/debian/bash_completion/contrib/unace new file mode 100644 index 0000000..59f0ca2 --- /dev/null +++ b/debian/bash_completion/contrib/unace @@ -0,0 +1,28 @@ +# unace(1) completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: unace,v 1.3 2003/12/31 08:22:37 ianmacd Exp $ + +_unace() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + case "$cur" in + -*) + COMPREPLY=( $( compgen -W '-c -c- -f -f- -o -o- -p -y -y-' -- $cur ) ) + ;; + *) + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W 'e l t v x' -- $cur ) ) + else + _filedir '@(ace|ACE)' + fi + ;; + esac + + return 0 + +} +complete -F _unace -o filenames unace diff --git a/debian/bash_completion/contrib/unrar b/debian/bash_completion/contrib/unrar new file mode 100644 index 0000000..b47f1d3 --- /dev/null +++ b/debian/bash_completion/contrib/unrar @@ -0,0 +1,30 @@ +# unrar(1) completion by Guillaume Rousse <rousse@ccr.jussieu.fr> +# +# $Id: unrar,v 1.4 2004/07/05 23:37:47 ianmacd Exp $ + +_unrar() +{ + local cur + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + + case "$cur" in + -*) + COMPREPLY=( $( compgen -W '-ad -ap -av- -c- -cfg- -cl -cu \ + -dh -ep -f -idp -ierr -inul -kb -o+ -o- -ow -p -p- -r -ta \ + -tb -tn -to -u -v -ver -vp -x -x@ -y' -- $cur ) ) + ;; + *) + if [ $COMP_CWORD -eq 1 ]; then + COMPREPLY=( $( compgen -W 'e l lb lt p t v vb vt x' -- $cur ) ) + else + _filedir '@(rar|RAR)' + fi + ;; + esac + + return 0 + +} +complete -F _unrar -o filenames unrar |