Skip to main content

oak_typst/language/
mod.rs

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