rune-langium / core/src / RuneDslModule
Variable: RuneDslModule
ts
const RuneDslModule: {
parser: {
LangiumParser: (services) => RuneDslParser;
};
references: {
Linker: (services) => RuneDslLinker;
ScopeComputation: (services) => RuneDslScopeComputation;
ScopeProvider: (services) => RuneDslScopeProvider;
};
serializer: {
JsonSerializer: (services) => RuneJsonSerializer;
};
};Defined in: packages/core/src/services/rune-dsl-module.ts:79
Dependency-injection module for the Rune DSL language.
Type Declaration
| Name | Type | Defined in |
|---|---|---|
parser | { LangiumParser: (services) => RuneDslParser; } | packages/core/src/services/rune-dsl-module.ts:81 |
parser.LangiumParser() | (services) => RuneDslParser | packages/core/src/services/rune-dsl-module.ts:82 |
references | { Linker: (services) => RuneDslLinker; ScopeComputation: (services) => RuneDslScopeComputation; ScopeProvider: (services) => RuneDslScopeProvider; } | packages/core/src/services/rune-dsl-module.ts:84 |
references.Linker() | (services) => RuneDslLinker | packages/core/src/services/rune-dsl-module.ts:85 |
references.ScopeComputation() | (services) => RuneDslScopeComputation | packages/core/src/services/rune-dsl-module.ts:86 |
references.ScopeProvider() | (services) => RuneDslScopeProvider | packages/core/src/services/rune-dsl-module.ts:87 |
serializer | { JsonSerializer: (services) => RuneJsonSerializer; } | packages/core/src/services/rune-dsl-module.ts:80 |
serializer.JsonSerializer() | (services) => RuneJsonSerializer | packages/core/src/services/rune-dsl-module.ts:80 |
Config
Registers all Rune DSL-specific service overrides into Langium's DI container:
parser.LangiumParser→RuneDslParser(bracket pre-processor)references.ScopeComputation→RuneDslScopeComputationreferences.ScopeProvider→RuneDslScopeProvider
Remarks
Pass this module as the last argument to inject() to override Langium defaults. The module is intentionally minimal — the generated module (RuneDslGeneratedModule) handles grammar-derived service wiring; this module only registers hand-written overrides.
Use When
- Constructing a custom Langium services container in tests or tooling
- Extending Rune DSL services with additional providers (e.g., custom formatters)
Avoid When
- Using
createRuneDslServices()directly — it already applies this module; double-injecting it will cause service registration conflicts.