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