diff options
Diffstat (limited to 'crates/rebel-parse/src/token.rs')
-rw-r--r-- | crates/rebel-parse/src/token.rs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/crates/rebel-parse/src/token.rs b/crates/rebel-parse/src/token.rs index d147205..2f2f849 100644 --- a/crates/rebel-parse/src/token.rs +++ b/crates/rebel-parse/src/token.rs @@ -15,12 +15,19 @@ pub enum Spacing { Joint, } -#[derive(Clone, Copy, Debug, PartialEq, Eq)] +#[derive(Clone, Debug, PartialEq, Eq)] pub struct String<'a> { - pub content: &'a str, + pub pieces: Vec<StringPiece<'a>>, pub kind: StringKind, } +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum StringPiece<'a> { + Chars(&'a str), + Escape(char), + Interp(TokenStream<'a>), +} + #[derive(Clone, Copy, Debug, PartialEq, Eq)] pub enum StringKind { String, |