Skip to content

Commit

Permalink
rebase on grammar export, tests good, still needs update to createSer…
Browse files Browse the repository at this point in the history
…vicesForGrammar
  • Loading branch information
montymxb committed Dec 1, 2023
1 parent 9ebcb1f commit 7de1f83
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 16 deletions.
7 changes: 4 additions & 3 deletions packages/langium/src/grammar/internal-grammar-util.ts
Expand Up @@ -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';
Expand Down Expand Up @@ -162,8 +163,8 @@ export async function createServicesForGrammar(config: {
grammarServices?: LangiumGrammarServices,
parserConfig?: IParserConfig,
languageMetaData?: LanguageMetaData,
module?: Module<LangiumServices, PartialLangiumServices>
sharedModule?: Module<LangiumSharedServices, PartialLangiumSharedServices>
module?: Module<LangiumServices, PartialLangiumCoreServices & PartialLangiumLSPServices>
sharedModule?: Module<LangiumSharedServices, PartialLangiumSharedCoreServices & PartialLangiumSharedLSPServices>
}): Promise<LangiumServices> {
const grammarServices = config.grammarServices ?? createLangiumGrammarServices(EmptyFileSystem).grammar;
const uri = URI.parse('memory:///grammar.langium');
Expand Down
4 changes: 2 additions & 2 deletions packages/langium/src/lsp/grammar-util.ts
Expand Up @@ -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';
Expand Down
2 changes: 1 addition & 1 deletion packages/langium/src/lsp/langium-lsp-module.ts
Expand Up @@ -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';
Expand Down
8 changes: 4 additions & 4 deletions packages/langium/src/utils/grammar-loader.ts
Expand Up @@ -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<LangiumServices, PartialLangiumServices> = {
const minimalGrammarModule: Module<LangiumCoreServices, PartialLangiumCoreServices> = {
Grammar: () => undefined as unknown as ast.Grammar,
LanguageMetaData: () => ({
caseInsensitive: false,
Expand All @@ -22,11 +22,11 @@ const minimalGrammarModule: Module<LangiumServices, PartialLangiumServices> = {
})
};

const minimalSharedGrammarModule: Module<LangiumSharedServices, PartialLangiumSharedServices> = {
const minimalSharedGrammarModule: Module<LangiumSharedCoreServices, PartialLangiumSharedCoreServices> = {
AstReflection: () => new ast.LangiumGrammarAstReflection()
};

function createMinimalGrammarServices(): LangiumServices {
function createMinimalGrammarServices(): LangiumCoreServices {
const shared = inject(
createDefaultSharedModule(EmptyFileSystem),
minimalSharedGrammarModule
Expand Down
6 changes: 3 additions & 3 deletions packages/langium/test/lsp/workspace-symbol.test.ts
Expand Up @@ -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 = `
Expand All @@ -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);
Expand All @@ -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);
Expand Down
5 changes: 2 additions & 3 deletions packages/langium/test/workspace/document-builder.test.ts
Expand Up @@ -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() {
Expand All @@ -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<TestAstType> = {
Foo: (node, accept) => {
if (node.value > 10) {
Expand Down

0 comments on commit 7de1f83

Please sign in to comment.