Imported Upstream version 1.3.0
[platform/upstream/augeas.git] / lenses / memcached.aug
1 (*
2 Module: Memcached
3   Parses Memcached's configuration files
4
5 Author: Marc Fournier <marc.fournier@camptocamp.com>
6
7 About: Reference
8     This lens is based on Memcached's default memcached.conf file.
9
10 About: Usage Example
11 (start code)
12     augtool> get /files/etc/memcached.conf/u
13     /files/etc/memcached.conf/u = nobody
14
15     augtool> set /files/etc/memcached.conf/m 128
16     augtool> save
17     Saved 1 file(s)
18 (end code)
19    The <Test_Memcached> file also contains various examples.
20
21 About: License
22   This file is licensed under the LGPL v2+, like the rest of Augeas.
23 *)
24
25 module Memcached =
26 autoload xfm
27
28 let comment     = Util.comment
29 let comment_eol = Util.comment_generic /[#][ \t]*/ "# "
30 let option      = /[a-zA-Z]/
31 let val         = /[^# \n\t]+/
32 let empty       = Util.empty
33 let eol         = Util.del_str "\n"
34
35 let entry       = [ Util.del_str "-" . key option
36                 . ( Util.del_ws_spc . (store val) )?
37                 . del /[ \t]*/ "" . (eol|comment_eol) ]
38
39 let logfile     = Build.key_value_line_comment
40                   "logfile" Sep.space (store val) comment
41
42 let lns         = ( entry | logfile | comment | empty )*
43
44 let filter      = incl "/etc/memcached.conf"
45                 . incl "/etc/memcachedb.conf"
46
47 let xfm         = transform lns filter