summaryrefslogtreecommitdiff
path: root/completions/hunspell
diff options
context:
space:
mode:
Diffstat (limited to 'completions/hunspell')
-rw-r--r--completions/hunspell42
1 files changed, 42 insertions, 0 deletions
diff --git a/completions/hunspell b/completions/hunspell
new file mode 100644
index 00000000..627f3e4b
--- /dev/null
+++ b/completions/hunspell
@@ -0,0 +1,42 @@
+# hunspell(1) completion -*- shell-script -*-
+
+_hunspell()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ case $prev in
+ --help|--version|-vv|-[hPv])
+ return
+ ;;
+ -d)
+ local IFS=$' \t\n' reset=$(shopt -p nullglob); shopt -s nullglob
+ local -a dicts=( /usr/share/hunspell/*.dic
+ /usr/local/share/hunspell/*.dic )
+ dicts=( "${dicts[@]##*/}" )
+ dicts=( "${dicts[@]%.dic}" )
+ $reset
+ IFS=$'\n'
+ COMPREPLY=( $(compgen -W '${dicts[@]}' -- "$cur") )
+ return
+ ;;
+ -i)
+ _xfunc iconv _iconv_charsets
+ return
+ ;;
+ -p)
+ _filedir
+ return
+ ;;
+ esac
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") )
+ return
+ fi
+
+ _filedir
+} &&
+complete -F _hunspell hunspell
+
+# ex: filetype=sh