oak_dhall/language/
mod.rs1#![doc = include_str!("readme.md")]
2use crate::ast::DHallRoot;
3use oak_core::{Language, LanguageCategory};
4
5#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
7#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
8pub struct DHallLanguage {
9 pub unicode_identifiers: bool,
11}
12
13impl DHallLanguage {
14 pub fn new() -> Self {
16 Self::default()
17 }
18}
19
20impl Default for DHallLanguage {
21 fn default() -> Self {
22 Self { unicode_identifiers: true }
23 }
24}
25
26impl Language for DHallLanguage {
27 const NAME: &'static str = "dhall";
28 const CATEGORY: LanguageCategory = LanguageCategory::Programming;
29
30 type TokenType = crate::lexer::token_type::DHallTokenType;
31 type ElementType = crate::parser::element_type::DHallElementType;
32 type TypedRoot = DHallRoot;
33}