From a2415fec470dad7d9848b55af7c156f96dde13e5 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 18 Feb 2021 18:27:09 +0600 Subject: [PATCH] lei: completion: bash: generalize nospace usage We'll be completing more options with ':', '//' and '=' in the future, so make it easier to disable trailing spaces on completions. --- contrib/completion/lei-completion.bash | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/contrib/completion/lei-completion.bash b/contrib/completion/lei-completion.bash index 619805fb..2c28d44a 100644 --- a/contrib/completion/lei-completion.bash +++ b/contrib/completion/lei-completion.bash @@ -4,14 +4,12 @@ # preliminary bash completion support for lei (Local Email Interface) # Needs a lot of work, see `lei__complete' in lib/PublicInbox::LEI.pm _lei() { - case ${COMP_WORDS[@]} in - *' add-external h'* | *' --mirror h'*) - compopt -o nospace - ;; + local wordlist="$(lei _complete ${COMP_WORDS[@]})" + case $wordlist in + *':'* | *'='* | '//'*) compopt -o nospace ;; *) compopt +o nospace ;; # the default esac - COMPREPLY=($(compgen -W "$(lei _complete ${COMP_WORDS[@]})" \ - -- "${COMP_WORDS[COMP_CWORD]}")) + COMPREPLY=($(compgen -W "$wordlist" -- "${COMP_WORDS[COMP_CWORD]}")) return 0 } complete -o default -o bashdefault -F _lei lei -- 2.44.0