Upload Tizen:Main source
[external/augeas.git] / lenses / nagioscfg.aug
1 (*
2 Module: NagiosConfig
3   Parses /etc/nagios3/*.cfg
4
5 Authors: Sebastien Aperghis-Tramoni <sebastien@aperghis.net>
6          RaphaĆ«l Pinson <raphink@gmail.com>
7
8 About: License
9   This file is licenced under the LGPLv2+, like the rest of Augeas.
10
11 About: Lens Usage
12   To be documented
13
14 About: Configuration files
15   This lens applies to /etc/nagios3/*.cfg. See <filter>.
16 *)
17
18 module NagiosCfg =
19     autoload xfm
20
21     (* View: param_def
22         define a field *)
23     let param_def =
24                key /[A-Za-z0-9_]+/
25              . Sep.opt_space . Sep.equal
26              . Sep.opt_space . store Rx.no_spaces
27
28     (* View: param
29         Params can have sub params *)
30     let param =
31          [ Util.indent . param_def
32          . [ Sep.space . param_def ]*
33          . Util.eol ]
34
35     (* View: lns
36         main structure *)
37     let lns = ( Util.empty | Util.comment | param )*
38
39     (* View: filter *)
40     let filter = incl "/etc/nagios3/*.cfg"
41                . Util.stdexcl
42
43     let xfm = transform lns filter
44