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

Re: Completing parameter names that have yet to be set.



Felix Rosencrantz wrote:

> ...
> 
> So I took a quick look at Src/Modules/zutil.c which implements zstyle.  It
> looks like all the styles are held in a list pointed to by the static global
> "zstyles".
> 
> It seems like it wouldn't be too hard to be able to maintain multiple lists
> that the value of zstyles could then be pointed to.  The multiple lists could
> be stored as the values in a hash table, the keys would be the names of these
> lists.
> 
> There would need to be user command(s) to set the name of the current list, get
> the names of the lists, set the name of the current list.  To edit a zstyle
> list, you need to make that the current list pointed to by zstyles.
> 
> Seems like something like that would allow having multiple configuration sets,
> and being able to quickly change them.  And wouldn't require too many changes
> to the existing source code.
> 
> How does that seem?  Useful? Easy to implement or are there a lot of issues I
> missed?

Well, for styles we'd probably need something smarter: sub-groups. Because 
people would want to temporarily replace/change/override only some
styles, not the whole set, so that some of the more basic styles are
always available. I think.

> Also, I while looking at zutil.c, I noticed that the function evalstyle() only
> modifies the existence of the parameter reply.  Would it be useful to provide
> a parameter that said what the current context is?  It seems it might
> make it possible to write some generic functions that could be given
> to a "zstyle -e" and make some decisions based on the context.  The current
> context can be different from the context supplied to the zstyle command.  The
> context provided to the zstyle command could be a pattern.

That sounds sensible.

Bye
 Sven


--
Sven Wischnowsky                         wischnow@xxxxxxxxxxxxxxxxxxxxxxx



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