Re: [PATCH v3 2/2] completion: add support for completing email aliases
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
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