diff --git a/packages/langium/src/default-module.ts b/packages/langium/src/default-module.ts index bb6c51b37..a9e8b8217 100644 --- a/packages/langium/src/default-module.ts +++ b/packages/langium/src/default-module.ts @@ -23,6 +23,7 @@ import { DefaultDocumentValidator } from './validation/document-validator.js'; import { ValidationRegistry } from './validation/validation-registry.js'; import { DefaultAstNodeDescriptionProvider, DefaultReferenceDescriptionProvider } from './workspace/ast-descriptions.js'; import { DefaultAstNodeLocator } from './workspace/ast-node-locator.js'; +import { DefaultConfigurationProvider } from './workspace/configuration.js'; import { DefaultDocumentBuilder } from './workspace/document-builder.js'; import { DefaultLangiumDocumentFactory, DefaultLangiumDocuments } from './workspace/documents.js'; import { DefaultIndexManager } from './workspace/index-manager.js'; @@ -33,7 +34,6 @@ import { DefaultCommentProvider } from './documentation/comment-provider.js'; import { LangiumParserErrorMessageProvider } from './parser/langium-parser.js'; import { DefaultAsyncParser } from './parser/async-parser.js'; import { DefaultWorkspaceLock } from './workspace/workspace-lock.js'; -import { DefaultConfigurationProvider } from './index.js'; /** * Context required for creating the default language-specific dependency injection module. diff --git a/packages/langium/src/documentation/jsdoc.ts b/packages/langium/src/documentation/jsdoc.ts index 32ae2202f..29d4d58a1 100644 --- a/packages/langium/src/documentation/jsdoc.ts +++ b/packages/langium/src/documentation/jsdoc.ts @@ -4,8 +4,8 @@ * terms of the MIT License, which is available in the project root. ******************************************************************************/ +import { Position, Range } from 'vscode-languageserver-types'; import type { CstNode } from '../syntax-tree.js'; -import { Position, Range } from 'vscode-languageserver'; import { NEWLINE_REGEXP, escapeRegExp } from '../utils/regexp-utils.js'; import { URI } from '../utils/uri-utils.js'; diff --git a/packages/langium/src/utils/ast-utils.ts b/packages/langium/src/utils/ast-utils.ts index cb915be82..92030e945 100644 --- a/packages/langium/src/utils/ast-utils.ts +++ b/packages/langium/src/utils/ast-utils.ts @@ -4,7 +4,7 @@ * terms of the MIT License, which is available in the project root. ******************************************************************************/ -import type { Range } from 'vscode-languageserver'; +import type { Range } from 'vscode-languageserver-types'; import type { AstNode, AstReflection, CstNode, GenericAstNode, Mutable, PropertyType, Reference, ReferenceInfo } from '../syntax-tree.js'; import type { Stream, TreeStream } from './stream.js'; import type { LangiumDocument } from '../workspace/documents.js'; diff --git a/packages/langium/src/utils/cst-utils.ts b/packages/langium/src/utils/cst-utils.ts index 59e6b1a5c..21135516c 100644 --- a/packages/langium/src/utils/cst-utils.ts +++ b/packages/langium/src/utils/cst-utils.ts @@ -5,7 +5,7 @@ ******************************************************************************/ import type { IToken } from '@chevrotain/types'; -import type { Range } from 'vscode-languageserver'; +import type { Range } from 'vscode-languageserver-types'; import type { CstNode, CompositeCstNode, LeafCstNode } from '../syntax-tree.js'; import type { DocumentSegment } from '../workspace/documents.js'; import type { Stream, TreeStream } from './stream.js'; diff --git a/packages/langium/src/validation/document-validator.ts b/packages/langium/src/validation/document-validator.ts index 1c73d2bf5..e5e1d56d5 100644 --- a/packages/langium/src/validation/document-validator.ts +++ b/packages/langium/src/validation/document-validator.ts @@ -5,14 +5,13 @@ ******************************************************************************/ import type { MismatchedTokenException } from 'chevrotain'; -import type { Diagnostic } from 'vscode-languageserver'; +import type { DiagnosticSeverity, Position, Range, Diagnostic } from 'vscode-languageserver-types'; import type { LanguageMetaData } from '../languages/language-meta-data.js'; import type { ParseResult } from '../parser/langium-parser.js'; import type { LangiumCoreServices } from '../services.js'; import type { AstNode, CstNode } from '../syntax-tree.js'; import type { LangiumDocument } from '../workspace/documents.js'; import type { DiagnosticData, DiagnosticInfo, ValidationAcceptor, ValidationCategory, ValidationRegistry } from './validation-registry.js'; -import { DiagnosticSeverity, Position, Range } from 'vscode-languageserver'; import { CancellationToken } from '../utils/cancellation.js'; import { findNodeForKeyword, findNodeForProperty } from '../utils/grammar-utils.js'; import { streamAst } from '../utils/ast-utils.js'; @@ -100,7 +99,7 @@ export class DefaultDocumentValidator implements DocumentValidator { protected processLexingErrors(parseResult: ParseResult, diagnostics: Diagnostic[], _options: ValidationOptions): void { for (const lexerError of parseResult.lexerErrors) { const diagnostic: Diagnostic = { - severity: DiagnosticSeverity.Error, + severity: toDiagnosticSeverity('error'), range: { start: { line: lexerError.line! - 1, @@ -131,12 +130,13 @@ export class DefaultDocumentValidator implements DocumentValidator { if ('previousToken' in parserError) { const token = (parserError as MismatchedTokenException).previousToken; if (!isNaN(token.startOffset)) { - const position = Position.create(token.endLine! - 1, token.endColumn!); - range = Range.create(position, position); + const position: Position = { line: token.endLine! - 1, character: token.endColumn! }; + range = { start: position, end: position}; } else { // No valid prev token. Might be empty document or containing only hidden tokens. // Point to document start - range = Range.create(0, 0, 0, 0); + const position: Position = { line: 0, character: 0 }; + range = { start: position, end: position}; } } } else { @@ -144,7 +144,7 @@ export class DefaultDocumentValidator implements DocumentValidator { } if (range) { const diagnostic: Diagnostic = { - severity: DiagnosticSeverity.Error, + severity: toDiagnosticSeverity('error'), range, message: parserError.message, data: diagnosticData(DocumentValidator.ParsingError), @@ -211,7 +211,7 @@ export class DefaultDocumentValidator implements DocumentValidator { } export function getDiagnosticRange(info: DiagnosticInfo): Range { - if (Range.is(info.range)) { + if (info.range) { return info.range; } let cstNode: CstNode | undefined; @@ -233,13 +233,13 @@ export function getDiagnosticRange(info: DiagnosticInfo