aboutsummaryrefslogtreecommitdiff
path: root/nomsu.peg
diff options
context:
space:
mode:
Diffstat (limited to 'nomsu.peg')
-rw-r--r--nomsu.peg22
1 files changed, 11 insertions, 11 deletions
diff --git a/nomsu.peg b/nomsu.peg
index 2497e7c..8b4d9ec 100644
--- a/nomsu.peg
+++ b/nomsu.peg
@@ -85,15 +85,6 @@ inline_text (Text):
(({} (eol->'Line ended before finding a closing double quotation mark') %userdata) => error)
/(({} ([^%nl]*->'Unexpected character while parsing Text') %userdata) => error)
))
-
--- Have to use "%indent" instead of "indent" etc. to avoid messing up text lines that start with "#"
-indented_text (Text):
- '".."' eol %nl {|
- {~ (%nl*) (%indent -> "") ~}
- ({~
- (("\\" -> "\") / (("\" nodent "..") -> "")/ (%nl+ {~ %nodent -> "" ~}) / [^%nl\] / (!text_interpolation "\"))+
- ~} / text_interpolation)*
- |} (((!.) %dedent) / (&(%nl %dedent)) / (({} (non_dedent_error -> "Unexpected character while parsing Text") %userdata) => error))
inline_text_interpolation:
"\" (
variable / inline_list / inline_dict / inline_text
@@ -105,9 +96,18 @@ inline_text_interpolation:
/ (({} ([^%nl]* -> 'Unexpected character while parsing Text interpolation') %userdata) => error))
)
)
+
+-- Have to use "%indent" instead of "indent" etc. to avoid messing up text lines that start with "#"
+indented_text (Text):
+ '".."' eol %nl {|
+ {~ (%nl*) (%indent -> "") ~}
+ (indented_plain_text / text_interpolation / {~ ("\" nodent "..") -> "" ~} / {~ %nl+ (%nodent -> "") ~})*
+ |} (((!.) %dedent) / (&(%nl %dedent)) / (({} (non_dedent_error -> "Unexpected character while parsing Text") %userdata) => error))
+indented_plain_text (Text):
+ {| ({~ "\\" -> "\" ~} / {[^%nl\]+} / {!(text_interpolation / "\" nodent "..") "\"})+
+ {~ (%nl+ (%nodent -> "")) / (("\" nodent "..") -> "") ~}* |}
text_interpolation:
- inline_text_interpolation /
- ("\" indented_expression nodent "..")
+ inline_text_interpolation / ("\" indented_expression nodent "..")
number (Number): {| (("-"? (([0-9]+ "." [0-9]+) / ("." [0-9]+) / ([0-9]+)))-> tonumber) |}