Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/mbe/src/syntax_bridge.rs')
| -rw-r--r-- | crates/mbe/src/syntax_bridge.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/crates/mbe/src/syntax_bridge.rs b/crates/mbe/src/syntax_bridge.rs index 06597f458b..7f68543310 100644 --- a/crates/mbe/src/syntax_bridge.rs +++ b/crates/mbe/src/syntax_bridge.rs @@ -149,7 +149,18 @@ fn convert_tokens<C: TokenConvertor>(conv: &mut C) -> tt::Subtree { let k: SyntaxKind = token.kind(); if k == COMMENT { if let Some(tokens) = conv.convert_doc_comment(&token) { - result.extend(tokens); + // FIXME: There has to be a better way to do this + // Add the comments token id to the converted doc string + let id = conv.id_alloc().alloc(range); + result.extend(tokens.into_iter().map(|mut tt| { + if let tt::TokenTree::Subtree(sub) = &mut tt { + if let tt::TokenTree::Leaf(tt::Leaf::Literal(lit)) = &mut sub.token_trees[2] + { + lit.id = id + } + } + tt + })); } continue; } |