Skip to main content

oak_lean/language/
mod.rs

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