summaryrefslogtreecommitdiffstats
path: root/crates/rebel-parse/src/grammar/tokenize.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/rebel-parse/src/grammar/tokenize.rs')
-rw-r--r--crates/rebel-parse/src/grammar/tokenize.rs21
1 files changed, 15 insertions, 6 deletions
diff --git a/crates/rebel-parse/src/grammar/tokenize.rs b/crates/rebel-parse/src/grammar/tokenize.rs
index 5f21461..a64c5e1 100644
--- a/crates/rebel-parse/src/grammar/tokenize.rs
+++ b/crates/rebel-parse/src/grammar/tokenize.rs
@@ -33,14 +33,23 @@ peg::parser! {
= $(['0'..='9'] ['0'..='9' | 'a'..='z' | 'A'..='Z' | '_']*)
rule string() -> String<'input>
- = "\"" content:$(string_char()*) "\"" {
- String { content, kind: StringKind::String }
+ = "\"" chars:$(string_char()*) "\"" {
+ String {
+ pieces: vec![StringPiece::Chars(chars)],
+ kind: StringKind::String,
+ }
}
- / "r\"" content:$([^'"']*) "\"" {
- String { content, kind: StringKind::RawString }
+ / "r\"" chars:$([^'"']*) "\"" {
+ String {
+ pieces: vec![StringPiece::Chars(chars)],
+ kind: StringKind::RawString,
+ }
}
- / "```" newline() content:$((!"```" [_])+) "```" {
- String { content, kind: StringKind::ScriptString }
+ / "```" newline() chars:$((!"```" [_])+) "```" {
+ String {
+ pieces: vec![StringPiece::Chars(chars)],
+ kind: StringKind::ScriptString,
+ }
}
rule string_char()