# Zsh submodule name completion borked

4 messages from 2014-05-01 to 2014-05-02. Participants: Phil Hord, Jonathan Nieder, Felipe Contreras.
Thread: https://gitlist.dev/t/36564

## Phil Hord, 2014-05-01 22:23

Subject: Zsh submodule name completion borked
Message-ID: <CABURp0oS0qnyVhfV1rsaNXT-88QJvgpNn+meApNKRTGdULDXpA@mail.gmail.com>
URL: https://gitlist.dev/e/CABURp0oS0qnyVhfV1rsaNXT-88QJvgpNn%2BmeApNKRTGdULDXpA%40mail.gmail.com

```
When I use zsh tab-completion to complete the submodule name in 'git
submodule init', I get more than I expected.

>From the gerrit repository (which has plugins):
  $ git submodule init plugins/<TAB>
  plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
  plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
  plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)

It works ok in bash.  I tried to bisect the trouble, but it still
fails in 1.8.3, so I'm beginning to think it's me.  Does this happen
to anyone else?  Is it something in my local configuration causing
this?

Thanks,
Phil

```

## Jonathan Nieder, 2014-05-01 22:31

Subject: Re: Zsh submodule name completion borked
Message-ID: <20140501223121.GD9218@google.com>
URL: https://gitlist.dev/e/20140501223121.GD9218%40google.com
In-Reply-To: <CABURp0oS0qnyVhfV1rsaNXT-88QJvgpNn+meApNKRTGdULDXpA@mail.gmail.com>

```
Hi,

Phil Hord wrote:

> When I use zsh tab-completion to complete the submodule name in 'git
> submodule init', I get more than I expected.

Is this using zsh's native tab-completion (i.e., not the tab
completion bundled with git)?  There might have been a change there.

Another place to look for hints would be ~/.gitconfig.

Hope that helps,
Jonathan

```

## Felipe Contreras, 2014-05-01 22:35

Subject: RE: Zsh submodule name completion borked
Message-ID: <5362cc42ed06d_569a13852ecb@nysa.notmuch>
URL: https://gitlist.dev/e/5362cc42ed06d_569a13852ecb%40nysa.notmuch
In-Reply-To: <CABURp0oS0qnyVhfV1rsaNXT-88QJvgpNn+meApNKRTGdULDXpA@mail.gmail.com>

```
Phil Hord wrote:
> When I use zsh tab-completion to complete the submodule name in 'git
> submodule init', I get more than I expected.
> 
> From the gerrit repository (which has plugins):
>   $ git submodule init plugins/<TAB>
>   plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
>   plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
>   plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)
> 
> It works ok in bash.  I tried to bisect the trouble, but it still
> fails in 1.8.3, so I'm beginning to think it's me.  Does this happen
> to anyone else?  Is it something in my local configuration causing
> this?

Define 'works' in bash. From what I can see from the bash completion,
it's not doing anything special, so the completion you see are simply
files.

-- 
Felipe Contreras

```

## Phil Hord, 2014-05-02 16:23

Subject: Re: Zsh submodule name completion borked
Message-ID: <CABURp0qdd6LYVfF0g8BWo_xjK36LbS=EnXkF_Kb4XQPM8U9r_g@mail.gmail.com>
URL: https://gitlist.dev/e/CABURp0qdd6LYVfF0g8BWo_xjK36LbS%3DEnXkF_Kb4XQPM8U9r_g%40mail.gmail.com
In-Reply-To: <5362cc42ed06d_569a13852ecb@nysa.notmuch>

```
On Thu, May 1, 2014 at 6:35 PM, Felipe Contreras
<felipe.contreras@gmail.com> wrote:
> Phil Hord wrote:
>> When I use zsh tab-completion to complete the submodule name in 'git
>> submodule init', I get more than I expected.
>>
>> From the gerrit repository (which has plugins):
>>   $ git submodule init plugins/<TAB>
>>   plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
>>   plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
>>   plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)
>>
>> It works ok in bash.  I tried to bisect the trouble, but it still
>> fails in 1.8.3, so I'm beginning to think it's me.  Does this happen
>> to anyone else?  Is it something in my local configuration causing
>> this?
>

It seems to be something local.  I thought the issue persisted with no
local .zshrc config, but it looks like I only turned off my local
config and not the global settings.  The recent Ubuntu update is a
likely culprit.  I'll investigate locally and turn my reports up to
Ubuntu/Debian/Zshell.

> Define 'works' in bash. From what I can see from the bash completion,
> it's not doing anything special, so the completion you see are simply
> files.

To clarify my description in case anyone else sees it or is
interested, before I load /etc/zsh/zshrc, tab gives me simple filename
expansion.

After I load /etc/zsh/zshrc, tab expands only submodules in HEAD.  But
for some reason it gets the wrong kind of results in the expansion,
returning not just submodule paths, but submodule paths with tag info
appended.

Sample session:
  $ zsh --norcs
  % git submodule init plugins/<TAB>
   commit-message-length-validator/
   README
   reviewnotes/
   replication/
  ^C
  % source /etc/zsh/zshrc
  % git submodule init plugins/<TAB>
  plugins/commit-message-length-validator\ \(v1.0-rc1-9-g545000b\)
  plugins/reviewnotes\ \(v1.0-rc1-8-ge984300\)
  plugins/replication\ \(v1.1-rc0-13-g4c3f4c9\)

```
