completion: add format-patch options to send-email
authorFelipe Contreras <felipe.contreras@gmail.com>
Tue, 16 Oct 2012 00:21:50 +0000 (02:21 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 16 Oct 2012 18:51:03 +0000 (11:51 -0700)
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash
t/t9902-completion.sh

index be800e09bdf0656951c415105e0d32ce0b0edf9e..bc0657a22481d4482253bc1f151645d07d10f319 100644 (file)
@@ -1116,6 +1116,14 @@ _git_fetch ()
        __git_complete_remote_or_refspec
 }
 
+__git_format_patch_options="
+       --stdout --attach --no-attach --thread --thread= --output-directory
+       --numbered --start-number --numbered-files --keep-subject --signoff
+       --signature --no-signature --in-reply-to= --cc= --full-index --binary
+       --not --all --cover-letter --no-prefix --src-prefix= --dst-prefix=
+       --inline --suffix= --ignore-if-in-upstream --subject-prefix=
+"
+
 _git_format_patch ()
 {
        case "$cur" in
@@ -1126,21 +1134,7 @@ _git_format_patch ()
                return
                ;;
        --*)
-               __gitcomp "
-                       --stdout --attach --no-attach --thread --thread=
-                       --output-directory
-                       --numbered --start-number
-                       --numbered-files
-                       --keep-subject
-                       --signoff --signature --no-signature
-                       --in-reply-to= --cc=
-                       --full-index --binary
-                       --not --all
-                       --cover-letter
-                       --no-prefix --src-prefix= --dst-prefix=
-                       --inline --suffix= --ignore-if-in-upstream
-                       --subject-prefix=
-                       "
+               __gitcomp "$__git_format_patch_options"
                return
                ;;
        esac
@@ -1554,6 +1548,12 @@ _git_send_email ()
                __gitcomp "ssl tls" "" "${cur##--smtp-encryption=}"
                return
                ;;
+       --thread=*)
+               __gitcomp "
+                       deep shallow
+                       " "" "${cur##--thread=}"
+               return
+               ;;
        --*)
                __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
                        --compose --confirm= --dry-run --envelope-sender
@@ -1563,11 +1563,12 @@ _git_send_email ()
                        --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"
+                       --validate --no-validate
+                       $__git_format_patch_options"
                return
                ;;
        esac
-       COMPREPLY=()
+       __git_complete_revlist
 }
 
 _git_stage ()
index cbd0fb66f93fae6bb1d9fa341aad3e48c723c0e1..8fa025f9d4e373e222d3aff6ca54d17a4eb00e2b 100755 (executable)
@@ -288,4 +288,9 @@ test_expect_failure 'complete tree filename with metacharacters' '
        EOF
 '
 
+test_expect_success 'send-email' '
+       test_completion "git send-email --cov" "--cover-letter " &&
+       test_completion "git send-email ma" "master "
+'
+
 test_done