Skip to main content

oak_ruby/language/
mod.rs

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