Expand description
Injected source front-end - the markup + CSS parser boundary.
Nothing under the runtime links the .lmn / CSS parser. That front-end
stays in the compiler (lumenc), and lumenc depends on the runtime for
its CLI run / build paths, so a direct parser dependency here would
form a dependency cycle. The parser is injected instead:
- The CLI (
lumenc run), the Rust SDK, and the C-ABI dev paths hand aSourceParsertoRunOptions::parser. - The dev source-load path and hot reload call it.
- The precompiled-artifact path needs no parser at all and ignores this hook, which is also every path that runs an app in a browser or on a server.
Structs§
- Runtime
Parser - World-resource wrapper so an exclusive system (one taking
&mut World, which cannot take the parser as a param) can reach the injectedSourceParser. Hot reload andset_inner_markupare the two.
Traits§
- Source
Parser - The markup/CSS front-end, injected by whoever drives the runtime from
source. Implemented in
lumenc(LumencParser) over itsroxmltreemarkup parser, the hand-rolled CSS parser, the<include>/@importresolver, and the real-filesystemFsLoader.