@volar/monaco 1.7.10 → 1.8.1

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 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 createLanguageService(options: {
5
- workerContext: monaco.worker.IWorkerContext<any>;
6
- config: Config;
7
- typescript?: {
8
- module: typeof import('typescript/lib/tsserverlibrary');
9
- compilerOptions: ts.CompilerOptions;
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,69 @@
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 createLanguageService(options) {
7
- const ts = options.typescript?.module;
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
- }, config, host);
11
+ console,
12
+ };
13
+ }
14
+ exports.createServiceEnvironment = createServiceEnvironment;
15
+ function createLanguageHost(getMirrorModels, env, rootPath, compilerOptions = {}) {
16
+ let projectVersion = 0;
17
+ const modelSnapshot = new WeakMap();
18
+ const modelVersions = new Map();
19
+ const host = {
20
+ getProjectVersion() {
21
+ const models = getMirrorModels();
22
+ if (modelVersions.size === getMirrorModels().length) {
23
+ if (models.every(model => modelVersions.get(model) === model.version)) {
24
+ return projectVersion.toString();
25
+ }
26
+ }
27
+ modelVersions.clear();
28
+ for (const model of getMirrorModels()) {
29
+ modelVersions.set(model, model.version);
30
+ }
31
+ projectVersion++;
32
+ return projectVersion.toString();
33
+ },
34
+ getScriptFileNames() {
35
+ const models = getMirrorModels();
36
+ return models.map(model => env.uriToFileName(model.uri.toString(true)));
37
+ },
38
+ getScriptSnapshot(fileName) {
39
+ const uri = env.fileNameToUri(fileName);
40
+ const model = getMirrorModels().find(model => model.uri.toString(true) === uri);
41
+ if (model) {
42
+ const cache = modelSnapshot.get(model);
43
+ if (cache && cache[0] === model.version) {
44
+ return cache[1];
45
+ }
46
+ const text = model.getValue();
47
+ modelSnapshot.set(model, [model.version, {
48
+ getText: (start, end) => text.substring(start, end),
49
+ getLength: () => text.length,
50
+ getChangeRange: () => undefined,
51
+ }]);
52
+ return modelSnapshot.get(model)?.[1];
53
+ }
54
+ },
55
+ getCompilationSettings() {
56
+ return compilerOptions;
57
+ },
58
+ getCurrentDirectory() {
59
+ return rootPath;
60
+ },
61
+ };
62
+ return host;
63
+ }
64
+ exports.createLanguageHost = createLanguageHost;
65
+ function createLanguageService(modules, env, config, host) {
66
+ const languageService = (0, language_service_1.createLanguageService)(modules, env, config, host);
15
67
  class InnocentRabbit {
16
68
  }
17
69
  ;
@@ -22,54 +74,6 @@ function createLanguageService(options) {
22
74
  }
23
75
  }
24
76
  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
77
  }
74
78
  exports.createLanguageService = createLanguageService;
75
79
  //# sourceMappingURL=worker.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volar/monaco",
3
- "version": "1.7.10",
3
+ "version": "1.8.1",
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.7.10",
18
+ "@volar/language-service": "1.8.1",
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": "53c67c3fd1d11be3dba0ef199c282e605c980638"
25
+ "gitHead": "1fec004d7e3c5a28c0ad1d6a1d7a41ab98381abd"
26
26
  }