diff options
Diffstat (limited to 'crates/ra_mbe/src/syntax_bridge.rs')
-rw-r--r-- | crates/ra_mbe/src/syntax_bridge.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/crates/ra_mbe/src/syntax_bridge.rs b/crates/ra_mbe/src/syntax_bridge.rs index 9cca19dbb..e0f228ce9 100644 --- a/crates/ra_mbe/src/syntax_bridge.rs +++ b/crates/ra_mbe/src/syntax_bridge.rs | |||
@@ -123,6 +123,11 @@ fn convert_tt( | |||
123 | global_offset: TextUnit, | 123 | global_offset: TextUnit, |
124 | tt: &SyntaxNode, | 124 | tt: &SyntaxNode, |
125 | ) -> Option<tt::Subtree> { | 125 | ) -> Option<tt::Subtree> { |
126 | // This tree is empty | ||
127 | if tt.first_child_or_token().is_none() { | ||
128 | return Some(tt::Subtree { token_trees: vec![], delimiter: tt::Delimiter::None }); | ||
129 | } | ||
130 | |||
126 | let first_child = tt.first_child_or_token()?; | 131 | let first_child = tt.first_child_or_token()?; |
127 | let last_child = tt.last_child_or_token()?; | 132 | let last_child = tt.last_child_or_token()?; |
128 | let (delimiter, skip_first) = match (first_child.kind(), last_child.kind()) { | 133 | let (delimiter, skip_first) = match (first_child.kind(), last_child.kind()) { |
@@ -233,7 +238,16 @@ impl<'a, Q: Querier> TreeSink for TtTreeSink<'a, Q> { | |||
233 | self.text_pos += TextUnit::of_str(&self.buf); | 238 | self.text_pos += TextUnit::of_str(&self.buf); |
234 | let text = SmolStr::new(self.buf.as_str()); | 239 | let text = SmolStr::new(self.buf.as_str()); |
235 | self.buf.clear(); | 240 | self.buf.clear(); |
236 | self.inner.token(kind, text) | 241 | self.inner.token(kind, text); |
242 | |||
243 | // // Add a white space to token | ||
244 | // let (last_kind, _, last_joint_to_next ) = self.src_querier.token(self.token_pos-n_tokens as usize); | ||
245 | // if !last_joint_to_next && last_kind.is_punct() { | ||
246 | // let (cur_kind, _, _ ) = self.src_querier.token(self.token_pos); | ||
247 | // if cur_kind.is_punct() { | ||
248 | // self.inner.token(WHITESPACE, " ".into()); | ||
249 | // } | ||
250 | // } | ||
237 | } | 251 | } |
238 | 252 | ||
239 | fn start_node(&mut self, kind: SyntaxKind) { | 253 | fn start_node(&mut self, kind: SyntaxKind) { |