@volar/monaco 1.7.9 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/worker.d.ts +55 -8
- package/out/worker.js +58 -55
- package/package.json +3 -3
package/out/worker.d.ts
CHANGED
|
@@ -1,11 +1,58 @@
|
|
|
1
|
-
import { type Config } from '@volar/language-service';
|
|
1
|
+
import { type TypeScriptLanguageHost, type Config, type ServiceEnvironment, type SharedModules } from '@volar/language-service';
|
|
2
2
|
import type * as monaco from 'monaco-editor-core';
|
|
3
3
|
import type * as ts from 'typescript/lib/tsserverlibrary';
|
|
4
|
-
export declare function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export declare function createServiceEnvironment(): ServiceEnvironment;
|
|
5
|
+
export declare function createLanguageHost(getMirrorModels: monaco.worker.IWorkerContext<any>['getMirrorModels'], env: ServiceEnvironment, rootPath: string, compilerOptions?: ts.CompilerOptions): TypeScriptLanguageHost;
|
|
6
|
+
export declare function createLanguageService(modules: SharedModules, env: ServiceEnvironment, config: Config, host: TypeScriptLanguageHost): {
|
|
7
|
+
getTriggerCharacters: () => string[];
|
|
8
|
+
getAutoFormatTriggerCharacters: () => string[];
|
|
9
|
+
getSignatureHelpTriggerCharacters: () => string[];
|
|
10
|
+
getSignatureHelpRetriggerCharacters: () => string[];
|
|
11
|
+
format: (uri: string, options: import("@volar/language-service").FormattingOptions, range: import("@volar/language-service").Range | undefined, onTypeParams: {
|
|
12
|
+
ch: string;
|
|
13
|
+
position: import("@volar/language-service").Position;
|
|
14
|
+
} | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").TextEdit[] | undefined>;
|
|
15
|
+
getFoldingRanges: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").FoldingRange[] | undefined>;
|
|
16
|
+
getSelectionRanges: (uri: string, positions: import("@volar/language-service").Position[], token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").SelectionRange[] | undefined>;
|
|
17
|
+
findLinkedEditingRanges: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LinkedEditingRanges | undefined>;
|
|
18
|
+
findDocumentSymbols: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentSymbol[] | undefined>;
|
|
19
|
+
findDocumentColors: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").ColorInformation[] | undefined>;
|
|
20
|
+
getColorPresentations: (uri: string, color: import("@volar/language-service").Color, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").ColorPresentation[] | undefined>;
|
|
21
|
+
doValidation: (uri: string, mode: "all" | "semantic" | "syntactic", token?: import("@volar/language-service").CancellationToken | undefined, response?: ((result: import("@volar/language-service").Diagnostic[]) => void) | undefined) => Promise<import("@volar/language-service").Diagnostic[]>;
|
|
22
|
+
findReferences: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Location[] | undefined>;
|
|
23
|
+
findFileReferences: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => import("@volar/language-service").NullableResult<import("@volar/language-service").Location[]>;
|
|
24
|
+
findDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
25
|
+
findTypeDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
26
|
+
findImplementations: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
27
|
+
prepareRename: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<NonNullable<import("@volar/language-service").Range | {
|
|
28
|
+
range: import("@volar/language-service").Range;
|
|
29
|
+
placeholder: string;
|
|
30
|
+
} | {
|
|
31
|
+
message: string;
|
|
32
|
+
} | null | undefined> | undefined>;
|
|
33
|
+
doRename: (uri: string, position: import("@volar/language-service").Position, newName: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
|
|
34
|
+
getEditsForFileRename: (oldUri: string, newUri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceEdit | undefined>;
|
|
35
|
+
getSemanticTokens: (uri: string, range: import("@volar/language-service").Range | undefined, legend: import("@volar/language-service").SemanticTokensLegend, token?: import("@volar/language-service").CancellationToken | undefined, reportProgress?: ((tokens: import("@volar/language-service").SemanticTokens) => void) | undefined) => Promise<import("@volar/language-service").SemanticTokens | undefined>;
|
|
36
|
+
doHover: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Hover | undefined>;
|
|
37
|
+
doComplete: (uri: string, position: import("@volar/language-service").Position, completionContext?: import("@volar/language-service").CompletionContext | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CompletionList>;
|
|
38
|
+
doCodeActions: (uri: string, range: import("@volar/language-service").Range, codeActionContext: import("@volar/language-service").CodeActionContext, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeAction[] | undefined>;
|
|
39
|
+
doCodeActionResolve: (item: import("@volar/language-service").CodeAction, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeAction>;
|
|
40
|
+
doCompletionResolve: (item: import("@volar/language-service").CompletionItem, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CompletionItem>;
|
|
41
|
+
getSignatureHelp: (uri: string, position: import("@volar/language-service").Position, signatureHelpContext?: import("@volar/language-service").SignatureHelpContext | undefined, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").SignatureHelp | undefined>;
|
|
42
|
+
doCodeLens: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeLens[]>;
|
|
43
|
+
doCodeLensResolve: (item: import("@volar/language-service").CodeLens, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeLens>;
|
|
44
|
+
findDocumentHighlights: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentHighlight[] | undefined>;
|
|
45
|
+
findDocumentLinks: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").DocumentLink[]>;
|
|
46
|
+
doDocumentLinkResolve: (item: import("@volar/language-service").CodeLens, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").CodeLens>;
|
|
47
|
+
findWorkspaceSymbols: (query: string, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").WorkspaceSymbol[]>;
|
|
48
|
+
doAutoInsert: (uri: string, position: import("@volar/language-service").Position, autoInsertContext: import("@volar/language-service").AutoInsertionContext, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<NonNullable<string | import("@volar/language-service").TextEdit | null | undefined> | undefined>;
|
|
49
|
+
getInlayHints: (uri: string, range: import("@volar/language-service").Range, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").InlayHint[] | undefined>;
|
|
50
|
+
doInlayHintResolve: (item: import("@volar/language-service").InlayHint, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").InlayHint>;
|
|
51
|
+
callHierarchy: {
|
|
52
|
+
doPrepare(uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined): Promise<import("@volar/language-service").CallHierarchyItem[] | undefined>;
|
|
53
|
+
getIncomingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyIncomingCall[]>;
|
|
54
|
+
getOutgoingCalls(item: import("@volar/language-service").CallHierarchyItem, token: import("@volar/language-service").CancellationToken): Promise<import("@volar/language-service").CallHierarchyOutgoingCall[]>;
|
|
10
55
|
};
|
|
11
|
-
|
|
56
|
+
dispose: () => void;
|
|
57
|
+
context: import("@volar/language-service").ServiceContext<any>;
|
|
58
|
+
};
|
package/out/worker.js
CHANGED
|
@@ -1,17 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createLanguageService = void 0;
|
|
3
|
+
exports.createLanguageService = exports.createLanguageHost = exports.createServiceEnvironment = void 0;
|
|
4
4
|
const language_service_1 = require("@volar/language-service");
|
|
5
5
|
const vscode_uri_1 = require("vscode-uri");
|
|
6
|
-
function
|
|
7
|
-
|
|
8
|
-
const config = options.config ?? {};
|
|
9
|
-
const host = createLanguageServiceHost();
|
|
10
|
-
const languageService = (0, language_service_1.createLanguageService)({ typescript: ts }, {
|
|
6
|
+
function createServiceEnvironment() {
|
|
7
|
+
return {
|
|
11
8
|
uriToFileName: uri => vscode_uri_1.URI.parse(uri).fsPath.replace(/\\/g, '/'),
|
|
12
9
|
fileNameToUri: fileName => vscode_uri_1.URI.file(fileName).toString(),
|
|
13
10
|
rootUri: vscode_uri_1.URI.file('/'),
|
|
14
|
-
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
exports.createServiceEnvironment = createServiceEnvironment;
|
|
14
|
+
function createLanguageHost(getMirrorModels, env, rootPath, compilerOptions = {}) {
|
|
15
|
+
let projectVersion = 0;
|
|
16
|
+
const modelSnapshot = new WeakMap();
|
|
17
|
+
const modelVersions = new Map();
|
|
18
|
+
const host = {
|
|
19
|
+
getProjectVersion() {
|
|
20
|
+
const models = getMirrorModels();
|
|
21
|
+
if (modelVersions.size === getMirrorModels().length) {
|
|
22
|
+
if (models.every(model => modelVersions.get(model) === model.version)) {
|
|
23
|
+
return projectVersion.toString();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
modelVersions.clear();
|
|
27
|
+
for (const model of getMirrorModels()) {
|
|
28
|
+
modelVersions.set(model, model.version);
|
|
29
|
+
}
|
|
30
|
+
projectVersion++;
|
|
31
|
+
return projectVersion.toString();
|
|
32
|
+
},
|
|
33
|
+
getScriptFileNames() {
|
|
34
|
+
const models = getMirrorModels();
|
|
35
|
+
return models.map(model => env.uriToFileName(model.uri.toString(true)));
|
|
36
|
+
},
|
|
37
|
+
getScriptSnapshot(fileName) {
|
|
38
|
+
const uri = env.fileNameToUri(fileName);
|
|
39
|
+
const model = getMirrorModels().find(model => model.uri.toString(true) === uri);
|
|
40
|
+
if (model) {
|
|
41
|
+
const cache = modelSnapshot.get(model);
|
|
42
|
+
if (cache && cache[0] === model.version) {
|
|
43
|
+
return cache[1];
|
|
44
|
+
}
|
|
45
|
+
const text = model.getValue();
|
|
46
|
+
modelSnapshot.set(model, [model.version, {
|
|
47
|
+
getText: (start, end) => text.substring(start, end),
|
|
48
|
+
getLength: () => text.length,
|
|
49
|
+
getChangeRange: () => undefined,
|
|
50
|
+
}]);
|
|
51
|
+
return modelSnapshot.get(model)?.[1];
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
getCompilationSettings() {
|
|
55
|
+
return compilerOptions;
|
|
56
|
+
},
|
|
57
|
+
getCurrentDirectory() {
|
|
58
|
+
return rootPath;
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
return host;
|
|
62
|
+
}
|
|
63
|
+
exports.createLanguageHost = createLanguageHost;
|
|
64
|
+
function createLanguageService(modules, env, config, host) {
|
|
65
|
+
const languageService = (0, language_service_1.createLanguageService)(modules, env, config, host);
|
|
15
66
|
class InnocentRabbit {
|
|
16
67
|
}
|
|
17
68
|
;
|
|
@@ -22,54 +73,6 @@ function createLanguageService(options) {
|
|
|
22
73
|
}
|
|
23
74
|
}
|
|
24
75
|
return new InnocentRabbit();
|
|
25
|
-
function createLanguageServiceHost() {
|
|
26
|
-
let projectVersion = 0;
|
|
27
|
-
const modelSnapshot = new WeakMap();
|
|
28
|
-
const modelVersions = new Map();
|
|
29
|
-
const host = {
|
|
30
|
-
getProjectVersion() {
|
|
31
|
-
const models = options.workerContext.getMirrorModels();
|
|
32
|
-
if (modelVersions.size === options.workerContext.getMirrorModels().length) {
|
|
33
|
-
if (models.every(model => modelVersions.get(model) === model.version)) {
|
|
34
|
-
return projectVersion;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
modelVersions.clear();
|
|
38
|
-
for (const model of options.workerContext.getMirrorModels()) {
|
|
39
|
-
modelVersions.set(model, model.version);
|
|
40
|
-
}
|
|
41
|
-
projectVersion++;
|
|
42
|
-
return projectVersion;
|
|
43
|
-
},
|
|
44
|
-
getScriptFileNames() {
|
|
45
|
-
const models = options.workerContext.getMirrorModels();
|
|
46
|
-
return models.map(model => model.uri.fsPath);
|
|
47
|
-
},
|
|
48
|
-
getScriptSnapshot(fileName) {
|
|
49
|
-
const model = options.workerContext.getMirrorModels().find(model => model.uri.fsPath === fileName);
|
|
50
|
-
if (model) {
|
|
51
|
-
const cache = modelSnapshot.get(model);
|
|
52
|
-
if (cache && cache[0] === model.version) {
|
|
53
|
-
return cache[1];
|
|
54
|
-
}
|
|
55
|
-
const text = model.getValue();
|
|
56
|
-
modelSnapshot.set(model, [model.version, {
|
|
57
|
-
getText: (start, end) => text.substring(start, end),
|
|
58
|
-
getLength: () => text.length,
|
|
59
|
-
getChangeRange: () => undefined,
|
|
60
|
-
}]);
|
|
61
|
-
return modelSnapshot.get(model)?.[1];
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
getCompilationSettings() {
|
|
65
|
-
return options.typescript?.compilerOptions ?? {};
|
|
66
|
-
},
|
|
67
|
-
getCurrentDirectory() {
|
|
68
|
-
return '/';
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
return host;
|
|
72
|
-
}
|
|
73
76
|
}
|
|
74
77
|
exports.createLanguageService = createLanguageService;
|
|
75
78
|
//# sourceMappingURL=worker.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/monaco",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"main": "out/index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
"directory": "packages/monaco"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@volar/language-service": "1.
|
|
18
|
+
"@volar/language-service": "1.8.0",
|
|
19
19
|
"vscode-uri": "^3.0.7"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"monaco-editor-core": "latest",
|
|
23
23
|
"vscode-languageserver-protocol": "^3.17.3"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "967ac805a29ba46bde1b5b5587d5cbd0e89a6d62"
|
|
26
26
|
}
|