Skip to main content

oak_scss/language/
mod.rs

1#![doc = include_str!("readme.md")]
2use oak_core::language::{Language, LanguageCategory};
3
4/// Scss language implementation.
5#[derive(Debug, Clone, Copy, PartialEq, Eq)]
6#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
7pub struct ScssLanguage {
8    // Scss language-specific configuration, currently empty.
9}
10
11impl ScssLanguage {
12    /// Creates a Scss language instance.
13    pub fn new() -> Self {
14        Self {}
15    }
16}
17
18impl Default for ScssLanguage {
19    fn default() -> Self {
20        Self {}
21    }
22}
23
24impl Language for ScssLanguage {
25    const NAME: &'static str = "scss";
26    const CATEGORY: LanguageCategory = LanguageCategory::Programming;
27
28    type TokenType = crate::lexer::token_type::ScssTokenType;
29    type ElementType = crate::parser::element_type::ScssElementType;
30    type TypedRoot = crate::ast::ScssRoot;
31}