Re: [PATCH] bash: Add long option completion for 'git send-email'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Teemu Likonen <tlikonen@xxxxxx> wrote:
> Add the following long options to be completed with 'git send-email':
...
> Short ones like --to and --cc are not usable for actual completion

I agree, these are worth including.

> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index d268e6f..b15f3a9 100755
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -905,6 +905,24 @@ _git_rebase ()
>  	__gitcomp "$(__git_refs)"
>  }
>  
> +_git_send_email ()
> +{
> +	local cur="${COMP_WORDS[COMP_CWORD]}"
> +	case "$cur" in
> +	--*)
> +		__gitcomp "--bcc --cc --cc-cmd --chain-reply-to --compose
> +			--dry-run --envelope-sender --from --identity
> +			--in-reply-to --no-chain-reply-to --no-signed-off-by-cc
> +			--no-suppress-from --no-thread --quiet
> +			--signed-off-by-cc --smtp-pass --smtp-server
> +			--smtp-server-port --smtp-ssl --smtp-user --subject
> +			--suppress-cc --suppress-from --thread --to"
> +		return
> +		;;
> +	esac
> +	__git_complete_file

Don't use __git_complete_file here.  As far as I remember,
git-send-email does not accept "origin/maint:some.patch"
as an email to extract from Git prior to sending.  It looks
for files in the local filesystem.  So you want standard bash
completion for anything not starting with --.

Just use COMPREPLY=() at the end.  See _git_am for an example.

> @@ -1435,6 +1454,7 @@ complete -o default -o nospace -F _git_rebase git-rebase
>  complete -o default -o nospace -F _git_config git-config
>  complete -o default -o nospace -F _git_remote git-remote
>  complete -o default -o nospace -F _git_reset git-reset
> +complete -o default -o nospace -F _git_send_email git-send-email
>  complete -o default -o nospace -F _git_shortlog git-shortlog
>  complete -o default -o nospace -F _git_show git-show
>  complete -o default -o nospace -F _git_stash git-stash

Hmm.  With dash form commands gone in 1.6 we should remove these.

But I suspect this completion patch could be shipped in the next
1.5.6 maint release as its really quite trivial.  Junio, any comment
on that?

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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux