Blame lenses/simplevars.aug

Packit Service a2ae7a
(*
Packit Service a2ae7a
Module: Simplevars
Packit Service a2ae7a
  Parses simple key = value conffiles
Packit Service a2ae7a
Packit Service a2ae7a
Author: Raphael Pinson <raphink@gmail.com>
Packit Service a2ae7a
Packit Service a2ae7a
About: License
Packit Service a2ae7a
   This file is licenced under the LGPL v2+, like the rest of Augeas.
Packit Service a2ae7a
Packit Service a2ae7a
About: Lens Usage
Packit Service a2ae7a
   To be documented
Packit Service a2ae7a
Packit Service a2ae7a
About: Examples
Packit Service a2ae7a
   The <Test_Simplevars> file contains various examples and tests.
Packit Service a2ae7a
*)
Packit Service a2ae7a
Packit Service a2ae7a
module Simplevars =
Packit Service a2ae7a
Packit Service a2ae7a
autoload xfm
Packit Service a2ae7a
Packit Service a2ae7a
(* Variable: to_comment_re
Packit Service a2ae7a
   The regexp to match the value *)
Packit Service a2ae7a
let to_comment_re =
Packit Service a2ae7a
     let to_comment_squote = /'[^\n']*'/
Packit Service a2ae7a
  in let to_comment_dquote = /"[^\n"]*"/
Packit Service a2ae7a
  in let to_comment_noquote = /[^\n \t'"#][^\n#]*[^\n \t#]|[^\n \t'"#]/
Packit Service a2ae7a
  in to_comment_squote | to_comment_dquote | to_comment_noquote
Packit Service a2ae7a
Packit Service a2ae7a
(* View: entry *)
Packit Service a2ae7a
let entry =
Packit Service a2ae7a
     let some_value = Sep.space_equal . store to_comment_re
Packit Service a2ae7a
     (* Avoid ambiguity in tree by making a subtree here *)
Packit Service a2ae7a
  in let empty_value = [del /[ \t]*=/ "="] . store ""
Packit Service a2ae7a
  in [ Util.indent . key Rx.word
Packit Service a2ae7a
            . (some_value? | empty_value)
Packit Service a2ae7a
            . (Util.eol | Util.comment_eol) ]
Packit Service a2ae7a
Packit Service a2ae7a
(* View: lns *)
Packit Service a2ae7a
let lns = (Util.empty | Util.comment | entry)*
Packit Service a2ae7a
Packit Service a2ae7a
(* Variable: filter *)
Packit Service a2ae7a
let filter = incl "/etc/kernel-img.conf"
Packit Service a2ae7a
           . incl "/etc/kerneloops.conf"
Packit Service a2ae7a
           . incl "/etc/wgetrc"
Packit Service a2ae7a
           . incl "/etc/zabbix/*.conf"
Packit Service a2ae7a
           . incl "/etc/audit/auditd.conf"
Packit Service a2ae7a
           . incl "/etc/mixerctl.conf"
Packit Service a2ae7a
           . incl "/etc/wsconsctlctl.conf"
Packit Service a2ae7a
Packit Service a2ae7a
let xfm = transform lns filter