Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/syntax/src/ast/node_ext.rs')
-rw-r--r--crates/syntax/src/ast/node_ext.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/crates/syntax/src/ast/node_ext.rs b/crates/syntax/src/ast/node_ext.rs
index 11f5e662e3..6ec73e76f7 100644
--- a/crates/syntax/src/ast/node_ext.rs
+++ b/crates/syntax/src/ast/node_ext.rs
@@ -1140,3 +1140,13 @@ impl From<ast::AssocItem> for ast::AnyHasAttrs {
Self::new(node)
}
}
+
+impl ast::OrPat {
+ pub fn leading_pipe(&self) -> Option<SyntaxToken> {
+ self.syntax
+ .children_with_tokens()
+ .find(|it| !it.kind().is_trivia())
+ .and_then(NodeOrToken::into_token)
+ .filter(|it| it.kind() == T![|])
+ }
+}