oak_lean/language/
mod.rs

1//! Lean 语言定义
2//!
3//! 定义Lean 语言的核心结构体,实现了 oak-core Language trait
4use oak_core::{Language, LanguageCategory};
5
6/// Lean 语言定义
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
8pub struct LeanLanguage;
9
10impl Language for LeanLanguage {
11    const NAME: &'static str = "lean";
12    const CATEGORY: LanguageCategory = LanguageCategory::Programming;
13
14    type TokenType = crate::kind::LeanSyntaxKind;
15    type ElementType = crate::kind::LeanSyntaxKind;
16    type TypedRoot = crate::ast::LeanRoot;
17}
18
19impl LeanLanguage {
20    /// 创建新的 Lean 语言实例
21    pub fn new() -> Self {
22        Self
23    }
24}
25
26impl Default for LeanLanguage {
27    fn default() -> Self {
28        Self::new()
29    }
30}