Subject: Re: Feature request: readline's completion-prefix-display-length option
From: Daniel Shahaf <[email-masked]>
To: Hong Xu <[email-masked]>
Cc: Zsh hackers list <[email-masked]>
Date: Thu, 19 May 2016 21:14:28 +0000
List-Id: Zsh Workers List <zsh-workers.zsh.org>

Bart Schaefer wrote on Sun, May 15, 2016 at 04:50:50 -0700:
> On Sat, May 14, 2016 at 11:08 PM, Hong Xu <[email-masked]> wrote:
> >
> > I believe that readline's completion-prefix-display-length is a great
> > option to have for zle. This option enables the common part of long
> > completions to be represented by ellipsis, so the options in the
> > completion list would not be too long in many cases.
> 
> There might be a deviously clever way to do this with the list-colors
> style, similar to the way that show-ambiguity is implemented.

Deviously clever solutions aside, isn't this exactly what the -d option
to compadd is for?  I imagine prior to calling compadd, the following
preprocessing could be invoked:

    if -d not passed:
      argument_to_-d = argument_to_-a
      for each element of argument_to_-d:
        if this element starts with ${PREFIX}
	  replace the first ${#PREFIX} characters of this element with an ellipsis

However, I'm not sure where this preprocessing should be invoked from.

CHeers,

Daniel