From c12450fb4e30c3418555e47d045bb9fd4318a10a Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 29 Jul 2018 13:51:55 +0300 Subject: Introduce red-green syntax tree --- src/parser/event.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/parser/event.rs') diff --git a/src/parser/event.rs b/src/parser/event.rs index ac8a55de9..0fbfaeb9f 100644 --- a/src/parser/event.rs +++ b/src/parser/event.rs @@ -1,5 +1,5 @@ use { - ErrorMsg, File, FileBuilder, Sink, SyntaxKind, Token, + ErrorMsg, File, FileBuilder, Sink, SyntaxKind, Token, GreenBuilder, syntax_kinds::TOMBSTONE, }; use super::is_insignificant; @@ -69,6 +69,11 @@ pub(crate) enum Event { pub(super) fn to_file(text: String, tokens: &[Token], events: Vec) -> File { let mut builder = FileBuilder::new(text); + process(&mut builder, tokens, events); + builder.finish() +} + +pub(super) fn process(builder: &mut Sink, tokens: &[Token], events: Vec) { let mut idx = 0; let mut holes = Vec::new(); @@ -145,5 +150,4 @@ pub(super) fn to_file(text: String, tokens: &[Token], events: Vec) -> Fil &Event::Error { ref msg } => builder.error(ErrorMsg { msg: msg.clone() }), } } - builder.finish() } -- cgit v1.2.3