@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.
Files changed (2) hide show
  1. package/README.md +41 -24
  2. 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 { createSimpleWorkerLanguageService, ServiceEnvironment } from '@volar/monaco/worker';
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: ServiceEnvironment = {
30
- workspaceFolder: 'file:///',
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
- -import { createSimpleWorkerLanguageService, ServiceEnvironment } from '@volar/monaco/worker';
52
- +import { createTypeScriptWorkerLanguageService, ServiceEnvironment } from '@volar/monaco/worker';
53
- +import * as ts from 'typescript';
54
- +import { create as createTypeScriptPlugins } from 'volar-service-typescript';
55
- +import { URI } from 'vscode-uri';
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: ServiceEnvironment = {
60
- workspaceFolder: 'file:///',
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
- + ...createTypeScriptPlugins(ts),
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 { createTypeScriptWorkerLanguageService, ServiceEnvironment } from '@volar/monaco/worker';
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 * as ts from 'typescript';
94
- import { create as createTypeScriptService } from 'volar-service-typescript';
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: ServiceEnvironment = {
99
- workspaceFolder: 'file:///',
100
- typescript: {
101
- uriToFileName: uri => uri.substring('file://'.length),
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
- createTypeScriptService(ts),
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 { LanguageService } from '@volar/language-service';
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<LanguageService>({
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(worker, ['my-lang'], languages)
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.11",
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.11",
17
- "@volar/typescript": "2.4.11",
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": "42ccae005cc8516e07ad38f4d7730cab9b723340"
25
+ "gitHead": "c5d727b9e73d0c6a45c64b38d74ca5c52363818f"
26
26
  }