"git send-email --git-completion-helper" only prints "format-patch" flags. Make it print "send-email" flags as well. Add a completion test for "send-email --validate", a send-email option. Signed-off-by: Thiago Perrotta <tbperrotta@xxxxxxxxx> --- contrib/completion/git-completion.bash | 11 +---- git-send-email.perl | 62 ++++++++++++++++++++++++++ t/t9902-completion.sh | 3 ++ 3 files changed, 66 insertions(+), 10 deletions(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 4bdd27ddc8..1b73a4dcc0 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -2359,16 +2359,7 @@ _git_send_email () return ;; --*) - __gitcomp_builtin send-email "--annotate --bcc --cc --cc-cmd --chain-reply-to - --compose --confirm= --dry-run --envelope-sender - --from --identity - --in-reply-to --no-chain-reply-to --no-signed-off-by-cc - --no-suppress-from --no-thread --quiet --reply-to - --signed-off-by-cc --smtp-pass --smtp-server - --smtp-server-port --smtp-encryption= --smtp-user - --subject --suppress-cc= --suppress-from --thread --to - --validate --no-validate - $__git_format_patch_extra_options" + __gitcomp_builtin send-email "$__git_format_patch_extra_options" return ;; esac diff --git a/git-send-email.perl b/git-send-email.perl index d1731c1755..7139384f7a 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -114,6 +114,68 @@ sub usage { } sub completion_helper { + my @send_email_flags = qw/ + --8bit-encoding + --annotate + --batch-size + --bcc + --cc + --cc-cmd + --cc-cover + --chain-reply-to + --compose + --compose-encoding + --confirm + --dry-run + --dump-aliases + --envelope-sender + --force + --format-patch + --from + --identity + --in-reply-to + --no-annotate + --no-bcc + --no-cc + --no-cc-cover + --no-chain-reply-to + --no-format-patch + --no-signed-off-by-cc + --no-smtp-auth + --no-suppress-from + --no-thread + --no-to + --no-to-cover + --no-validate + --no-xmailer + --quiet + --relogin-delay + --reply-to + --sendmail-cmd + --signed-off-by-cc + --smtp-auth + --smtp-debug + --smtp-domain + --smtp-encryption + --smtp-pass + --smtp-server + --smtp-server-option + --smtp-server-port + --smtp-ssl + --smtp-ssl-cert-path + --smtp-user + --subject + --suppress-cc + --suppress-from + --thread + --to + --to-cmd + --to-cover + --transfer-encoding + --validate + --xmailer + /; + print "@send_email_flags"; print Git::command('format-patch', '--git-completion-helper'), "\n"; exit(0); } diff --git a/t/t9902-completion.sh b/t/t9902-completion.sh index 11573936d5..a4faf64184 100755 --- a/t/t9902-completion.sh +++ b/t/t9902-completion.sh @@ -2139,6 +2139,9 @@ test_expect_success PERL 'send-email' ' --cover-from-description=Z --cover-letter Z EOF + test_completion "git send-email --val" <<-\EOF && + --validate Z + EOF test_completion "git send-email ma" "main " ' -- 2.33.0