Skip to main content

oak_bash/language/
mod.rs

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