Skip to main content

oak_tex/language/
mod.rs

1use crate::{ast::TexRoot, kind::TexSyntaxKind};
2use oak_core::{Language, LanguageCategory};
3use serde::{Deserialize, Serialize};
4
5/// TeX 语言定义
6#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash, Serialize, Deserialize)]
7pub struct TexLanguage {}
8
9impl TexLanguage {
10    pub fn new() -> Self {
11        Self {}
12    }
13}
14
15impl Language for TexLanguage {
16    const NAME: &'static str = "tex";
17    const CATEGORY: LanguageCategory = LanguageCategory::Markup;
18    type TokenType = TexSyntaxKind;
19    type ElementType = TexSyntaxKind;
20    type TypedRoot = TexRoot;
21}