Skip to content

Commit f67ee69

Browse files
author
TomasKralCZ
committed
added eq_token() method to LetStmt
1 parent 514df15 commit f67ee69

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

crates/ra_assists/src/assists/add_explicit_type.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use hir::{db::HirDatabase, HirDisplay};
22
use ra_syntax::{
33
ast::{self, AstNode, LetStmt, NameOwner},
4-
SyntaxKind::EQ,
54
TextRange, T,
65
};
76

@@ -37,7 +36,7 @@ pub(crate) fn add_explicit_type(ctx: AssistCtx<impl HirDatabase>) -> Option<Assi
3736
let name_range = name.syntax().text_range();
3837
// Assist should only be applicable if cursor is between 'let' and '='
3938
let stmt_range = stmt.syntax().text_range();
40-
let eq_range = stmt.syntax().descendants_with_tokens().find(|t| t.kind() == EQ)?.text_range();
39+
let eq_range = stmt.eq_token()?.text_range();
4140
let let_range = TextRange::from_to(stmt_range.start(), eq_range.start());
4241
let cursor_in_range = ctx.frange.range.is_subrange(&let_range);
4342
if !cursor_in_range {

crates/ra_syntax/src/ast/extensions.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,13 @@ impl ast::LetStmt {
234234
Some(node) => node.kind() == T![;],
235235
}
236236
}
237+
238+
pub fn eq_token(&self) -> Option<SyntaxToken> {
239+
self.syntax()
240+
.descendants_with_tokens()
241+
.find(|t| t.kind() == EQ)
242+
.and_then(|it| it.into_token())
243+
}
237244
}
238245

239246
impl ast::ExprStmt {

0 commit comments

Comments
 (0)