Skip to main content

oak_perl/language/
mod.rs

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