From 995949326766606a9daf7054779298cacaf4265b Mon Sep 17 00:00:00 2001 From: Guillaume Rousse Date: Wed, 27 May 2009 18:28:45 +0200 Subject: [PATCH] split aspell completion --- Makefile.am | 1 + bash_completion | 91 ----------------------------------------------- contrib/aspell | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+), 91 deletions(-) create mode 100644 contrib/aspell diff --git a/Makefile.am b/Makefile.am index 4b0b73bb..4983b993 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,6 +4,7 @@ sysconf_DATA = bash_completion bashcompdir = $(sysconfdir)/bash_completion.d bashcomp_DATA = contrib/ant \ contrib/apache2ctl \ + contrib/aspell \ contrib/bind-utils \ contrib/bitkeeper \ contrib/bittorrent \ diff --git a/bash_completion b/bash_completion index 7d41359f..2bb1e3e6 100644 --- a/bash_completion +++ b/bash_completion @@ -4660,97 +4660,6 @@ _cancel() } && complete -F _cancel $filenames cancel -# aspell(1) completion -# -have aspell && { -_aspell_dictionary() -{ - local datadir - datadir=$( aspell config data-dir 2>/dev/null || echo /usr/lib/aspell ) - # First, get aliases (dicts dump does not list them) - COMPREPLY=( $( command ls $datadir/*.alias 2>/dev/null ) ) - COMPREPLY=( ${COMPREPLY[@]%.alias} ) - COMPREPLY=( ${COMPREPLY[@]#$datadir/} ) - # Then, add the canonical dicts - COMPREPLY=( "${COMPREPLY[@]}" $( aspell dicts 2>/dev/null ) ) - COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) ) -} - -_aspell() -{ - local cur prev split=false - - COMPREPLY=() - cur=`_get_cword` - prev=${COMP_WORDS[COMP_CWORD-1]} - - _split_longopt && split=true - - case "$prev" in - -c|-p|check|--@(conf|personal|repl|per-conf)) - _filedir - return 0 - ;; - --@(conf-dir|data-dir|dict-dir|home-dir|local-data-dir|prefix)) - _filedir -d - return 0 - ;; - dump|create|merge) - COMPREPLY=( $( compgen -W 'master personal repl' -- $cur ) ) - return 0 - ;; - --mode) - COMPREPLY=( $( compgen -W 'none url email sgml tex' -- $cur ) ) - return 0 - ;; - --sug-mode) - COMPREPLY=( $( compgen -W 'ultra fast normal bad-speller' -- $cur ) ) - return 0 - ;; - --keymapping) - COMPREPLY=( $( compgen -W 'aspell ispell' -- $cur ) ) - return 0 - ;; - -d|--master) - _aspell_dictionary - return 0 - ;; - esac - - $split && return 0 - - if [[ "$cur" == -* ]]; then - COMPREPLY=( $( compgen -W '--conf --conf-dir --data-dir --dict-dir \ - --encoding --add-filter --rem-filter --mode -e \ - -H -t --add-extra-dicts --rem-extra-dicts \ - --home-dir -W --ignore --ignore-accents \ - --dont-ignore-accents --ignore-case --dont-ignore-case \ - --ignore-repl --dont-ignore-repl --jargon --keyboard \ - --lang --language-tag --local-data-dir -d --master \ - --module --add-module-search-order \ - --rem-module-search-order --per-conf -p --personal \ - --prefix --repl -C -B --run-together --dont-run-together \ - --run-together-limit --run-together-min --save-repl \ - --dont-save-repl --set-prefix --dont-set-prefix --size \ - --spelling --strip-accents --dont-strip-accents \ - --sug-mode --add-word-list-path --rem-word-list-path \ - -b -x --backup -b|-x --dont-backup --reverse --dont-reverse \ - --time --dont-time --keymapping --add-email-quote \ - --rem-email-quote --email-margin --add-tex-command \ - --rem-tex-command --tex-check-comments \ - --dont-tex-check-comments --add-tex-extension \ - --rem-tex-extension --add-sgml-check --rem-sgml-check \ - --add-sgml-extension --rem-sgml-extension' -- $cur ) ) - else - COMPREPLY=( $( compgen -W '-? help -c check -a pipe -l list \ - config config soundslike filter -v version dump \ - create merge' -- $cur ) ) - fi - -} -complete -F _aspell $filenames aspell -} - # info(1) completion # have info && diff --git a/contrib/aspell b/contrib/aspell new file mode 100644 index 00000000..14e9628c --- /dev/null +++ b/contrib/aspell @@ -0,0 +1,93 @@ +# -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*- +# ex: ts=8 sw=8 noet filetype=sh +# +# bash completion for aspell + +have aspell && { +_aspell_dictionary() +{ + local datadir + datadir=$( aspell config data-dir 2>/dev/null || echo /usr/lib/aspell ) + # First, get aliases (dicts dump does not list them) + COMPREPLY=( $( command ls $datadir/*.alias 2>/dev/null ) ) + COMPREPLY=( ${COMPREPLY[@]%.alias} ) + COMPREPLY=( ${COMPREPLY[@]#$datadir/} ) + # Then, add the canonical dicts + COMPREPLY=( "${COMPREPLY[@]}" $( aspell dicts 2>/dev/null ) ) + COMPREPLY=( $( compgen -W '${COMPREPLY[@]}' -- $cur ) ) +} + +_aspell() +{ + local cur prev split=false + + COMPREPLY=() + cur=`_get_cword` + prev=${COMP_WORDS[COMP_CWORD-1]} + + _split_longopt && split=true + + case "$prev" in + -c|-p|check|--@(conf|personal|repl|per-conf)) + _filedir + return 0 + ;; + --@(conf-dir|data-dir|dict-dir|home-dir|local-data-dir|prefix)) + _filedir -d + return 0 + ;; + dump|create|merge) + COMPREPLY=( $( compgen -W 'master personal repl' -- $cur ) ) + return 0 + ;; + --mode) + COMPREPLY=( $( compgen -W 'none url email sgml tex' -- $cur ) ) + return 0 + ;; + --sug-mode) + COMPREPLY=( $( compgen -W 'ultra fast normal bad-speller' -- $cur ) ) + return 0 + ;; + --keymapping) + COMPREPLY=( $( compgen -W 'aspell ispell' -- $cur ) ) + return 0 + ;; + -d|--master) + _aspell_dictionary + return 0 + ;; + esac + + $split && return 0 + + if [[ "$cur" == -* ]]; then + COMPREPLY=( $( compgen -W '--conf --conf-dir --data-dir --dict-dir \ + --encoding --add-filter --rem-filter --mode -e \ + -H -t --add-extra-dicts --rem-extra-dicts \ + --home-dir -W --ignore --ignore-accents \ + --dont-ignore-accents --ignore-case --dont-ignore-case \ + --ignore-repl --dont-ignore-repl --jargon --keyboard \ + --lang --language-tag --local-data-dir -d --master \ + --module --add-module-search-order \ + --rem-module-search-order --per-conf -p --personal \ + --prefix --repl -C -B --run-together --dont-run-together \ + --run-together-limit --run-together-min --save-repl \ + --dont-save-repl --set-prefix --dont-set-prefix --size \ + --spelling --strip-accents --dont-strip-accents \ + --sug-mode --add-word-list-path --rem-word-list-path \ + -b -x --backup -b|-x --dont-backup --reverse --dont-reverse \ + --time --dont-time --keymapping --add-email-quote \ + --rem-email-quote --email-margin --add-tex-command \ + --rem-tex-command --tex-check-comments \ + --dont-tex-check-comments --add-tex-extension \ + --rem-tex-extension --add-sgml-check --rem-sgml-check \ + --add-sgml-extension --rem-sgml-extension' -- $cur ) ) + else + COMPREPLY=( $( compgen -W '-? help -c check -a pipe -l list \ + config config soundslike filter -v version dump \ + create merge' -- $cur ) ) + fi + +} +complete -F _aspell $filenames aspell +}