[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [augeas-devel] Wildcarded key/value pairs and nested blocks (dovecot lens development)

Hi Serge,

Great job! I've left some comments on github directly.



On Tue, Mar 5, 2013 at 7:28 PM, Serge Smetana <serge smetana gmail com> wrote:

I'm trying to create lens for Dovecot config.
I'm already have working lens here:

But it is too "tight" because of the fixed list of keywords for the entries.
Dovecot supports blocks and nested blocks like

service auth {
  unix_listener auth-userdb {

and if I create wildcarded lens for simple entry

   let entry = [ indent . key Rx.word. eq . (store value)? . eol ]

I am unable to create lens for the block

   let block_names = ("protocol" | "service" | "plugin" | "namespace" | "map" )
   let block =
       [ indent . key block_names . block_args? . block_open . eol
       . (entry | empty | comment)*
       . indent . block_close . eol ]

I end up with exception: overlapping lenses in tree union.put
    Example matched by both:  { "protocol" }

Is there any way to define possible keys as something like a
subsctraction (Rx.word - block_names)
meaning "match anything but not /protocol|service|map/"?

Thank you!
Great job!


augeas-devel mailing list
augeas-devel redhat com

Raphaël Pinson
Administrateur Systèmes & Réseaux
Camptocamp France
Savoie Technolac
BP 352
48, avenue du Lac du Bourget
73372 Le Bourget du Lac, Cedex

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]