From: Thomas Rast Date: Fri, 03 Oct 2008 16:35:05 GMT Subject: [FYI PATCH] bash completion: alias 'g' to 'git' with completion Message-ID: <1223051705-30347-1-git-send-email-trast@student.ethz.ch> In-Reply-To: --- Rob Sanheim wrote: > On Thu, Oct 2, 2008 at 11:10 PM, Shawn O. Pearce wrote: > > No, you'll need to alias 'g' to git in bash, and then if you still > > want completion you'll need to also register the compgen to call > > _git completion routine. Its two lines: > > > > alias g=git > > complete -o default -o nospace -F _git g > > Thanks, that did it. Actually it's not enough, you need to teach fetch, pull and push to recognise the new alias too, as in this patch. I do wonder if there's a better approach to those functions however, so that the "obvious" fix suggested by Shawn would work. - Thomas contrib/completion/git-completion.bash | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index 7284c3b..547e735 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -789,7 +789,7 @@ _git_fetch () git-fetch*,1) __gitcomp "$(__git_remotes)" ;; - git,2) + git,2|g,2) __gitcomp "$(__git_remotes)" ;; *) @@ -1053,7 +1053,7 @@ _git_pull () git-pull*,1) __gitcomp "$(__git_remotes)" ;; - git,2) + git,2|g,2) __gitcomp "$(__git_remotes)" ;; *) @@ -1075,7 +1075,7 @@ _git_push () git-push*,1) __gitcomp "$(__git_remotes)" ;; - git,2) + git,2|g,2) __gitcomp "$(__git_remotes)" ;; *) @@ -1717,6 +1717,7 @@ _gitk () } complete -o default -o nospace -F _git git +complete -o default -o nospace -F _git g complete -o default -o nospace -F _gitk gitk # The following are necessary only for Cygwin, and only are needed -- 1.6.0.2.771.g3967