Thu, 11 Jul 2013 22:21:57 +0100
|
On 11/07/2013 22:13, Joseph Wright wrote:
> Looks at what seems to be needed, an ('opt-in') interface such as
>
> \keys_define:nn { module }
> {
> key-one .code:n = { \tl_show:n { key-one } },
> key-one .group:n = { a },
> key-two .code:n = { \tl_show:n { key-two } },
> }
> \keys_set_grouped:nnn { module } { a }
> { key-one = value , key-two = value }
>
> is not unreasonable. This allows each key to be in exactly one group:
> doing multiple groups is possible but more tricky. (Code follows a bit
> later.) My thinking with this is that you can simply do a 'filtered' or
> 'grouped' setting without having to track when filtering is on/off.
>
> The above interface leaves open a few questions:
>
> - How is nesting handled? Does \keys_set:nn within
> \keys_set_grouped:nnn respect groups? Does
> \keys_set_grouped:nnn within \keys_set_grouped:nnn
> work in a union or intersection way?
>
> - Do unknown keys raise an error, or are they ignored as they
> are not in any group?
Also
- Do unused options need to be collected/available?
--
Joseph Wright
|
|
|