@volar/monaco 2.1.4 → 2.2.0-alpha.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/package.json +4 -4
- package/worker.d.ts +5 -5
- package/worker.js +20 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/monaco",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0-alpha.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"directory": "packages/monaco"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@volar/language-service": "2.
|
|
17
|
-
"@volar/typescript": "2.
|
|
16
|
+
"@volar/language-service": "2.2.0-alpha.0",
|
|
17
|
+
"@volar/typescript": "2.2.0-alpha.0",
|
|
18
18
|
"monaco-languageserver-types": "^0.3.3",
|
|
19
19
|
"monaco-types": "^0.1.0",
|
|
20
20
|
"vscode-uri": "^3.0.8"
|
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"monaco-editor-core": "latest"
|
|
24
24
|
},
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "95ffe51f944ee87f570be113541e17ddfe75f588"
|
|
26
26
|
}
|
package/worker.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LanguagePlugin,
|
|
1
|
+
import { LanguagePlugin, LanguageServicePlugin, type ServiceEnvironment } from '@volar/language-service';
|
|
2
2
|
import type * as monaco from 'monaco-types';
|
|
3
3
|
import type * as ts from 'typescript';
|
|
4
4
|
export * from '@volar/language-service';
|
|
@@ -7,7 +7,7 @@ export declare function createSimpleWorkerService<T = {}>({ env, workerContext,
|
|
|
7
7
|
env: ServiceEnvironment;
|
|
8
8
|
workerContext: monaco.worker.IWorkerContext<any>;
|
|
9
9
|
languagePlugins?: LanguagePlugin[];
|
|
10
|
-
servicePlugins?:
|
|
10
|
+
servicePlugins?: LanguageServicePlugin[];
|
|
11
11
|
extraApis?: T;
|
|
12
12
|
}): {
|
|
13
13
|
getTriggerCharacters: () => string[];
|
|
@@ -26,7 +26,7 @@ export declare function createSimpleWorkerService<T = {}>({ env, workerContext,
|
|
|
26
26
|
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>;
|
|
27
27
|
doValidation: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined, response?: ((result: import("@volar/language-service").Diagnostic[]) => void) | undefined) => Promise<import("@volar/language-service").Diagnostic[]>;
|
|
28
28
|
findReferences: (uri: string, position: import("@volar/language-service").Position, referenceContext: import("@volar/language-service").ReferenceContext, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Location[] | undefined>;
|
|
29
|
-
findFileReferences: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => import("@volar/language-service").
|
|
29
|
+
findFileReferences: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => import("@volar/language-service").NullableProviderResult<import("@volar/language-service").Location[]>;
|
|
30
30
|
findDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
31
31
|
findTypeDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
32
32
|
findImplementations: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
@@ -72,7 +72,7 @@ export declare function createTypeScriptWorkerService<T = {}>({ typescript: ts,
|
|
|
72
72
|
env: ServiceEnvironment;
|
|
73
73
|
workerContext: monaco.worker.IWorkerContext<any>;
|
|
74
74
|
languagePlugins?: LanguagePlugin[];
|
|
75
|
-
servicePlugins?:
|
|
75
|
+
servicePlugins?: LanguageServicePlugin[];
|
|
76
76
|
extraApis?: T;
|
|
77
77
|
}): {
|
|
78
78
|
getTriggerCharacters: () => string[];
|
|
@@ -91,7 +91,7 @@ export declare function createTypeScriptWorkerService<T = {}>({ typescript: ts,
|
|
|
91
91
|
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>;
|
|
92
92
|
doValidation: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined, response?: ((result: import("@volar/language-service").Diagnostic[]) => void) | undefined) => Promise<import("@volar/language-service").Diagnostic[]>;
|
|
93
93
|
findReferences: (uri: string, position: import("@volar/language-service").Position, referenceContext: import("@volar/language-service").ReferenceContext, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").Location[] | undefined>;
|
|
94
|
-
findFileReferences: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => import("@volar/language-service").
|
|
94
|
+
findFileReferences: (uri: string, token?: import("@volar/language-service").CancellationToken | undefined) => import("@volar/language-service").NullableProviderResult<import("@volar/language-service").Location[]>;
|
|
95
95
|
findDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
96
96
|
findTypeDefinition: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
|
97
97
|
findImplementations: (uri: string, position: import("@volar/language-service").Position, token?: import("@volar/language-service").CancellationToken | undefined) => Promise<import("@volar/language-service").LocationLink[] | undefined>;
|
package/worker.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { createLanguageService as _createLanguageService,
|
|
2
|
-
import {
|
|
1
|
+
import { createLanguageService as _createLanguageService, createLanguage, resolveCommonLanguageId, } from '@volar/language-service';
|
|
2
|
+
import { createTypeScriptLanguage, createSys } from '@volar/typescript';
|
|
3
3
|
export * from '@volar/language-service';
|
|
4
4
|
export * from './lib/ata.js';
|
|
5
5
|
export function createSimpleWorkerService({ env, workerContext, languagePlugins = [], servicePlugins = [], extraApis = {} }) {
|
|
6
6
|
const snapshots = new Map();
|
|
7
|
-
const
|
|
7
|
+
const language = createLanguage(languagePlugins, false, uri => {
|
|
8
8
|
const model = workerContext.getMirrorModels().find(model => model.uri.toString() === uri);
|
|
9
9
|
if (model) {
|
|
10
10
|
const cache = snapshots.get(model);
|
|
@@ -18,13 +18,13 @@ export function createSimpleWorkerService({ env, workerContext, languagePlugins
|
|
|
18
18
|
getChangeRange: () => undefined,
|
|
19
19
|
};
|
|
20
20
|
snapshots.set(model, [model.version, snapshot]);
|
|
21
|
-
|
|
21
|
+
language.scripts.set(uri, resolveCommonLanguageId(uri), snapshot);
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
|
-
|
|
24
|
+
language.scripts.delete(uri);
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
|
-
return createWorkerService(
|
|
27
|
+
return createWorkerService(language, servicePlugins, env, extraApis);
|
|
28
28
|
}
|
|
29
29
|
export function createTypeScriptWorkerService({ typescript: ts, compilerOptions, env, workerContext, languagePlugins = [], servicePlugins = [], extraApis = {} }) {
|
|
30
30
|
let projectVersion = 0;
|
|
@@ -32,6 +32,14 @@ export function createTypeScriptWorkerService({ typescript: ts, compilerOptions,
|
|
|
32
32
|
const modelVersions = new Map();
|
|
33
33
|
const sys = createSys(ts, env, env.typescript.uriToFileName(env.workspaceFolder));
|
|
34
34
|
const host = {
|
|
35
|
+
...sys,
|
|
36
|
+
configFileName: undefined,
|
|
37
|
+
syncSystem() {
|
|
38
|
+
return sys.sync();
|
|
39
|
+
},
|
|
40
|
+
getSystemVersion() {
|
|
41
|
+
return sys.version;
|
|
42
|
+
},
|
|
35
43
|
getCurrentDirectory() {
|
|
36
44
|
return env.typescript.uriToFileName(env.workspaceFolder);
|
|
37
45
|
},
|
|
@@ -73,15 +81,14 @@ export function createTypeScriptWorkerService({ typescript: ts, compilerOptions,
|
|
|
73
81
|
return compilerOptions;
|
|
74
82
|
},
|
|
75
83
|
getLanguageId: id => resolveCommonLanguageId(id),
|
|
84
|
+
fileNameToScriptId: env.typescript.fileNameToUri,
|
|
85
|
+
scriptIdToFileName: env.typescript.uriToFileName,
|
|
76
86
|
};
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
fileIdToFileName: env.typescript.uriToFileName,
|
|
80
|
-
});
|
|
81
|
-
return createWorkerService(languageContext, servicePlugins, env, extraApis);
|
|
87
|
+
const language = createTypeScriptLanguage(ts, languagePlugins, host);
|
|
88
|
+
return createWorkerService(language, servicePlugins, env, extraApis);
|
|
82
89
|
}
|
|
83
|
-
function createWorkerService(
|
|
84
|
-
const languageService = _createLanguageService(
|
|
90
|
+
function createWorkerService(language, servicePlugins, env, extraApis = {}) {
|
|
91
|
+
const languageService = _createLanguageService(language, servicePlugins, env);
|
|
85
92
|
class WorkerService {
|
|
86
93
|
}
|
|
87
94
|
;
|