diff --git a/packages/langium/src/grammar/internal-grammar-util.ts b/packages/langium/src/grammar/internal-grammar-util.ts index 29c91f196..37172f3c8 100644 --- a/packages/langium/src/grammar/internal-grammar-util.ts +++ b/packages/langium/src/grammar/internal-grammar-util.ts @@ -16,7 +16,8 @@ import type { IParserConfig } from '../parser/parser-config.js'; import type { LanguageMetaData } from '../languages/language-meta-data.js'; import type { Module} from '../dependency-injection.js'; import { inject } from '../dependency-injection.js'; -import type { LangiumGeneratedServices, LangiumGeneratedSharedServices, LangiumServices, LangiumSharedServices, PartialLangiumServices, PartialLangiumSharedServices } from '../services.js'; +import type { LangiumGeneratedServices, LangiumGeneratedSharedServices, PartialLangiumCoreServices, PartialLangiumSharedCoreServices } from '../services.js'; +import type { LangiumServices, LangiumSharedServices, PartialLangiumLSPServices, PartialLangiumSharedLSPServices, } from '../lsp/lsp-services.js'; import { EmptyFileSystem } from '../workspace/file-system-provider.js'; import { interpretAstReflection } from './ast-reflection-interpreter.js'; import { createDefaultModule, createDefaultSharedModule } from '../default-module.js'; @@ -162,8 +163,8 @@ export async function createServicesForGrammar(config: { grammarServices?: LangiumGrammarServices, parserConfig?: IParserConfig, languageMetaData?: LanguageMetaData, - module?: Module - sharedModule?: Module + module?: Module + sharedModule?: Module }): Promise { const grammarServices = config.grammarServices ?? createLangiumGrammarServices(EmptyFileSystem).grammar; const uri = URI.parse('memory:///grammar.langium'); diff --git a/packages/langium/src/lsp/grammar-util.ts b/packages/langium/src/lsp/grammar-util.ts index b311fbea4..494e893a1 100644 --- a/packages/langium/src/lsp/grammar-util.ts +++ b/packages/langium/src/lsp/grammar-util.ts @@ -6,13 +6,13 @@ import type { Module } from '../dependency-injection.js'; import type { LangiumGrammarServices } from '../grammar/langium-grammar-module.js'; -import type { LanguageMetaData } from '../grammar/language-meta-data.js'; +import type { LanguageMetaData } from '../languages/language-meta-data.js'; import type { IParserConfig } from '../parser/parser-config.js'; import type { LangiumGeneratedServices, LangiumGeneratedSharedServices, LangiumCoreServices, LangiumSharedCoreServices, PartialLangiumCoreServices, PartialLangiumSharedCoreServices } from '../services.js'; import { createDefaultModule, createDefaultSharedModule } from '../default-module.js'; import { inject } from '../dependency-injection.js'; import { interpretAstReflection } from '../grammar/ast-reflection-interpreter.js'; -import type * as ast from '../grammar/generated/ast.js'; +import type * as ast from '../languages/generated/ast.js'; import { createLangiumGrammarServices } from '../grammar/langium-grammar-module.js'; import { getDocument } from '../utils/ast-util.js'; import { EmptyFileSystem } from '../workspace/file-system-provider.js'; diff --git a/packages/langium/src/lsp/langium-lsp-module.ts b/packages/langium/src/lsp/langium-lsp-module.ts index 035bfa639..b6e0f78c6 100644 --- a/packages/langium/src/lsp/langium-lsp-module.ts +++ b/packages/langium/src/lsp/langium-lsp-module.ts @@ -24,7 +24,7 @@ import { TextDocument } from 'vscode-languageserver-textdocument'; import type { LangiumSharedCoreServices, PartialLangiumSharedCoreServices } from '../services.js'; import { LangiumGrammarModule, type LangiumGrammarServices } from '../grammar/langium-grammar-module.js'; import { LangiumGrammarGeneratedModule, LangiumGrammarGeneratedSharedModule } from '../grammar/generated/module.js'; -import { registerValidationChecks } from '../grammar/internal-grammar-util.js'; +import { registerValidationChecks } from '../grammar/validation/validator.js'; import { registerTypeValidationChecks } from '../grammar/validation/types-validator.js'; import { LSPConfigurationProvider } from './workspace/default-configuration.js'; import { LSPLangiumDocumentFactory } from './workspace/documents.js'; diff --git a/packages/langium/src/utils/grammar-loader.ts b/packages/langium/src/utils/grammar-loader.ts index ef6b69379..d7630a33b 100644 --- a/packages/langium/src/utils/grammar-loader.ts +++ b/packages/langium/src/utils/grammar-loader.ts @@ -6,14 +6,14 @@ import type { Mutable } from './ast-util.js'; import type { Module } from '../dependency-injection.js'; -import type { LangiumServices, LangiumSharedServices, PartialLangiumServices, PartialLangiumSharedServices } from '../services.js'; +import type { LangiumCoreServices, LangiumSharedCoreServices, PartialLangiumCoreServices, PartialLangiumSharedCoreServices } from '../services.js'; import * as ast from '../languages/generated/ast.js'; import { inject } from '../dependency-injection.js'; import { createDefaultModule, createDefaultSharedModule } from '../default-module.js'; import { EmptyFileSystem } from '../workspace/file-system-provider.js'; import { URI } from './uri-util.js'; -const minimalGrammarModule: Module = { +const minimalGrammarModule: Module = { Grammar: () => undefined as unknown as ast.Grammar, LanguageMetaData: () => ({ caseInsensitive: false, @@ -22,11 +22,11 @@ const minimalGrammarModule: Module = { }) }; -const minimalSharedGrammarModule: Module = { +const minimalSharedGrammarModule: Module = { AstReflection: () => new ast.LangiumGrammarAstReflection() }; -function createMinimalGrammarServices(): LangiumServices { +function createMinimalGrammarServices(): LangiumCoreServices { const shared = inject( createDefaultSharedModule(EmptyFileSystem), minimalSharedGrammarModule diff --git a/packages/langium/test/lsp/workspace-symbol.test.ts b/packages/langium/test/lsp/workspace-symbol.test.ts index fe15a65f5..fed02456d 100644 --- a/packages/langium/test/lsp/workspace-symbol.test.ts +++ b/packages/langium/test/lsp/workspace-symbol.test.ts @@ -5,7 +5,7 @@ ******************************************************************************/ import { describe, test } from 'vitest'; -import { createServicesForGrammar } from 'langium/grammar'; +import { createServicesForGrammarWithLSP } from 'langium/lsp'; import { expectWorkspaceSymbols, parseHelper } from 'langium/test'; const grammar = ` @@ -19,7 +19,7 @@ const grammar = ` describe('Workspace symbols', () => { test('Should show all workspace symbols', async () => { - const helloWorldServices = await createServicesForGrammar({ + const helloWorldServices = await createServicesForGrammarWithLSP({ grammar }); const symbols = expectWorkspaceSymbols(helloWorldServices.shared); @@ -35,7 +35,7 @@ describe('Workspace symbols', () => { }); test('Should show all workspace symbols matching the query', async () => { - const helloWorldServices = await createServicesForGrammar({ + const helloWorldServices = await createServicesForGrammarWithLSP({ grammar }); const symbols = expectWorkspaceSymbols(helloWorldServices.shared); diff --git a/packages/langium/test/workspace/document-builder.test.ts b/packages/langium/test/workspace/document-builder.test.ts index d4b746670..791c80148 100644 --- a/packages/langium/test/workspace/document-builder.test.ts +++ b/packages/langium/test/workspace/document-builder.test.ts @@ -9,8 +9,7 @@ import { describe, expect, test } from 'vitest'; import { CancellationTokenSource } from 'vscode-languageserver'; import { TextDocument } from 'vscode-languageserver-textdocument'; import { isOperationCancelled, DocumentState, URI } from 'langium'; -import { createServicesForGrammar } from 'langium/grammar'; -import { type LangiumServices } from 'langium/lsp'; +import { createServicesForGrammarWithLSP, type LangiumServices } from 'langium/lsp'; describe('DefaultDocumentBuilder', () => { async function createServices() { @@ -26,7 +25,7 @@ describe('DefaultDocumentBuilder', () => { terminal ID: /[_a-zA-Z][\\w_]*/; hidden terminal WS: /\\s+/; `; - const services = await createServicesForGrammar({ grammar }); + const services = await createServicesForGrammarWithLSP({ grammar }); const fastChecks: ValidationChecks = { Foo: (node, accept) => { if (node.value > 10) {