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

Re: setopt globcomplete and () broken



2009/3/10 Peter Stephenson <pws@xxxxxxx>:
> Mikael Magnusson wrote:
>> If I unsetopt globcomplete, I can ls *zshenv(D)<tab> with the
>> paragraph deleted though, so it all seems a bit crazy to me.
>
> Are you sure that's not going through _expand?  If I remove _expand from
> the list of completers, I don't get completions for things like *zshe*(D)
> unless glob_complete is set.

Well, as i wrote further down my completer list is _oldlist _complete
_correct, i don't know if that is a yes or a no :).

>> I thought
>> globcomplete was about completing things with patterns that weren't
>> files in the first place, so why do glob qualifiers come into the
>> picture at all?
>
> They're not *necessarily* files, but they could be anything; and
> if they are files, then globcomplete means exactly what it says,
> complete based on full file glob expressions.

Okay, so I was testing if ls --*e(#e)<tab> worked with globcomplete
on, which it does (ie it only lists options ending in 'e'). But since
I forgot which flag meant end of string, i pressed tab at the #, but
got
_path_files:25: command not found: _globflags
printed 5 or 6 times, if I run autoload _globflags it works. This
seems odd to me since _globquals seems to work without any special
treatment.

>> And when completing actual files, why would globcomplete mean
>> _path_files has to do extra work instead of just expanding the
>> pattern?
>
> The extra work in this particular case is merging together glob
> qualifiers passed down (e.g. "-/" becoming "*(-/)") with any that are
> there on the command line.  This is a rather specialised thing to do,
> but you could e.g. complete "cd *(D)" and get files with dots.  (It only
> applies with glob_complete because otherwise what's on the command line
> is a plain string and you can just use "*(-/)" as the pattern.)
> This does appear to work.  (In fact it appears to work even after the fix I
> was going to propose for your original problem, which is encouraging.)

Okay, there is probably a whole level of stuff going on here that I
wasn't even aware of.

-- 
Mikael Magnusson



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