@volar/monaco 2.4.11 → 2.4.13
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/README.md +41 -24
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -22,12 +22,16 @@ We assume you already know:
|
|
|
22
22
|
// my-lang.worker.ts
|
|
23
23
|
import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker';
|
|
24
24
|
import type * as monaco from 'monaco-editor-core';
|
|
25
|
-
import {
|
|
25
|
+
import type { LanguageServiceEnvironment } from '@volar/language-service';
|
|
26
|
+
import { createSimpleWorkerLanguageService } from '@volar/monaco/worker';
|
|
27
|
+
import { URI } from 'vscode-uri';
|
|
26
28
|
|
|
27
29
|
self.onmessage = () => {
|
|
28
30
|
worker.initialize((ctx: monaco.worker.IWorkerContext) => {
|
|
29
|
-
const env:
|
|
30
|
-
|
|
31
|
+
const env: LanguageServiceEnvironment = {
|
|
32
|
+
workspaceFolders: [
|
|
33
|
+
URI.parse('file:///'),
|
|
34
|
+
],
|
|
31
35
|
};
|
|
32
36
|
return createSimpleWorkerLanguageService({
|
|
33
37
|
workerContext: ctx,
|
|
@@ -48,16 +52,19 @@ self.onmessage = () => {
|
|
|
48
52
|
```diff
|
|
49
53
|
import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker';
|
|
50
54
|
import type * as monaco from 'monaco-editor-core';
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
+import
|
|
54
|
-
|
|
55
|
-
+import {
|
|
55
|
+
import type { LanguageServiceEnvironment } from '@volar/language-service';
|
|
56
|
+
-import { createSimpleWorkerLanguageService } from '@volar/monaco/worker';
|
|
57
|
+
+import { createTypeScriptWorkerLanguageService } from '@volar/monaco/worker';
|
|
58
|
+
import { URI } from 'vscode-uri';
|
|
59
|
+
+import { create as createTypeScriptServicePlugin } from 'volar-service-typescript';
|
|
60
|
+
+import ts from 'typescript';
|
|
56
61
|
|
|
57
62
|
self.onmessage = () => {
|
|
58
63
|
worker.initialize((ctx: monaco.worker.IWorkerContext) => {
|
|
59
|
-
const env:
|
|
60
|
-
|
|
64
|
+
const env: LanguageServiceEnvironment = {
|
|
65
|
+
workspaceFolders: [
|
|
66
|
+
URI.parse('file:///'),
|
|
67
|
+
],
|
|
61
68
|
};
|
|
62
69
|
- return createSimpleWorkerLanguageService({
|
|
63
70
|
+ return createTypeScriptWorkerLanguageService({
|
|
@@ -76,7 +83,7 @@ self.onmessage = () => {
|
|
|
76
83
|
],
|
|
77
84
|
languageServicePlugins: [
|
|
78
85
|
// ...
|
|
79
|
-
+ ...
|
|
86
|
+
+ ...createTypeScriptServicePlugin(ts),
|
|
80
87
|
],
|
|
81
88
|
});
|
|
82
89
|
});
|
|
@@ -88,19 +95,19 @@ self.onmessage = () => {
|
|
|
88
95
|
```diff
|
|
89
96
|
import * as worker from 'monaco-editor-core/esm/vs/editor/editor.worker';
|
|
90
97
|
import type * as monaco from 'monaco-editor-core';
|
|
91
|
-
import {
|
|
98
|
+
import type { LanguageServiceEnvironment } from '@volar/language-service';
|
|
99
|
+
import { createTypeScriptWorkerLanguageService } from '@volar/monaco/worker';
|
|
100
|
+
import { URI } from 'vscode-uri';
|
|
92
101
|
+import { createNpmFileSystem } from '@volar/jsdelivr';
|
|
93
|
-
import
|
|
94
|
-
import
|
|
102
|
+
import { create as createTypeScriptServicePlugin } from 'volar-service-typescript';
|
|
103
|
+
import ts from 'typescript';
|
|
95
104
|
|
|
96
105
|
self.onmessage = () => {
|
|
97
106
|
worker.initialize((ctx: monaco.worker.IWorkerContext) => {
|
|
98
|
-
const env:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
fileNameToUri: fileName => 'file://' + fileName,
|
|
103
|
-
},
|
|
107
|
+
const env: LanguageServiceEnvironment = {
|
|
108
|
+
workspaceFolders: [
|
|
109
|
+
URI.parse('file:///'),
|
|
110
|
+
],
|
|
104
111
|
};
|
|
105
112
|
+ env.fs = createNpmFileSystem();
|
|
106
113
|
return createTypeScriptWorkerLanguageService({
|
|
@@ -108,6 +115,10 @@ self.onmessage = () => {
|
|
|
108
115
|
compilerOptions: {
|
|
109
116
|
// ...
|
|
110
117
|
},
|
|
118
|
+
uriConverter: {
|
|
119
|
+
asFileName: uri => uri.fsPath,
|
|
120
|
+
asUri: fileName => URI.file(fileName),
|
|
121
|
+
},
|
|
111
122
|
workerContext: ctx,
|
|
112
123
|
env,
|
|
113
124
|
languagePlugins: [
|
|
@@ -115,7 +126,7 @@ self.onmessage = () => {
|
|
|
115
126
|
],
|
|
116
127
|
languageServicePlugins: [
|
|
117
128
|
// ...
|
|
118
|
-
|
|
129
|
+
createTypeScriptServicePlugin(ts),
|
|
119
130
|
],
|
|
120
131
|
});
|
|
121
132
|
});
|
|
@@ -141,14 +152,14 @@ import myWorker from './my-lang.worker?worker';
|
|
|
141
152
|
### Setup Language Features and Diagnostics
|
|
142
153
|
|
|
143
154
|
```ts
|
|
144
|
-
import type {
|
|
155
|
+
import type { WorkerLanguageService } from '@volar/monaco/worker';
|
|
145
156
|
import { editor, languages, Uri } from 'monaco-editor-core';
|
|
146
157
|
import { activateMarkers, activateAutoInsertion, registerProviders } from '@volar/monaco';
|
|
147
158
|
|
|
148
159
|
languages.register({ id: 'my-lang', extensions: ['.my-lang'] });
|
|
149
160
|
|
|
150
161
|
languages.onLanguage('my-lang', () => {
|
|
151
|
-
const worker = editor.createWebWorker<
|
|
162
|
+
const worker = editor.createWebWorker<WorkerLanguageService>({
|
|
152
163
|
moduleId: 'vs/language/my-lang/myLangWorker',
|
|
153
164
|
label: 'my-lang',
|
|
154
165
|
});
|
|
@@ -168,7 +179,13 @@ languages.onLanguage('my-lang', () => {
|
|
|
168
179
|
() => [Uri.file('/Foo.my-lang'), Uri.file('/Bar.my-lang')],
|
|
169
180
|
editor
|
|
170
181
|
);
|
|
171
|
-
registerProviders(
|
|
182
|
+
registerProviders(
|
|
183
|
+
worker,
|
|
184
|
+
['my-lang'],
|
|
185
|
+
// sync files
|
|
186
|
+
() => [Uri.file('/Foo.my-lang'), Uri.file('/Bar.my-lang')],
|
|
187
|
+
languages
|
|
188
|
+
)
|
|
172
189
|
});
|
|
173
190
|
```
|
|
174
191
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volar/monaco",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.13",
|
|
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.4.
|
|
17
|
-
"@volar/typescript": "2.4.
|
|
16
|
+
"@volar/language-service": "2.4.13",
|
|
17
|
+
"@volar/typescript": "2.4.13",
|
|
18
18
|
"monaco-languageserver-types": "^0.4.0",
|
|
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": "c5d727b9e73d0c6a45c64b38d74ca5c52363818f"
|
|
26
26
|
}
|