#![doc = include_str!("readme.md")]
#[doc = include_str!("../readme.md")]
use crate::{ast::AdaRoot, lexer::AdaTokenType, parser::AdaElementType};
use oak_core::{Language, LanguageCategory};
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
pub struct AdaLanguage {
pub allow_ada_2022: bool,
pub strict_mode: bool,
}
impl AdaLanguage {
pub fn new() -> Self {
Self { allow_ada_2022: true, strict_mode: false }
}
}
impl Default for AdaLanguage {
fn default() -> Self {
Self::new()
}
}
impl Language for AdaLanguage {
const NAME: &'static str = "ada";
const CATEGORY: LanguageCategory = LanguageCategory::Programming;
type TokenType = AdaTokenType;
type ElementType = AdaElementType;
type TypedRoot = AdaRoot;
}