From 61349a3d18353ddfbd992a3bf51a88f5f0cfcddd Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 27 Oct 2019 11:45:59 +0300 Subject: extract assist helper for getting a specific token --- crates/ra_assists/src/assist_ctx.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'crates/ra_assists/src/assist_ctx.rs') diff --git a/crates/ra_assists/src/assist_ctx.rs b/crates/ra_assists/src/assist_ctx.rs index e270c5d60..20d33fb16 100644 --- a/crates/ra_assists/src/assist_ctx.rs +++ b/crates/ra_assists/src/assist_ctx.rs @@ -5,7 +5,7 @@ use ra_db::FileRange; use ra_fmt::{leading_indent, reindent}; use ra_syntax::{ algo::{self, find_covering_element, find_node_at_offset}, - AstNode, SourceFile, SyntaxElement, SyntaxNode, SyntaxToken, TextRange, TextUnit, + AstNode, SourceFile, SyntaxElement, SyntaxKind, SyntaxNode, SyntaxToken, TextRange, TextUnit, TokenAtOffset, }; use ra_text_edit::TextEditBuilder; @@ -111,6 +111,10 @@ impl<'a, DB: HirDatabase> AssistCtx<'a, DB> { self.source_file.syntax().token_at_offset(self.frange.range.start()) } + pub(crate) fn find_token_at_offset(&self, kind: SyntaxKind) -> Option { + self.token_at_offset().find(|it| it.kind() == kind) + } + pub(crate) fn node_at_offset(&self) -> Option { find_node_at_offset(self.source_file.syntax(), self.frange.range.start()) } -- cgit v1.2.3