From b14fdb74b3b7fd7a707bc2afea55c10ea521d4f0 Mon Sep 17 00:00:00 2001 From: David Paleino Date: Fri, 5 Jun 2009 08:26:19 +0200 Subject: [PATCH] Split dict completion to contrib/dict --- CHANGES | 1 + Makefile.am | 1 + bash_completion | 71 ------------------------------------------------- contrib/dict | 70 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 72 insertions(+), 71 deletions(-) create mode 100644 contrib/dict diff --git a/CHANGES b/CHANGES index d8000689..bfc6e961 100644 --- a/CHANGES +++ b/CHANGES @@ -15,6 +15,7 @@ bash-completion (1.x) (Debian: #501479, Alioth: #311393) * Split mutt completion to contrib/mutt * Split iconv completion to contrib/iconv + * Split dict completion to contrib/dict [ Ville Skyttä ] * Split yum and yum-arch completion into contrib/yum. diff --git a/Makefile.am b/Makefile.am index 53a13bbd..426ff8f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,6 +20,7 @@ bashcomp_DATA = contrib/ant \ contrib/dcop \ contrib/dd \ contrib/dhclient \ + contrib/dict \ contrib/dsniff \ contrib/findutils \ contrib/freeciv \ diff --git a/bash_completion b/bash_completion index c0143ea5..0a27ee77 100644 --- a/bash_completion +++ b/bash_completion @@ -3204,77 +3204,6 @@ _ypmatch() } && complete -F _ypmatch ypmatch ypcat -# dict(1) completion -# -{ have dict || have rdict; } && { -_dictdata() -{ - dict $host $port $1 2>/dev/null | sed -ne \ - 's/^['$'\t '']['$'\t '']*\([^'$'\t '']*\).*$/\1/p' -} - -_dict() -{ - local cur prev host port db dictfile - - COMPREPLY=() - cur=`_get_cword` - prev=${COMP_WORDS[COMP_CWORD-1]} - dictfile=/usr/share/dict/words - - for (( i=1; i < COMP_CWORD; i++ )); do - case "${COMP_WORDS[i]}" in - -@(h|--host)) - host=${COMP_WORDS[i+1]} - [ -n "$host" ] && host="-h $host" - i=$((++i)) - ;; - -@(p|-port)) - port=${COMP_WORDS[i+1]} - [ -n "$port" ] && port="-p $port" - i=$((++i)) - ;; - -@(d|-database)) - db=${COMP_WORDS[i+1]} - [ -n "$db" ] && host="-d $db" - i=$((++i)) - ;; - *) - ;; - esac - done - - if [[ "$cur" = -* ]]; then - COMPREPLY=( $( compgen -W '-h --host -p --port -d --database \ - -m --match -s --strategy -c --config -C \ - --nocorrect -D --dbs -S --strats -H \ - --serverhelp -i --info -I --serverinfo \ - -a --noauth -u --user -k --key -V --version \ - -L --license --help -v --verbose -r --raw \ - -P --pager --debug --html --pipesize --client' \ - -- "$cur" ) ) - return 0 - fi - - case "$prev" in - -@(d|-database|i|info)) - COMPREPLY=( $( compgen -W '$( _dictdata -D )' -- "$cur" ) ) - return 0 - ;; - -@(s|-strategy)) - COMPREPLY=( $( compgen -W '$( _dictdata -S )' -- "$cur" ) ) - return 0 - ;; - *) - ;; - esac - - [ -r $dictfile ] && \ - COMPREPLY=( $( compgen -W '$( cat $dictfile )' -- "$cur" ) ) -} -complete -F _dict $default dict rdict -} - # CUPS cancel(1) completion # have cancel && diff --git a/contrib/dict b/contrib/dict new file mode 100644 index 00000000..5d643bbb --- /dev/null +++ b/contrib/dict @@ -0,0 +1,70 @@ +# dict(1) completion +# +{ have dict || have rdict; } && { +_dictdata() +{ + dict $host $port $1 2>/dev/null | sed -ne \ + 's/^['$'\t '']['$'\t '']*\([^'$'\t '']*\).*$/\1/p' +} + +_dict() +{ + local cur prev host port db dictfile + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + dictfile=/usr/share/dict/words + + for (( i=1; i < COMP_CWORD; i++ )); do + case "${COMP_WORDS[i]}" in + -@(h|--host)) + host=${COMP_WORDS[i+1]} + [ -n "$host" ] && host="-h $host" + i=$((++i)) + ;; + -@(p|-port)) + port=${COMP_WORDS[i+1]} + [ -n "$port" ] && port="-p $port" + i=$((++i)) + ;; + -@(d|-database)) + db=${COMP_WORDS[i+1]} + [ -n "$db" ] && host="-d $db" + i=$((++i)) + ;; + *) + ;; + esac + done + + if [[ "$cur" = -* ]]; then + COMPREPLY=( $( compgen -W '-h --host -p --port -d --database \ + -m --match -s --strategy -c --config -C \ + --nocorrect -D --dbs -S --strats -H \ + --serverhelp -i --info -I --serverinfo \ + -a --noauth -u --user -k --key -V --version \ + -L --license --help -v --verbose -r --raw \ + -P --pager --debug --html --pipesize --client' \ + -- "$cur" ) ) + return 0 + fi + + case "$prev" in + -@(d|-database|i|info)) + COMPREPLY=( $( compgen -W '$( _dictdata -D )' -- "$cur" ) ) + return 0 + ;; + -@(s|-strategy)) + COMPREPLY=( $( compgen -W '$( _dictdata -S )' -- "$cur" ) ) + return 0 + ;; + *) + ;; + esac + + [ -r $dictfile ] && \ + COMPREPLY=( $( compgen -W '$( cat $dictfile )' -- "$cur" ) ) +} +complete -F _dict $default dict rdict +}