marianoguerra/shrubbery-css/lower does not have a README file

    Lowered

    A lowering: the tree, and everything noticed on the way.

    Lowered::has_errors

    fn Lowered::has_errors(self : Lowered) -> Bool

    LoweredBlock

    A lowering of a rule BODY: the items, and everything noticed on the way.

    LoweredBlock::has_errors

    fn LoweredBlock::has_errors(self : LoweredBlock) -> Bool

    lower

    Lower a parsed shrubbery tree.

    lower_block

    Lower a parsed shrubbery tree as the BODY of a rule.

    lower starts at the top of a file, where CSS has no declarations at all -- so a consumer holding a SCOPED fragment cannot use it. Everything that goes inside one [data-cid="3"] { ... } is made of exactly the declarations that are refused up there, and correctly refused: the context is the first level of the rule-versus-declaration cascade, and at the top of a file the answer really is "rule".

    This is the same lowering in Nested, the context that admits both. A declaration is a declaration, a nested rule is a nested rule, and a top-level-only at-rule is refused the way it would be inside any other rule body.

    lower_block_source

    fn lower_block_source(src : String, strict? : Bool) -> LoweredBlock raise
    ShrubCssError

    Parse a scoped shrubbery-CSS fragment and lower it as a rule body.

    lower_source

    fn lower_source(src : String, strict? : Bool) -> Lowered raise
    ShrubCssError

    Parse shrubbery source and lower it in one step.

    Shrubbery's own diagnostics come first and are converted, so a caller sees one list rather than having to consult two. A source that does not parse lowers to an empty stylesheet: there is no tree to lower, and inventing one would put the bridge's guesses where the notation's answer should be.

    Powered by MoonBit

    Site sourceReport issuePackagesBuild queueSkillsStatistics

    © 2026 mooncakes.io