Re: [PATCH v3 2/2] completion: add support for completing email aliases

2015-11-17 Thread Eric Sunshine
On Mon, Nov 16, 2015 at 7:29 PM, Jacob Keller  wrote:
> Using the new --dump-alias-names option from git-send-email, add completion

s/dump-alias-names/dump-aliases/

> for --to, --cc, and --bcc with the available configured aliases.

"--from" is missing from this list.

> Signed-off-by: Jacob Keller 
> ---
> diff --git a/contrib/completion/git-completion.bash 
> b/contrib/completion/git-completion.bash
> @@ -1709,8 +1710,25 @@ _git_reflog ()
>  __git_send_email_confirm_options="always never auto cc compose"
>  __git_send_email_suppresscc_options="author self cc bodycc sob cccmd body 
> all"
>
> +__git_get_email_aliases ()
> +{
> +   git --git-dir="$(__gitdir)" send-email --dump-aliases 2>/dev/null | 
> while read alias expansion
> +   do
> +   echo $alias
> +   done
> +}
> +
>  _git_send_email ()
>  {
> +   case "$prev" in
> +   --to|--cc|--bcc|--from)
> +   __gitcomp "
> +   $(__git_get_email_aliases)
> +   " "" ""
> +   return
> +   ;;
> +   esac
> +
> case "$cur" in
> --confirm=*)
> __gitcomp "
> @@ -1735,6 +1753,12 @@ _git_send_email ()
> " "" "${cur##--thread=}"
> return
> ;;
> +   --to=*|--cc=*|--bcc=*|--from=*)
> +   __gitcomp "
> +   $(__git_get_email_aliases)
> +   " "" "${cur#--*=}"
> +   return
> +   ;;
> --*)
> __gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
> --compose --confirm= --dry-run --envelope-sender
> --
> 2.6.3.491.g3e3f6ce
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3 2/2] completion: add support for completing email aliases

2015-11-16 Thread Jacob Keller
From: Jacob Keller 

Using the new --dump-alias-names option from git-send-email, add completion
for --to, --cc, and --bcc with the available configured aliases.

Signed-off-by: Jacob Keller 
---

Notes:
- v2
* Use git-send-email for parsing instead of re-implementing it in awk

- v3
* update for change to git-send-email
* add support for "--from"

 contrib/completion/git-completion.bash | 24 
 1 file changed, 24 insertions(+)

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index 482ca84b451b..1de8c0e6fc96 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -10,6 +10,7 @@
 #*) local and remote tag names
 #*) .git/remotes file names
 #*) git 'subcommands'
+#*) git email aliases for git-send-email
 #*) tree paths within 'ref:path/to/file' expressions
 #*) file paths within current working directory and index
 #*) common --long-options
@@ -1709,8 +1710,25 @@ _git_reflog ()
 __git_send_email_confirm_options="always never auto cc compose"
 __git_send_email_suppresscc_options="author self cc bodycc sob cccmd body all"
 
+__git_get_email_aliases ()
+{
+   git --git-dir="$(__gitdir)" send-email --dump-aliases 2>/dev/null | 
while read alias expansion
+   do
+   echo $alias
+   done
+}
+
 _git_send_email ()
 {
+   case "$prev" in
+   --to|--cc|--bcc|--from)
+   __gitcomp "
+   $(__git_get_email_aliases)
+   " "" ""
+   return
+   ;;
+   esac
+
case "$cur" in
--confirm=*)
__gitcomp "
@@ -1735,6 +1753,12 @@ _git_send_email ()
" "" "${cur##--thread=}"
return
;;
+   --to=*|--cc=*|--bcc=*|--from=*)
+   __gitcomp "
+   $(__git_get_email_aliases)
+   " "" "${cur#--*=}"
+   return
+   ;;
--*)
__gitcomp "--annotate --bcc --cc --cc-cmd --chain-reply-to
--compose --confirm= --dry-run --envelope-sender
-- 
2.6.3.491.g3e3f6ce

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html