Skip to main content

jrsonnet_rowan_parser/
language.rs

1use 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>;