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}