[augeas-devel] augeas: master - Grub: parse individual arguments for serial command
David Lutterkort
lutter at fedoraproject.org
Fri Apr 17 22:07:20 UTC 2009
Gitweb: http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=4aa11b03b26808e5d35c06c5a98f11da59f04963
Commit: 4aa11b03b26808e5d35c06c5a98f11da59f04963
Parent: eff826b0fc8c67db5ef0f7da17a5a9d55c3b827f
Author: David Lutterkort <lutter at redhat.com>
AuthorDate: Thu Apr 9 15:28:44 2009 -0700
Committer: David Lutterkort <lutter at redhat.com>
CommitterDate: Mon Apr 13 19:25:58 2009 -0700
Grub: parse individual arguments for serial command
---
lenses/grub.aug | 10 ++++++++--
lenses/tests/test_grub.aug | 9 +++++++++
2 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/lenses/grub.aug b/lenses/grub.aug
index 8015a31..9faabf4 100644
--- a/lenses/grub.aug
+++ b/lenses/grub.aug
@@ -12,7 +12,8 @@ module Grub =
let opt_ws = Util.del_opt_ws ""
let dels (s:string) = Util.del_str s
let eq = dels "="
- let switch (n:string) = dels ("--" . n) . label n
+ let switch (n:regexp) = dels "--" . key n
+ let switch_arg (n:regexp) = switch n . eq . store Rx.no_spaces
let value_sep (dflt:string) = del /[ \t]*[ \t=][ \t]*/ dflt
let command (kw:string) (indent:string) =
@@ -44,12 +45,17 @@ module Grub =
(spc . [ label "highlight" . color_spec ])? .
eol ]
+ let serial =
+ [ command "serial" "" .
+ [ spc . switch_arg /unit|port|speed|word|parity|stop|device/ ]* .
+ eol ]
+
let menu_setting = kw_menu_arg "default"
| kw_menu_arg "fallback"
| kw_pres "hiddenmenu"
| kw_menu_arg "timeout"
| kw_menu_arg "splashimage"
- | kw_menu_arg "serial"
+ | serial
| kw_menu_arg "terminal"
| password_arg
| color
diff --git a/lenses/tests/test_grub.aug b/lenses/tests/test_grub.aug
index e104f35..7f26035 100644
--- a/lenses/tests/test_grub.aug
+++ b/lenses/tests/test_grub.aug
@@ -114,6 +114,15 @@ initrd\t\t/boot/initrd.img-2.6.18-6-vserver-686
{ "initrd" = "/boot/initrd.img-2.6.18-6-vserver-686" }
{ "savedefault" } }
+ test Grub.lns get
+ "serial --unit=0 --speed=9600 --word=8 --parity=no --stop=1\n"
+ =
+ { "serial"
+ { "unit" = "0" }
+ { "speed" = "9600" }
+ { "word" = "8" }
+ { "parity" = "no" }
+ { "stop" = "1" } }
(* Local Variables: *)
(* mode: caml *)
More information about the augeas-devel
mailing list