This file is indexed.

/usr/share/augeas/lenses/dist/erlang.aug is in augeas-lenses 1.4.0-0ubuntu1.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
(*
Module: Erlang
  Parses Erlang configuration files

Author: Raphael Pinson <raphael.pinson@camptocamp.com>

About: Reference
  This lens tries to keep as close as possible to `http://www.erlang.org/doc/man/config.html` where possible.

About: License
   This file is licenced under the LGPL v2+, like the rest of Augeas.

About: Lens Usage
   To be documented

About: Configuration files
   This lens applies to Erlang configuration files. See <filter>.

About: Examples
   The <Test_Erlang> file contains various examples and tests.
*)
module Erlang =


(* Group: Spacing Functions *)

(* View: space *)
let space = del /[ \t\n]*/ ""

(* View: lspace
     Add spaces to the left of char *)
let lspace (char:string) = del (/[ \t\n]*/ . char) char

(* View: rspace
     Add spaces to the right of char *)
let rspace (char:string) = del (char . /[ \t\n]*/ ) char

(* View: lrspace
     Add spaces to the left or right of char *)
let lrspace (char:string) = del (/[ \t\n]*/ . char . /[ \t\n]*/ ) char


(* Group: Separators *)

(* Variable: lbrace
     Left square bracket *)
let lbrace = "{"

(* Variable: rbrace
     Right square bracket *)
let rbrace = "}"

(* Variable: lbrack
     Left curly brackets *)
let lbrack = "["

(* Variable: rbrack
     Right curly brackets *)
let rbrack = "]"

(* Variable: lglob
     Left glob separator *)
let lglob = "<<\""

(* Variable: rglob
     Right glob separator *)
let rglob = "\">>"

(* Variable: comma *)
let comma = ","


(* Group: Value types *)

(* View: opt_list
     An optional list of elements, in square brackets *)
let opt_list (lns:lens) = rspace lbrack
                        . (Build.opt_list lns (lrspace comma) . space)?
                        . Util.del_str rbrack

(* View: integer
     Store a <Rx.integer> *)
let integer = store Rx.integer

(* View: decimal
     Store a decimal value *)
let decimal = store /[0-9]+(.[0-9]+)?/

(* View: quoted
     Store a quoted value *)
let quoted = Quote.do_quote (store /[^,\n}{]+/)

(* View: bare
     Store a bare <Rx.word> *)
let bare = store Rx.word

(* View: boolean
     Store a boolean value *)
let boolean = store /true|false/

(* View: path
     Store a path (<quoted>) *)
let path = quoted

(* View: glob
     Store a glob *)
let glob = Util.del_str lglob . store /[^\n"]+/ . Util.del_str rglob

(* View: make_value
     Make a "value" subnode for arrays/tuples *)
let make_value (lns:lens) = [ label "value" . lns ]


(* Group: Store types *)

(* View: value
     A single value *)
let value (kw:regexp) (sto:lens) =
  [ rspace lbrace
  . key kw
  . lrspace comma
  . sto
  . lspace rbrace ]

(* View: tuple
     A tuple of values *)
let tuple (one:lens) (two:lens) =
  [ rspace lbrace
  . label "tuple"
  . [ label "value" . one ]
  . lrspace comma
  . [ label "value" . two ]
  . lspace rbrace ]

(* View: list
     A list of lenses *)
let list (kw:regexp) (lns:lens) =
  [ rspace lbrace
  . key kw
  . lrspace comma
  . opt_list lns
  . lspace rbrace ]

(* View: value_list
     A <list> of seq entries *)
let value_list (kw:regexp) (sto:lens) =
  list kw (make_value sto)

(* View: application *)
let application (name:regexp) (parameter:lens) =
  list name parameter

(* View: kernel_parameters
     Config parameters accepted for kernel app *)
let kernel_parameters =
    value "browser_cmd" path
  | value "dist_auto_connect" (store /never|once/)
  | value "error_logger" (store /tty|false|silent/)
  | value "net_setuptime" integer
  | value "net_ticktime" integer
  | value "shutdown_timeout" integer
  | value "sync_nodes_timeout" integer
  | value "start_dist_ac" boolean
  | value "start_boot_server" boolean
  | value "start_disk_log" boolean
  | value "start_pg2" boolean
  | value "start_timer" boolean

(* View: kernel
     Core Erlang kernel app configuration *)
let kernel = application "kernel" kernel_parameters

(* View: comment *)
let comment = Util.comment_generic /%[ \t]*/ "% "

(* View: config
     A top-level config *)
let config (app:lens) =
    (Util.empty | comment)*
  . rspace lbrack
  . Build.opt_list (kernel | app) (lrspace comma)
  . lrspace rbrack
  . Util.del_str "." . Util.eol
  . (Util.empty | comment)*