@@ -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
@@ -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);
}
@@ -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 "
'
"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@gmail.com> --- Hi Carlos, Good catch. Initially I had only moved the options from the script. I am working on another patch (attached) that exhaustively adds all options. At this time, it's still manual, I agree that generating the flags programatically would be even better, but I didn't want to complicate this series too much. Let me know how you would like me to proceed here, I see 3 options: 1. drop the second part of the patch (v3 2/3) completely, only keep the other ones (1/3 and 3/3), which just adds the newline and touches the man page - leave automated flags for another series 2. send v4 with the attached - which exhaustively adds all send-email options to the perl script, while removing the completions from the bash completion script 3. send v4 with the attached and do not touch the current bash completion script (keeping caching as is) contrib/completion/git-completion.bash | 11 +---- git-send-email.perl | 62 ++++++++++++++++++++++++++ t/t9902-completion.sh | 3 ++ 3 files changed, 66 insertions(+), 10 deletions(-)