rust-analyzer/crates/ra_parser/src/syntax_kind.rs

29 lines
567 B
Rust
Raw Normal View History

//! FIXME: write short doc here
2019-05-08 15:35:32 +00:00
#[macro_use]
2018-07-29 12:16:07 +00:00
mod generated;
pub use self::generated::SyntaxKind;
2019-08-19 10:11:51 +00:00
impl From<u16> for SyntaxKind {
fn from(d: u16) -> SyntaxKind {
assert!(d <= (SyntaxKind::__LAST as u16));
unsafe { std::mem::transmute::<u16, SyntaxKind>(d) }
2018-07-29 12:16:07 +00:00
}
}
2019-08-19 10:11:51 +00:00
impl From<SyntaxKind> for u16 {
fn from(k: SyntaxKind) -> u16 {
k as u16
}
2018-07-29 12:16:07 +00:00
}
impl SyntaxKind {
2018-08-12 15:50:16 +00:00
pub fn is_trivia(self) -> bool {
2018-07-29 12:16:07 +00:00
match self {
2019-02-21 10:27:45 +00:00
SyntaxKind::WHITESPACE | SyntaxKind::COMMENT => true,
2018-07-29 12:16:07 +00:00
_ => false,
}
}
}