X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=contrib%2Fcompletion%2Flei-completion.bash;h=5c137e68ac2ea5aec7237d7461b153a97d72a577;hb=dc82a4a2af4c8c2e34cdbd56e07f097dff5c9a78;hp=67cdd3edf42ff69915181579c72954f830b00c90;hpb=2fe6af26d737773e0a7cafa5902360ab1309c807;p=public-inbox.git
diff --git a/contrib/completion/lei-completion.bash b/contrib/completion/lei-completion.bash
index 67cdd3ed..5c137e68 100644
--- a/contrib/completion/lei-completion.bash
+++ b/contrib/completion/lei-completion.bash
@@ -1,11 +1,16 @@
-# Copyright (C) 2020 all contributors
+# Copyright (C) 2020-2021 all contributors
# License: AGPL-3.0+
# preliminary bash completion support for lei (Local Email Interface)
# Needs a lot of work, see `lei__complete' in lib/PublicInbox::LEI.pm
_lei() {
- COMPREPLY=($(compgen -W "$(lei _complete ${COMP_WORDS[@]})" \
- -- "${COMP_WORDS[COMP_CWORD]}"))
+ local wordlist="$(lei _complete ${COMP_WORDS[@]})"
+ case $wordlist in
+ *':'* | *'='* | '//'*) compopt -o nospace ;;
+ *) compopt +o nospace ;; # the default
+ esac
+ wordlist="${wordlist//;/\\\\;}" # escape ';' for ';UIDVALIDITY' and such
+ COMPREPLY=($(compgen -W "$wordlist" -- "${COMP_WORDS[COMP_CWORD]}"))
return 0
}
-complete -o filenames -o bashdefault -F _lei lei
+complete -o default -o bashdefault -F _lei lei