Blame lenses/soma.aug

Packit Service a2ae7a
(* Soma module for Augeas
Packit Service a2ae7a
 Author: Free Ekanayaka <free@64studio.com>
Packit Service a2ae7a
Packit Service a2ae7a
 Reference: man 5 soma.cfg
Packit Service a2ae7a
Packit Service a2ae7a
*)
Packit Service a2ae7a
Packit Service a2ae7a
module Soma =
Packit Service a2ae7a
Packit Service a2ae7a
   autoload xfm
Packit Service a2ae7a
Packit Service a2ae7a
(************************************************************************
Packit Service a2ae7a
 *                           USEFUL PRIMITIVES
Packit Service a2ae7a
 *************************************************************************)
Packit Service a2ae7a
Packit Service a2ae7a
let eol        = Util.eol
Packit Service a2ae7a
let comment    = Util.comment
Packit Service a2ae7a
let empty      = Util.empty
Packit Service a2ae7a
Packit Service a2ae7a
let sep_eq     = del /[ \t]*=[ \t]*/ " = "
Packit Service a2ae7a
Packit Service a2ae7a
let sto_to_eol = store /([^ \t\n].*[^ \t\n]|[^ \t\n])/
Packit Service a2ae7a
Packit Service a2ae7a
let word       = /[A-Za-z0-9_.-]+/
Packit Service a2ae7a
Packit Service a2ae7a
(************************************************************************
Packit Service a2ae7a
 *                               ENTRIES
Packit Service a2ae7a
 *************************************************************************)
Packit Service a2ae7a
Packit Service a2ae7a
let entry     = [ key word
Packit Service a2ae7a
                . sep_eq
Packit Service a2ae7a
                . sto_to_eol
Packit Service a2ae7a
                . eol ]
Packit Service a2ae7a
Packit Service a2ae7a
(************************************************************************
Packit Service a2ae7a
 *                                LENS
Packit Service a2ae7a
 *************************************************************************)
Packit Service a2ae7a
Packit Service a2ae7a
let lns        = (comment|empty|entry) *
Packit Service a2ae7a
Packit Service a2ae7a
let filter     = incl "/etc/somad/soma.cfg"
Packit Service a2ae7a
Packit Service a2ae7a
let xfm        = transform lns filter