jrsonnet_rowan_parser/
language.rs1use rowan::Language;
2
3use crate::SyntaxKind;
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
6pub enum JsonnetLanguage {}
7impl Language for JsonnetLanguage {
8 type Kind = SyntaxKind;
9
10 fn kind_from_raw(raw: rowan::SyntaxKind) -> SyntaxKind {
11 SyntaxKind::from_raw(raw.0)
12 }
13
14 fn kind_to_raw(kind: SyntaxKind) -> rowan::SyntaxKind {
15 rowan::SyntaxKind(kind.into_raw())
16 }
17}
18
19pub type SyntaxNode = rowan::SyntaxNode<JsonnetLanguage>;
20pub type SyntaxToken = rowan::SyntaxToken<JsonnetLanguage>;
21pub type SyntaxElement = rowan::SyntaxElement<JsonnetLanguage>;
22pub type SyntaxNodeChildren = rowan::SyntaxNodeChildren<JsonnetLanguage>;
23pub type SyntaxElementChildren = rowan::SyntaxElementChildren<JsonnetLanguage>;
24pub type PreorderWithTokens = rowan::api::PreorderWithTokens<JsonnetLanguage>;