gitbashshellunixautocomplete

How do I get bash completion to work with aliases?


Case in point:

I'm a on mac with bash v3.2.17, I'm using git installed via macports with the bash_completion variant.

When I type git checkout m<tab>. for example, I get it completed to master.

However, I've got an alias to git checkout, gco. When I type gco m<tab>, I don't get the branch name autocompleted.

Ideally I'd like autocompletion to just magically work for all my aliases. Is it possible? Failing that, I'd like to manually customize it for each alias. So, how do I go about either?


Solution

  • As stated in the comments above,

    complete -o default -o nospace -F _git_checkout gco
    

    will no longer work. However, there's a __git_complete function in git-completion.bash which can be used to set up completion for aliases like so:

    __git_complete gco _git_checkout