aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/ast/extensions.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/ast/extensions.rs')
-rw-r--r--crates/ra_syntax/src/ast/extensions.rs18
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
418impl ast::TokenTree { 418impl 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}