Bump to 1.14.1
[platform/upstream/augeas.git] / lenses / shellvars_list.aug
index 53c79a9..105939c 100644 (file)
@@ -17,22 +17,24 @@ module Shellvars_list =
   let dqword = /([^ "\\\t\n]|\\\\.)+/
   let uqword = /([^ `"'\\\t\n]|\\\\.)+/
   let bqword = /`[^`\n]*`/
+  let space_or_nl = /[ \t\n]+/
+  let space_or_cl = space_or_nl | Rx.cl
 
   (* lists values of the form ...  val1 val2 val3  ... *)
-  let list(word:regexp) =
+  let list (word:regexp) (sep:regexp) =
     let list_value = store word in
       indent .
       [ label "value" . list_value ] .
-      [ del /[ \t\n]+/ " "  . label "value" . list_value ]* . indent
+      [ del sep " "  . label "value" . list_value ]* . indent
 
 
   (* handle single quoted lists *)
   let squote_arr = [ label "quote" . store /'/ ]
-                   . (list sqword)? . del /'/ "'"
+                   . (list sqword space_or_nl)? . del /'/ "'"
 
-  (* similarly handle double qouted lists *)
+  (* similarly handle double quoted lists *)
   let dquote_arr = [ label "quote" . store /"/ ]
-                   . (list dqword)? . del /"/ "\""
+                   . (list dqword space_or_cl)? . del /"/ "\""
 
   (* handle unquoted single value *)
   let unquot_val = [ label "quote" . store "" ]