From 1596b31698acd1ca8fe25a1b699bef4a9a6feb1d Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Wed, 12 Feb 2020 16:21:55 +0200 Subject: Do not add imports before inner attributes --- crates/ra_syntax/src/ast/extensions.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'crates/ra_syntax/src/ast') diff --git a/crates/ra_syntax/src/ast/extensions.rs b/crates/ra_syntax/src/ast/extensions.rs index 7dcf084de..a297ae110 100644 --- a/crates/ra_syntax/src/ast/extensions.rs +++ b/crates/ra_syntax/src/ast/extensions.rs @@ -71,6 +71,15 @@ impl ast::Attr { _ => None, } } + + pub fn is_inner_attribute(&self) -> bool { + let first_token = self.syntax().first_token(); + let first_token_kind = first_token.as_ref().map(SyntaxToken::kind); + let second_token_kind = + first_token.and_then(|token| token.next_token()).as_ref().map(SyntaxToken::kind); + return first_token_kind == Some(SyntaxKind::POUND) + && second_token_kind == Some(SyntaxKind::EXCL); + } } #[derive(Debug, Clone, PartialEq, Eq)] -- cgit v1.2.3