diff options
Diffstat (limited to 'crates/ra_syntax/src/ast/extensions.rs')
-rw-r--r-- | crates/ra_syntax/src/ast/extensions.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/crates/ra_syntax/src/ast/extensions.rs b/crates/ra_syntax/src/ast/extensions.rs index 11ec70bc0..eee98ebc2 100644 --- a/crates/ra_syntax/src/ast/extensions.rs +++ b/crates/ra_syntax/src/ast/extensions.rs | |||
@@ -416,11 +416,17 @@ impl ast::RangePat { | |||
416 | } | 416 | } |
417 | 417 | ||
418 | impl ast::TokenTree { | 418 | impl ast::TokenTree { |
419 | pub fn left_delimiter(&self) -> Option<ast::LeftDelimiter> { | 419 | pub fn left_delimiter_token(&self) -> Option<SyntaxToken> { |
420 | self.syntax().first_child_or_token()?.into_token().and_then(ast::LeftDelimiter::cast) | 420 | self.syntax().first_child_or_token()?.into_token().filter(|it| match it.kind() { |
421 | } | 421 | T!['{'] | T!['('] | T!['['] => true, |
422 | 422 | _ => false, | |
423 | pub fn right_delimiter(&self) -> Option<ast::RightDelimiter> { | 423 | }) |
424 | self.syntax().last_child_or_token()?.into_token().and_then(ast::RightDelimiter::cast) | 424 | } |
425 | |||
426 | pub fn right_delimiter_token(&self) -> Option<SyntaxToken> { | ||
427 | self.syntax().last_child_or_token()?.into_token().filter(|it| match it.kind() { | ||
428 | T!['{'] | T!['('] | T!['['] => true, | ||
429 | _ => false, | ||
430 | }) | ||
425 | } | 431 | } |
426 | } | 432 | } |