Blame lenses/inputrc.aug

Packit Service a2ae7a
(*
Packit Service a2ae7a
Module: Inputrc
Packit Service a2ae7a
  Parses /etc/inputrc
Packit Service a2ae7a
Packit Service a2ae7a
Author: Raphael Pinson <raphink@gmail.com>
Packit Service a2ae7a
Packit Service a2ae7a
About: Reference
Packit Service a2ae7a
  This lens tries to keep as close as possible to `man 3 readline` where possible.
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: Configuration files
Packit Service a2ae7a
   This lens applies to /etc/inputrc. See <filter>.
Packit Service a2ae7a
Packit Service a2ae7a
About: Examples
Packit Service a2ae7a
   The <Test_Inputrc> file contains various examples and tests.
Packit Service a2ae7a
*)
Packit Service a2ae7a
Packit Service a2ae7a
module Inputrc =
Packit Service a2ae7a
Packit Service a2ae7a
autoload xfm
Packit Service a2ae7a
Packit Service a2ae7a
(* View: entry
Packit Service a2ae7a
     An inputrc mapping entry *)
Packit Service a2ae7a
let entry =
Packit Service a2ae7a
   let mapping = [ label "mapping" . store /[A-Za-z0-9_."\*\/+\,\\-]+/ ]
Packit Service a2ae7a
   in [ label "entry"
Packit Service a2ae7a
      . Util.del_str "\"" . store /[^" \t\n]+/
Packit Service a2ae7a
      . Util.del_str "\":" . Sep.space
Packit Service a2ae7a
      . mapping
Packit Service a2ae7a
      . Util.eol ]
Packit Service a2ae7a
Packit Service a2ae7a
(* View: variable
Packit Service a2ae7a
     An inputrc variable declaration *)
Packit Service a2ae7a
let variable = [ Util.del_str "set" . Sep.space
Packit Service a2ae7a
               . key (Rx.word - "entry") . Sep.space
Packit Service a2ae7a
               . store Rx.word . Util.eol ]
Packit Service a2ae7a
Packit Service a2ae7a
(* View: condition
Packit Service a2ae7a
     An "if" declaration, recursive *)
Packit Service a2ae7a
let rec condition = [ Util.del_str "$if" . label "@if"
Packit Service a2ae7a
                    . Sep.space . store Rx.space_in . Util.eol
Packit Service a2ae7a
                    . (Util.empty | Util.comment | condition | variable | entry)*
Packit Service a2ae7a
                    . [ Util.del_str "$else" . label "@else" . Util.eol
Packit Service a2ae7a
                      . (Util.empty | Util.comment | condition | variable | entry)* ] ?
Packit Service a2ae7a
                    . Util.del_str "$endif" . Util.eol ]
Packit Service a2ae7a
Packit Service a2ae7a
(* View: lns
Packit Service a2ae7a
     The inputrc lens *)
Packit Service a2ae7a
let lns = (Util.empty | Util.comment | condition | variable | entry)*
Packit Service a2ae7a
Packit Service a2ae7a
(* Variable: filter *)
Packit Service a2ae7a
let filter = incl "/etc/inputrc"
Packit Service a2ae7a
Packit Service a2ae7a
let xfm = transform lns filter