diff options
author | Aleksey Kladov <[email protected]> | 2020-04-10 09:27:23 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2020-04-10 15:10:28 +0100 |
commit | 460c8bbdec8561a581d035f9767b7dd1ba36cfd7 (patch) | |
tree | 8bfba509776ea2c58ca6b47c668603c63a4b9d4f /crates/ra_syntax/src/ast/extensions.rs | |
parent | 1c5d8591952cbb017fd6679a1ef29a86e1499025 (diff) |
Curley tokens
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 | } |