grass_compiler/parse/
mod.rs

1use crate::ast::*;
2
3pub(crate) use at_root_query::AtRootQueryParser;
4pub(crate) use base::BaseParser;
5pub(crate) use css::CssParser;
6pub(crate) use keyframes::KeyframesSelectorParser;
7pub(crate) use media_query::MediaQueryParser;
8pub(crate) use sass::SassParser;
9pub(crate) use scss::ScssParser;
10pub(crate) use stylesheet::StylesheetParser;
11
12mod at_root_query;
13mod base;
14mod css;
15mod keyframes;
16mod media_query;
17mod sass;
18mod scss;
19mod stylesheet;
20mod value;
21
22#[derive(Debug, Clone)]
23#[allow(clippy::large_enum_variant)]
24pub(crate) enum DeclarationOrBuffer {
25    Stmt(AstStmt),
26    Buffer(Interpolation),
27}
28
29/// Names that functions are not allowed to have
30pub(super) const RESERVED_IDENTIFIERS: [&str; 8] = [
31    "calc",
32    "element",
33    "expression",
34    "url",
35    "and",
36    "or",
37    "not",
38    "clamp",
39];
40
41#[derive(Debug, Clone)]
42pub(crate) enum VariableDeclOrInterpolation {
43    VariableDecl(AstVariableDecl),
44    Interpolation(Interpolation),
45}