Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/parser/src/syntax_kind.rs')
-rw-r--r--crates/parser/src/syntax_kind.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/crates/parser/src/syntax_kind.rs b/crates/parser/src/syntax_kind.rs
index 3ca6bd4cb1..6a8cca9ccc 100644
--- a/crates/parser/src/syntax_kind.rs
+++ b/crates/parser/src/syntax_kind.rs
@@ -3,6 +3,8 @@
mod generated;
+use crate::Edition;
+
#[allow(unreachable_pub)]
pub use self::generated::SyntaxKind;
@@ -26,4 +28,11 @@ impl SyntaxKind {
pub fn is_trivia(self) -> bool {
matches!(self, SyntaxKind::WHITESPACE | SyntaxKind::COMMENT)
}
+
+ /// Returns true if this is an identifier or a keyword.
+ #[inline]
+ pub fn is_any_identifier(self) -> bool {
+ // Assuming no edition removed keywords...
+ self == SyntaxKind::IDENT || self.is_keyword(Edition::LATEST)
+ }
}