Skip to main content

Module language

Module language 

Source
Expand description

Type definitions module. Language configuration module.

§Less Language Definition

This module contains the metadata and configuration options for the Less language within the Oak framework.

§⚙️ Configuration

The LessLanguage struct defines how the parser and lexer should behave to accommodate various Less versions and project requirements:

pub struct LessLanguage {}

Currently, LessLanguage serves as a marker struct for Less support. Future versions may include configuration for:

  • version: Target Less version or module set.
  • nesting: Configures support for Less nesting features.
  • variables: Enables parsing of Less Variables (@var-name).
  • strict: When enabled, the parser enforces stricter Less rules.
  • browsers: Configures the parser to be aware of specific browser-specific properties and hacks.

§🧩 Oak Integration

By implementing the Language trait, this module provides the glue that connects:

  • TokenType: Defined in the lexer module, covering selectors, property names/values, and at-rules.
  • ElementType: Defined in the parser module, representing rulesets, declarations, and media queries.
  • TypedRoot: Defined in the ast module, providing a strongly-typed view of the Less stylesheet.

This centralization allows the Oak framework to handle generic tasks like incremental parsing and LSP support while remaining deeply aware of Less’s unique declarative syntax and the modern web design ecosystem.

Structs§

LessLanguage
Less language implementation for the Oaks framework.