From a2c84aed6a77bc93020ff38b97b8c436e9a5e903 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Thu, 4 Dec 2014 18:25:12 +0200 Subject: [PATCH 04/10] Shellvars: allow wrapping builtin arguments to multiple lines --- lenses/shellvars.aug | 4 +--- lenses/tests/test_shellvars.aug | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lenses/shellvars.aug b/lenses/shellvars.aug index ae2ec90..e318328 100644 --- a/lenses/shellvars.aug +++ b/lenses/shellvars.aug @@ -43,9 +43,7 @@ module Shellvars = let dollar_arithm = /\$\(\([^\)#\n]*\)\)/ let anyquot = (char|dquot|squot|dollar_assign|dollar_arithm)+ | bquot | dbquot - - let to_semicol_re = /[^#; \t\n][^#;\n]+[^#; \t\n]|[^#; \t\n]+/ - let sto_to_semicol = store to_semicol_re + let sto_to_semicol = store (anyquot . (Rx.space . anyquot)*) let sto_to_semicol_quot = let no_semicol_re = /[^"'#;\n]/ diff --git a/lenses/tests/test_shellvars.aug b/lenses/tests/test_shellvars.aug index a61bb29..90e529b 100644 --- a/lenses/tests/test_shellvars.aug +++ b/lenses/tests/test_shellvars.aug @@ -165,6 +165,11 @@ unset ONBOOT # We do not want this var { "@builtin" = "exit" } { "@builtin" = "exit" { "args" = "2" } } + (* Allow wrapping builtin arguments to multiple lines *) + test Shellvars.lns get "ulimit -c \\\nunlimited\nulimit \\\n -x 123\n" = + { "@builtin" = "ulimit" { "args" = "-c \\\nunlimited" } } + { "@builtin" = "ulimit" { "args" = "\\\n -x 123" } } + (* Test semicolons *) test lns get "VAR1=\"this;is;a;test\"\nVAR2=this;\n" = { "VAR1" = "\"this;is;a;test\"" } -- 1.8.3.1