diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs index cf04c3de08..ab017d2ada 100644 --- a/crates/ide/src/hover.rs +++ b/crates/ide/src/hover.rs @@ -139,6 +139,11 @@ pub(crate) fn hover( } } + if token.kind() == syntax::SyntaxKind::COMMENT { + // don't highlight the entire parent node on comment hover + return None; + } + let node = token.ancestors().find(|n| { ast::Expr::can_cast(n.kind()) || ast::Pat::can_cast(n.kind()) @@ -3419,4 +3424,15 @@ mod Foo<|> { "#]], ); } + + #[test] + fn hover_comments_dont_highlight_parent() { + check_hover_no_result( + r#" +fn no_hover() { + // no<|>hover +} +"#, + ); + } }