Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: question about "-E" option of compadd
On Mon, Apr 25, 2016 at 12:20:04PM -0700, Bart Schaefer wrote:
> On Apr 25, 3:48pm, Han Pingtian wrote:
> } Subject: Re: question about "-E" option of compadd
> }
> } But looks like even if -E was used, all but one empty strings
> } still being removed ? like this:
> }
> } % _foo()
> } compadd -E 3 foo1 foo1 foo1 foo2 foo3 '' '' ''
> } % compdef _foo foo
> } % foo <tab>
> } foo1 foo2 foo3
>
> There's this other part of the documentation for -E
>
> empty matches [are] only useful to format completion lists and to
> make explanatory string be shown in completion lists
>
> Without -V -2, the completion listing is deduplicated on the match
> string regardless of the descriptions, so you'll only see one of the
> possibly several descriptions. With -V -2, identical matches and
> their corresponding descriptions are shown, but if the descriptions
> are missing then the deduplication still happens.
>
> In other words -E is only used to "pad" the list of matches to have
> the same number of elements as the array of descriptions passed to -d.
> It's not an error to pass -E without -d but it's not useful either.
>
Thanks so much, now I got it!
> Or at least that's my understanding of how it's expected to work, and
> is how it works in e.g. Oliver's new _dates helper function; but it
> is quite possible that some other combination of options bends it.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author