Skip to content

Commit d8c6327

Browse files
committed
introduced 'utils/cancellation.ts' doing only "export * from 'vscode-jsonrpc/lib/common/cancellation.js';"; updated related imports
aims at providing cancellation related types and symbols with smallest possible overhead while avoiding code clones
1 parent 291f5ab commit d8c6327

37 files changed

+67
-45
lines changed

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

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ import type { AstNode, AstNodeDescription, LangiumDocument, PrecomputedScopes }
88
import type { DomainModelServices } from './domain-model-module.js';
99
import type { QualifiedNameProvider } from './domain-model-naming.js';
1010
import type { Domainmodel, PackageDeclaration } from './generated/ast.js';
11-
import { AstUtils, DefaultScopeComputation, interruptAndCheck, MultiMap } from 'langium';
12-
import { CancellationToken } from 'vscode-jsonrpc';
11+
import { AstUtils, Cancellation, DefaultScopeComputation, interruptAndCheck, MultiMap } from 'langium';
1312
import { isType, isPackageDeclaration } from './generated/ast.js';
1413

1514
export class DomainModelScopeComputation extends DefaultScopeComputation {
@@ -24,7 +23,7 @@ export class DomainModelScopeComputation extends DefaultScopeComputation {
2423
/**
2524
* Exports only types (`DataType or `Entity`) with their qualified names.
2625
*/
27-
override async computeExports(document: LangiumDocument, cancelToken = CancellationToken.None): Promise<AstNodeDescription[]> {
26+
override async computeExports(document: LangiumDocument, cancelToken = Cancellation.CancellationToken.None): Promise<AstNodeDescription[]> {
2827
const descr: AstNodeDescription[] = [];
2928
for (const modelNode of AstUtils.streamAllContents(document.parseResult.value)) {
3029
await interruptAndCheck(cancelToken);
@@ -41,14 +40,14 @@ export class DomainModelScopeComputation extends DefaultScopeComputation {
4140
return descr;
4241
}
4342

44-
override async computeLocalScopes(document: LangiumDocument, cancelToken = CancellationToken.None): Promise<PrecomputedScopes> {
43+
override async computeLocalScopes(document: LangiumDocument, cancelToken = Cancellation.CancellationToken.None): Promise<PrecomputedScopes> {
4544
const model = document.parseResult.value as Domainmodel;
4645
const scopes = new MultiMap<AstNode, AstNodeDescription>();
4746
await this.processContainer(model, scopes, document, cancelToken);
4847
return scopes;
4948
}
5049

51-
protected async processContainer(container: Domainmodel | PackageDeclaration, scopes: PrecomputedScopes, document: LangiumDocument, cancelToken: CancellationToken): Promise<AstNodeDescription[]> {
50+
protected async processContainer(container: Domainmodel | PackageDeclaration, scopes: PrecomputedScopes, document: LangiumDocument, cancelToken: Cancellation.CancellationToken): Promise<AstNodeDescription[]> {
5251
const localDescriptions: AstNodeDescription[] = [];
5352
for (const element of container.elements) {
5453
await interruptAndCheck(cancelToken);

packages/langium-vscode/src/language-server/grammar-workspace-manager.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@
77
import type { Ignore } from 'ignore';
88
import ignore from 'ignore';
99
import type { ConfigurationProvider, FileSystemNode, WorkspaceFolder } from 'langium';
10-
import { DefaultWorkspaceManager, URI, UriUtils } from 'langium';
10+
import { Cancellation, DefaultWorkspaceManager, URI, UriUtils } from 'langium';
1111
import type { LangiumSharedServices } from 'langium/lsp';
1212
import * as path from 'path';
13-
import { CancellationToken } from 'vscode-languageserver-protocol';
1413

1514
const CONFIG_KEY = 'build';
1615

@@ -31,7 +30,7 @@ export class LangiumGrammarWorkspaceManager extends DefaultWorkspaceManager {
3130
this.configurationProvider = services.workspace.ConfigurationProvider;
3231
}
3332

34-
override async initializeWorkspace(folders: WorkspaceFolder[], cancelToken = CancellationToken.None): Promise<void> {
33+
override async initializeWorkspace(folders: WorkspaceFolder[], cancelToken = Cancellation.CancellationToken.None): Promise<void> {
3534
const buildConf: WorkspaceManagerConf = await this.configurationProvider.getConfiguration('langium', CONFIG_KEY);
3635
const ignorePatterns = buildConf.ignorePatterns?.split(',')?.map(pattern => pattern.trim())?.filter(pattern => pattern.length > 0);
3736
this.matcher = ignorePatterns ? ignore.default().add(ignorePatterns) : undefined;

packages/langium/src/lsp/call-hierarchy-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* terms of the MIT License, which is available in the project root.
55
******************************************************************************/
66

7-
import type { CallHierarchyIncomingCall, CallHierarchyIncomingCallsParams, CallHierarchyItem, CallHierarchyOutgoingCall, CallHierarchyOutgoingCallsParams, CallHierarchyPrepareParams, CancellationToken } from 'vscode-languageserver';
7+
import type { CallHierarchyIncomingCall, CallHierarchyIncomingCallsParams, CallHierarchyItem, CallHierarchyOutgoingCall, CallHierarchyOutgoingCallsParams, CallHierarchyPrepareParams, } from 'vscode-languageserver';
8+
import type { CancellationToken } from '../utils/cancellation.js';
89
import type { GrammarConfig } from '../languages/grammar-config.js';
910
import type { NameProvider } from '../references/name-provider.js';
1011
import type { References } from '../references/references.js';

packages/langium/src/lsp/code-action.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* terms of the MIT License, which is available in the project root.
55
******************************************************************************/
66

7-
import type { CancellationToken, CodeAction, CodeActionParams, Command } from 'vscode-languageserver';
7+
import type { CodeAction, CodeActionParams, Command } from 'vscode-languageserver';
8+
import type { CancellationToken } from '../utils/cancellation.js';
89
import type { MaybePromise } from '../utils/promise-utils.js';
910
import type { LangiumDocument } from '../workspace/documents.js';
1011

packages/langium/src/lsp/code-lens-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* terms of the MIT License, which is available in the project root.
55
******************************************************************************/
66

7-
import type { CancellationToken, CodeLens, CodeLensParams } from 'vscode-languageserver';
7+
import type { CodeLens, CodeLensParams } from 'vscode-languageserver';
8+
import type { CancellationToken } from '../utils/cancellation.js';
89
import type { MaybePromise } from '../utils/promise-utils.js';
910
import type { LangiumDocument } from '../workspace/documents.js';
1011

packages/langium/src/lsp/completion/completion-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import type { NameProvider } from '../../references/name-provider.js';
1010
import type { ScopeProvider } from '../../references/scope-provider.js';
1111
import type { LangiumServices } from '../lsp-services.js';
1212
import type { AstNode, AstNodeDescription, AstReflection, CstNode, ReferenceInfo } from '../../syntax-tree.js';
13+
import type { CancellationToken } from '../../utils/cancellation.js';
1314
import type { MaybePromise } from '../../utils/promise-utils.js';
1415
import type { LangiumDocument, TextDocument } from '../../workspace/documents.js';
1516
import type { NextFeature } from './follow-element-computation.js';
@@ -18,7 +19,7 @@ import type { FuzzyMatcher } from '../fuzzy-matcher.js';
1819
import type { GrammarConfig } from '../../languages/grammar-config.js';
1920
import type { Lexer } from '../../parser/lexer.js';
2021
import type { IToken } from 'chevrotain';
21-
import { CancellationToken, CompletionItemKind, CompletionList, Position } from 'vscode-languageserver';
22+
import { CompletionItemKind, CompletionList, Position } from 'vscode-languageserver';
2223
import * as ast from '../../languages/generated/ast.js';
2324
import { assignMandatoryProperties, getContainerOfType } from '../../utils/ast-utils.js';
2425
import { findDeclarationNodeAtOffset, findLeafNodeBeforeOffset } from '../../utils/cst-utils.js';

packages/langium/src/lsp/declaration-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* terms of the MIT License, which is available in the project root.
55
******************************************************************************/
66

7-
import type { CancellationToken, DeclarationParams, LocationLink } from 'vscode-languageserver';
7+
import type { DeclarationParams, LocationLink } from 'vscode-languageserver';
8+
import type { CancellationToken } from '../utils/cancellation.js';
89
import type { MaybePromise } from '../utils/promise-utils.js';
910
import type { LangiumDocument } from '../workspace/documents.js';
1011

packages/langium/src/lsp/definition-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* terms of the MIT License, which is available in the project root.
55
******************************************************************************/
66

7-
import type { CancellationToken, DefinitionParams } from 'vscode-languageserver';
7+
import type { DefinitionParams } from 'vscode-languageserver';
8+
import type { CancellationToken } from '../utils/cancellation.js';
89
import type { GrammarConfig } from '../languages/grammar-config.js';
910
import type { NameProvider } from '../references/name-provider.js';
1011
import type { References } from '../references/references.js';

packages/langium/src/lsp/document-highlight-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* terms of the MIT License, which is available in the project root.
55
******************************************************************************/
66

7-
import type { CancellationToken, DocumentHighlightParams } from 'vscode-languageserver';
7+
import type { DocumentHighlightParams } from 'vscode-languageserver';
8+
import type { CancellationToken } from '../utils/cancellation.js';
89
import type { GrammarConfig } from '../languages/grammar-config.js';
910
import type { NameProvider } from '../references/name-provider.js';
1011
import type { FindReferencesOptions, References } from '../references/references.js';

packages/langium/src/lsp/document-link-provider.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
* terms of the MIT License, which is available in the project root.
55
******************************************************************************/
66

7-
import type { CancellationToken, DocumentLink, DocumentLinkParams } from 'vscode-languageserver';
7+
import type { DocumentLink, DocumentLinkParams } from 'vscode-languageserver';
8+
import type { CancellationToken } from '../utils/cancellation.js';
89
import type { MaybePromise } from '../utils/promise-utils.js';
910
import type { LangiumDocument } from '../workspace/documents.js';
1011

0 commit comments

Comments
 (0)