Skip to content

Commit ce57c0f

Browse files
authored
Improve configuration provider initialization routine (#1402)
1 parent 18a38ce commit ce57c0f

File tree

7 files changed

+31
-1
lines changed

7 files changed

+31
-1
lines changed

examples/arithmetics/src/language-server/arithmetics-module.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,10 @@ export function createArithmeticsServices(context: DefaultSharedModuleContext):
6969
);
7070
shared.ServiceRegistry.register(arithmetics);
7171
registerValidationChecks(arithmetics);
72+
if (!context.connection) {
73+
// We don't run inside a language server
74+
// Therefore, initialize the configuration provider instantly
75+
shared.workspace.ConfigurationProvider.initialized({});
76+
}
7277
return { shared, arithmetics };
7378
}

examples/domainmodel/src/language-server/domain-model-module.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,10 @@ export function createDomainModelServices(context: DefaultSharedModuleContext):
5454
);
5555
shared.ServiceRegistry.register(domainmodel);
5656
registerValidationChecks(domainmodel);
57+
if (!context.connection) {
58+
// We don't run inside a language server
59+
// Therefore, initialize the configuration provider instantly
60+
shared.workspace.ConfigurationProvider.initialized({});
61+
}
5762
return { shared, domainmodel };
5863
}

examples/requirements/src/language-server/requirements-and-tests-lang-module.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,10 @@ export function createRequirementsAndTestsLangServices(context: DefaultSharedMod
5252
shared.ServiceRegistry.register(tests);
5353
registerRequirementsValidationChecks(requirements);
5454
registerTestsValidationChecks(tests);
55+
if (!context.connection) {
56+
// We don't run inside a language server
57+
// Therefore, initialize the configuration provider instantly
58+
shared.workspace.ConfigurationProvider.initialized({});
59+
}
5560
return { shared, requirements, tests };
5661
}

examples/statemachine/src/language-server/statemachine-module.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,5 +66,10 @@ export function createStatemachineServices(context: DefaultSharedModuleContext):
6666
);
6767
shared.ServiceRegistry.register(statemachine);
6868
registerValidationChecks(statemachine);
69+
if (!context.connection) {
70+
// We don't run inside a language server
71+
// Therefore, initialize the configuration provider instantly
72+
shared.workspace.ConfigurationProvider.initialized({});
73+
}
6974
return { shared, statemachine };
7075
}

packages/generator-langium/templates/core/src/language/language-id-module.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,10 @@ export function create<%= LanguageName %>Services(context: DefaultSharedModuleCo
5959
);
6060
shared.ServiceRegistry.register(<%= LanguageName %>);
6161
registerValidationChecks(<%= LanguageName %>);
62+
if (!context.connection) {
63+
// We don't run inside a language server
64+
// Therefore, initialize the configuration provider instantly
65+
shared.workspace.ConfigurationProvider.initialized({});
66+
}
6267
return { shared, <%= LanguageName %> };
6368
}

packages/langium/src/grammar/langium-grammar-module.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ export function createLangiumGrammarServices(context: DefaultSharedModuleContext
9393
registerValidationChecks(grammar);
9494
registerTypeValidationChecks(grammar);
9595

96+
if (!context.connection) {
97+
// We don't run inside a language server
98+
// Therefore, initialize the configuration provider instantly
99+
shared.workspace.ConfigurationProvider.initialized({});
100+
}
101+
96102
return { shared, grammar };
97103
}
98104

packages/langium/test/workspace/configuration.test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ describe('ConfigurationProvider', () => {
1414
const grammarServices = createLangiumGrammarServices(EmptyFileSystem).grammar;
1515
const langId = grammarServices.LanguageMetaData.languageId;
1616
const configs = grammarServices.shared.workspace.ConfigurationProvider;
17-
configs.initialized({});
1817
beforeEach(() => {
1918
(configs as any).settings = {};
2019
});

0 commit comments

Comments
 (0)