Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [PATCH] _postfix (postconf): Complete only applicable parameters for -X and -#.



Bart Schaefer wrote on Wed, Sep 14, 2016 at 20:35:06 -0700:
> On Sep 15,  2:15am, Daniel Shahaf wrote:
> } Subject: Re: [PATCH] _postfix (postconf): Complete only applicable paramet
> }
> } The prompt says:
> } 
> }     zsh: do you wish to see all 112 possibilities (28 lines)?
> } 
> } If I answer "yes" then I get 28 lines, that show everything in my
> } `postconf -n` output and nothing else:
> 
> And how many words is that, all together?  I think it must be counting
> the words in the descriptions as "possibilities" which probably has
> something to do with the way the column positions are abused to get
> the description to line up nicely alongside the thing described.

Bingo.  I see it now.  My 'postconf -n' has:

- 1 value that repeats 3 times
- 2 values that repeat twice, each
- 25 values that appear once each

So _describe puts that into a table as follows:

a1  a2  a3  -- va
b1  b2      -- vb
c1  c2      -- vc
k1          -- v1
k2          -- v2
⋮
k25         -- v25

The table has 4 columns — headed by "a1", "a2", "a3", and "-- v1" where
the double-hyphen is the list-separator style — and 28 rows, so it
counts as 28×4 = 112 matches.

Here's a reproducer:

_f () {
	a=( )
	i=25
	while (( i-- )
	do
		a+=( k${i}:v$i )
	done
	a+=( a{1..3}:va b{1..2}:vb c{1..2}:vc )
	a=( ${a/:/_______________________:} )
	_describe d a
}



Messages sorted by: Reverse Date, Date, Thread, Author