]> Sergey Matveev's repositories - public-inbox.git/blobdiff - contrib/completion/lei-completion.bash
lei import: support shell completion of known folders
[public-inbox.git] / contrib / completion / lei-completion.bash
index 67cdd3edf42ff69915181579c72954f830b00c90..5c137e68ac2ea5aec7237d7461b153a97d72a577 100644 (file)
@@ -1,11 +1,16 @@
-# Copyright (C) 2020 all contributors <meta@public-inbox.org>
+# Copyright (C) 2020-2021 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 
 # 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