Skip to content

Commit 8708861

Browse files
committed
Adapt to monaco-vscode-api-1.79.1
1 parent 58fe441 commit 8708861

19 files changed

Lines changed: 118 additions & 80 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ The following table describes which version of **monaco-languageclient** and **m
7878

7979
| monaco-languageclient | monaco-vscode-api | monaco-editor | comment |
8080
| :---- | :---- | :--- | :--- |
81-
| 6.1.0 | 1.79.0 | 0.38.0 | Released 2023-06-0x |
81+
| 6.1.0 | 1.79.1 | 0.38.0 | Released 2023-06-0x |
8282
| 6.0.3 | 1.78.8 | 0.37.1 | Released 2023-05-31 |
8383
| 6.0.2 | 1.78.6 | 0.37.1 | Released 2023-05-24 |
8484
| 6.0.1 | 1.78.6 | 0.37.1 | Released 2023-05-12 |

package-lock.json

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/client/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ All notable changes to this npm module are documented in this file.
55
## [6.1.0] - 2023-06-0x
66

77
- Updated to `monaco-vscode-api` version `1.79.0` and `monaco-editor` version `0.38.0` [#493](https://github.com/TypeFox/monaco-languageclient/issues/493)
8+
- Updated to `monaco-vscode-api` version `1.79.1` [#501](https://github.com/TypeFox/monaco-languageclient/pull/501)
89
- `initService` creates `window.MonacoEnvironment` if not yet available
910

1011
## [6.0.3] - 2023-05-31

packages/client/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "monaco-languageclient",
3-
"version": "6.1.0-next.0",
3+
"version": "6.1.0-next.1",
44
"description": "Monaco Language client implementation",
55
"author": {
66
"name": "TypeFox GmbH",
@@ -49,13 +49,13 @@
4949
],
5050
"dependencies": {
5151
"monaco-editor": "~0.38.0",
52-
"vscode": "npm:@codingame/monaco-vscode-api@~1.79.0",
52+
"vscode": "npm:@codingame/monaco-vscode-api@~1.79.1",
5353
"vscode-jsonrpc": "~8.1.0",
5454
"vscode-languageclient": "~8.1.0"
5555
},
5656
"peerDependencies": {
5757
"monaco-editor": "~0.38.0",
58-
"vscode": "npm:@codingame/monaco-vscode-api@~1.79.0"
58+
"vscode": "npm:@codingame/monaco-vscode-api@~1.79.1"
5959
},
6060
"peerDependenciesMeta": {
6161
"monaco-editor": {
@@ -67,7 +67,7 @@
6767
},
6868
"scripts": {
6969
"postinstall": "monaco-treemending",
70-
"clean": "npx shx rm -fr lib *.tsbuildinfo",
70+
"clean": "shx rm -fr lib *.tsbuildinfo",
7171
"compile": "tsc --build tsconfig.src.json",
7272
"build:msg": "echo Building monaco-languageclient:",
7373
"build": "npm run build:msg && npm run clean && npm run compile"

packages/client/src/monaco-vscode-api-services.ts

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import { editor, Environment, Uri } from 'monaco-editor/esm/vs/editor/editor.api.js';
77
import { initialize as initializeMonacoService } from 'vscode/services';
88
import { initialize as initializeVscodeExtensions } from 'vscode/extensions';
9-
import type { OpenEditor } from 'vscode/service-override/modelEditor';
9+
import type { OpenEditor } from 'vscode/service-override/editor';
1010

1111
interface MonacoEnvironmentEnhanced extends Environment {
1212
vscodeApiInitialised: boolean;
@@ -15,13 +15,13 @@ interface MonacoEnvironmentEnhanced extends Environment {
1515
export type InitializeServiceConfig = {
1616
enableDialogService?: boolean;
1717
enableNotificationService?: boolean;
18-
enableModelEditorService?: boolean;
19-
modelEditorServiceConfig?: {
20-
useDefaultFunction: boolean;
18+
enableModelService?: boolean;
19+
configureEditorOrViewsServiceConfig?: {
20+
enableViewsService: boolean;
21+
useDefaultOpenEditorFunction: boolean;
2122
openEditorFunc?: OpenEditor
2223
};
23-
enableConfigurationService?: boolean
24-
configurationServiceConfig?: {
24+
configureConfigurationServiceConfig?: {
2525
defaultWorkspaceUri: string;
2626
};
2727
enableThemeService?: boolean;
@@ -32,7 +32,7 @@ export type InitializeServiceConfig = {
3232
enableDebugService?: boolean;
3333
enablePreferencesService?: boolean;
3434
enableSnippetsService?: boolean;
35-
enableViewsService?: boolean;
35+
enableQuickaccessService?: boolean;
3636
userServices?: editor.IEditorOverrideServices;
3737
debugLogging?: boolean;
3838
};
@@ -75,10 +75,22 @@ const importAllServices = async (config?: InitializeServiceConfig) => {
7575
// files service is required
7676
addService('files', import('vscode/service-override/files'));
7777

78-
if (lc.enableModelEditorService === true && lc.modelEditorServiceConfig !== undefined) {
79-
addService('modelEditor', import('vscode/service-override/modelEditor'));
78+
if (lc.enableModelService === true) {
79+
addService('model', import('vscode/service-override/model'));
8080
}
81-
if (lc.enableConfigurationService === true && lc.configurationServiceConfig !== undefined) {
81+
if (lc.configureEditorOrViewsServiceConfig !== undefined) {
82+
if (lc.configureEditorOrViewsServiceConfig.enableViewsService) {
83+
addService('views', import('vscode/service-override/views'));
84+
} else {
85+
addService('editor', import('vscode/service-override/editor'));
86+
}
87+
}
88+
if (lc.enableQuickaccessService === true) {
89+
addService('quickaccess', import('vscode/service-override/quickaccess'));
90+
// quickaccess requires keybindings
91+
lc.enableKeybindingsService = true;
92+
}
93+
if (lc.configureConfigurationServiceConfig !== undefined) {
8294
addService('configuration', import('vscode/service-override/configuration'));
8395
}
8496
if (lc.enableDialogService === true) {
@@ -113,9 +125,6 @@ const importAllServices = async (config?: InitializeServiceConfig) => {
113125
if (lc.enableSnippetsService === true) {
114126
addService('snippets', import('vscode/service-override/snippets'));
115127
}
116-
if (lc.enableViewsService === true) {
117-
addService('views', import('vscode/service-override/views'));
118-
}
119128

120129
const reportServiceLoading = (origin: string, services: editor.IEditorOverrideServices, debugLogging: boolean) => {
121130
for (const serviceName of Object.keys(services)) {
@@ -146,19 +155,18 @@ const importAllServices = async (config?: InitializeServiceConfig) => {
146155
}
147156

148157
let services: editor.IEditorOverrideServices = {};
149-
if (serviceName === 'modelEditor' && lc.enableModelEditorService) {
150-
const defaultOpenEditorFunc: OpenEditor = async (model, options, sideBySide) => {
151-
console.log('Trying to open a model', model, options, sideBySide);
152-
return undefined;
153-
};
154-
155-
if (lc.modelEditorServiceConfig?.useDefaultFunction) {
158+
if (serviceName === 'editor' || serviceName === 'views') {
159+
if (lc.configureEditorOrViewsServiceConfig!.useDefaultOpenEditorFunction) {
160+
const defaultOpenEditorFunc: OpenEditor = async (model, options, sideBySide) => {
161+
console.log('Trying to open a model', model, options, sideBySide);
162+
return undefined;
163+
};
156164
services = loadedImport.default(defaultOpenEditorFunc);
157-
} else if (lc.modelEditorServiceConfig?.openEditorFunc) {
158-
services = loadedImport.default(lc.modelEditorServiceConfig.openEditorFunc);
165+
} else if (lc.configureEditorOrViewsServiceConfig?.openEditorFunc) {
166+
services = loadedImport.default(lc.configureEditorOrViewsServiceConfig.openEditorFunc);
159167
}
160-
} else if (serviceName === 'configuration' && lc.enableConfigurationService) {
161-
const uri = Uri.file(lc.configurationServiceConfig!.defaultWorkspaceUri);
168+
} else if (serviceName === 'configuration') {
169+
const uri = Uri.file(lc.configureConfigurationServiceConfig!.defaultWorkspaceUri);
162170
services = loadedImport.default(uri);
163171
} else {
164172
services = loadedImport.default();

packages/examples/main/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
"langium": "~1.2.0",
2424
"langium-statemachine-dsl": "~1.2.0",
2525
"monaco-editor-workers": "0.38.0",
26-
"monaco-languageclient": "6.1.0-next.0",
26+
"monaco-languageclient": "6.1.0-next.1",
2727
"normalize-url": "~8.0.0",
2828
"react": "~18.2.0",
2929
"react-dom": "~18.2.0",
@@ -49,7 +49,7 @@
4949
"npm": "9.6.6"
5050
},
5151
"scripts": {
52-
"clean": "npx shx rm -fr dist *.tsbuildinfo",
52+
"clean": "shx rm -fr dist *.tsbuildinfo",
5353
"compile": "tsc --build tsconfig.src.json",
5454
"build:msg": "echo Building main examples:",
5555
"build:worker:vite": "vite --config vite.langium-worker.ts build",

packages/examples/main/src/browser/main.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
* ------------------------------------------------------------------------------------------ */
55
import { languages, workspace, TextDocument as VsCodeTextDocument } from 'vscode';
6-
7-
import { buildWorkerDefinition } from 'monaco-editor-workers';
8-
96
import { getLanguageService, TextDocument } from 'vscode-json-languageservice';
107
import { createConverter as createCodeConverter } from 'vscode-languageclient/lib/common/codeConverter.js';
118
import { createConverter as createProtocolConverter } from 'vscode-languageclient/lib/common/protocolConverter.js';
129
import { createDefaultJsonContent, createJsonEditor } from '../common.js';
1310

11+
import { buildWorkerDefinition } from 'monaco-editor-workers';
1412
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);
1513

1614
const codeConverter = createCodeConverter();

packages/examples/main/src/client/main.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
* ------------------------------------------------------------------------------------------ */
55

6-
import { buildWorkerDefinition } from 'monaco-editor-workers';
76
import { createDefaultJsonContent, createJsonEditor, createUrl, createWebSocket } from '../common.js';
8-
7+
import { buildWorkerDefinition } from 'monaco-editor-workers';
98
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);
109

1110
const start = async () => {

packages/examples/main/src/common.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
* ------------------------------------------------------------------------------------------ */
55

6-
import 'monaco-editor/esm/vs/editor/edcore.main.js';
6+
import 'monaco-editor/esm/vs/editor/editor.all.js';
7+
import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';
8+
import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';
79
import { editor, languages, Uri } from 'monaco-editor/esm/vs/editor/editor.api.js';
810
import { createConfiguredEditor, createModelReference, IReference, ITextFileEditorModel } from 'vscode/monaco';
11+
import 'vscode/default-extensions/theme-defaults';
12+
import 'vscode/default-extensions/json';
913
import { initServices, MonacoLanguageClient } from 'monaco-languageclient';
1014
import normalizeUrl from 'normalize-url';
1115
import { CloseAction, ErrorAction, MessageTransports } from 'vscode-languageclient';
1216
import { WebSocketMessageReader, WebSocketMessageWriter, toSocket } from 'vscode-ws-jsonrpc';
13-
import 'vscode/default-extensions/theme-defaults';
14-
import 'vscode/default-extensions/json';
1517

1618
export const createLanguageClient = (transports: MessageTransports): MonacoLanguageClient => {
1719
return new MonacoLanguageClient({
@@ -79,11 +81,13 @@ export const createJsonEditor = async (config: {
7981
if (config.init === true) {
8082
await initServices({
8183
enableThemeService: true,
82-
enableModelEditorService: true,
83-
modelEditorServiceConfig: {
84-
useDefaultFunction: true
84+
enableModelService: true,
85+
configureEditorOrViewsServiceConfig: {
86+
enableViewsService: false,
87+
useDefaultOpenEditorFunction: true
8588
},
8689
enableLanguagesService: true,
90+
enableQuickaccessService: true,
8791
debugLogging: true
8892
});
8993
}

packages/examples/main/src/langium/main.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22
* Copyright (c) 2018-2022 TypeFox GmbH (http://www.typefox.io). All rights reserved.
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
* ------------------------------------------------------------------------------------------ */
5-
// support all editor features
6-
import 'monaco-editor/esm/vs/editor/edcore.main.js';
7-
import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
85

9-
import { buildWorkerDefinition } from 'monaco-editor-workers';
6+
import 'monaco-editor/esm/vs/editor/editor.all.js';
7+
import 'monaco-editor/esm/vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp.js';
8+
import 'monaco-editor/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';
9+
import { editor, Uri } from 'monaco-editor/esm/vs/editor/editor.api.js';
1010

1111
import { MonacoLanguageClient, initServices } from 'monaco-languageclient';
1212
import { BrowserMessageReader, BrowserMessageWriter } from 'vscode-languageserver-protocol/browser.js';
1313
import { CloseAction, ErrorAction, MessageTransports } from 'vscode-languageclient';
14-
1514
import { createConfiguredEditor } from 'vscode/monaco';
1615
import { registerExtension } from 'vscode/extensions';
1716
import { updateUserConfiguration } from 'vscode/service-override/configuration';
1817
import getKeybindingsServiceOverride from 'vscode/service-override/keybindings';
1918
import 'vscode/default-extensions/theme-defaults';
2019

20+
import { buildWorkerDefinition } from 'monaco-editor-workers';
2121
buildWorkerDefinition('../../../node_modules/monaco-editor-workers/dist/workers/', new URL('', window.location.href).href, false);
2222

2323
const languageId = 'statemachine';
@@ -72,7 +72,7 @@ const setup = async () => {
7272

7373
updateUserConfiguration(`{
7474
"editor.fontSize": 14,
75-
"workbench.colorTheme": "Default Dark+ Experimental"
75+
"workbench.colorTheme": "Default Dark Modern"
7676
}`);
7777
};
7878

@@ -82,7 +82,7 @@ const run = async () => {
8282
const editorText = await responseStatemachine.text();
8383

8484
const editorOptions = {
85-
model: monaco.editor.createModel(editorText, languageId, monaco.Uri.parse('inmemory://example.statemachine')),
85+
model: editor.createModel(editorText, languageId, Uri.parse('inmemory://example.statemachine')),
8686
automaticLayout: true
8787
};
8888
createConfiguredEditor(document.getElementById('container')!, editorOptions);
@@ -124,12 +124,12 @@ try {
124124
await initServices({
125125
enableThemeService: true,
126126
enableTextmateService: true,
127-
enableModelEditorService: true,
128-
modelEditorServiceConfig: {
129-
useDefaultFunction: true
127+
enableModelService: true,
128+
configureEditorOrViewsServiceConfig: {
129+
enableViewsService: false,
130+
useDefaultOpenEditorFunction: true
130131
},
131-
enableConfigurationService: true,
132-
configurationServiceConfig: {
132+
configureConfigurationServiceConfig: {
133133
defaultWorkspaceUri: '/tmp'
134134
},
135135
// This should demonstate that you can chose to not use the built-in loading meachnism,
@@ -142,7 +142,7 @@ try {
142142
enableNotificationService: true,
143143
enablePreferencesService: true,
144144
enableSnippetsService: true,
145-
enableViewsService: true,
145+
enableQuickaccessService: true,
146146
userServices: {
147147
// manually add the KeyBindingsService
148148
...getKeybindingsServiceOverride()

0 commit comments

Comments
 (0)