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

Re: PATCH: completion caching layer



Adam Spiers wrote:

> Sven Wischnowsky (wischnow@xxxxxxxxxxxxxxxxxxxxxxx) wrote:
> > It's a bit unfortunate that _cache_invalid can be called twice (in
> > your examples), once directly and once from _retrieve_cache. I think.
> 
> Yes, I didn't like that either, but couldn't think of a better
> design.  The problem is that there are actually two caching layers -
> the parameters, and the cache files on disk, but the _cache_invalid
> check needs to be invoked if either is about to be used.  Suggestions
> for how to avoid this welcome.

Couldn't we stuff everything in _retrieve_cache? So that one only
needs to call:

  if ! _retrieve_cache RPMs _rpms; then
    _rpms=(...)
    _store_cache RPMs _rpms
  fi

> ...
> 
> > About the lookup: I /think/ it would be more convenient if the type of 
> > information cached would appear in the context, so that you could say
> > `zstyle ":completion:*:rpms" cache-policy ...'. Haven't really played
> > with it yet, though.
> 
> I agree entirely.  That way also I could make _perl_modules set a
> default style (if one is not already set) when the function is loaded,
> rather than each time it's invoked.  But where would it appear in the
> context?  My knowledge of this stuff is slightly weak, I'm afraid.

After the last colon:

  zstyle -t ":completion:${curcontext}:" ...
                                       ^here

I.e., instead of the tag (if you would use tags). One problem is your
naming scheme (upper-case) which is different from what we've used so
far.

And then the tags should be documented, or similar tags which are
already used elsewhere could be used for caching.

> > And another thing: with `zstyle -e' one could use a boolean style
> > `cache-invalid' or whatever and let the user do the rest. It's hard to 
> > give arguments to that, though. Other than by documenting
> > $_cache_path, that is.
> 
> I think I understand that, but how would it be better than the current
> system?

Maybe hopefully consistency(?) I'm not too sure about this either,
since there are still other styles which allow to give names of
functions to be called (tag-order, for example).

Bye
 Sven


--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



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