Expand description
Language trait and registry for lanekeep.
The Language trait and the registry mapping file extensions onto grammars.
It also owns binding: the shape of a resolved binding, and the convention deciding
which import a rule’s resolvesToImport/isImportedFrom counts as a match. That
convention lives here rather than in either rule-execution engine because both call
it, and two copies would drift into answering plausibly and differently for the same
file — which no test on either side would catch.
This abstraction exists before it has a second implementor on purpose. Retrofitting it after a second language arrives is the expensive version of the same work.
Modules§
- binding
- What an identifier refers to.
Structs§
- Language
Id - A language’s stable identifier, as written in a rule’s
languagefield. - Language
Registry - Which languages are available, and which files belong to them.
Enums§
- Registry
Error - Why a language could not be registered.
Traits§
- Language
- A language lanekeep can parse.