Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Trial patch for showing completion in progress
- X-seq: zsh-workers 20340
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxx (Zsh hackers list)
- Subject: Re: Trial patch for showing completion in progress
- Date: Thu, 09 Sep 2004 14:40:27 +0200
- In-reply-to: <200409091113.i89BDHcG013466@xxxxxxxxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <200409091113.i89BDHcG013466@xxxxxxxxxxxxxx>
Peter wrote:
> I often want to find out what completion is doing when it goes away for
> a while. Here's a simple patch that helps, though I think there's more
> that can be done. No documentation yet.
In most cases, if it takes a while it is filename completion trying to
look for files in the full path: the stuff which allows /u/l/b to
complete to /usr/local/bin.
> As defined, you set the show-completer style to true in any context
> where you want to show the status. It is examined when each element of
> the completer list is tried. The message is overwritten by any list
> output.
>
> Is there a better place for this? On the whole I think this point is OK.
It depends what you are trying to do. Are you trying to show the
completers or the zstyle context? _main_complete is not the only place
the context is changed so for showing the context, _description or
_setup would be a better place.
> Is there a way of doing this only if completion takes a certain time?
> E.g. store SECONDS as floating point and examine it at certain key
> points?
Why not just stick $SECONDS (as floating point) in PS4 and use
_complete_debug.
I'm not convinced we should be sticking debug stuff like this into
completion unless it really is proven to be useful. I normally prefer to
use a second tty for completion debug output instead of zle. And it
isn't hard to make temporary changes to _main_complete (or whatever) for
debugging.
> Is there a way of removing the zle -M output if the completion produced
> no output?
Either you have to replace compadd with a function or, depending on
where you produce the debug, you might be able to check
compstate[nmatches].
Oliver
Messages sorted by:
Reverse Date,
Date,
Thread,
Author