monaco-languageclient
Advanced tools
Comparing version 8.0.0 to 8.1.0
@@ -5,2 +5,9 @@ # Changelog | ||
## [8.1.0] - 2024-03-22 | ||
- Updated to version `3.2.1` of `@codingame/monaco-vscode` packages | ||
- Enhance TypeScript related examples [#611](https://github.com/TypeFox/monaco-languageclient/issues/611) | ||
- It is now possible via **InitializeServiceConfig -> enableExtHostWorker** | ||
- Moved import of 'vscode/localExtensionHost' from the wrapper here to fix independent init | ||
## [8.0.0] - 2024-03-18 | ||
@@ -7,0 +14,0 @@ |
/* -------------------------------------------------------------------------------------------- | ||
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved. | ||
* Copyright (c) 2024 TypeFox and others. | ||
* Licensed under the MIT License. See LICENSE in the package root for license information. | ||
@@ -4,0 +4,0 @@ * ------------------------------------------------------------------------------------------ */ |
@@ -1,4 +0,5 @@ | ||
import { editor, Environment } from 'monaco-editor'; | ||
import * as monaco from 'monaco-editor'; | ||
import 'vscode/localExtensionHost'; | ||
import { IWorkbenchConstructionOptions } from 'vscode/services'; | ||
export interface MonacoEnvironmentEnhanced extends Environment { | ||
export interface MonacoEnvironmentEnhanced extends monaco.Environment { | ||
vscodeInitialising?: boolean; | ||
@@ -8,3 +9,4 @@ vscodeApiInitialised?: boolean; | ||
export type InitializeServiceConfig = { | ||
userServices?: editor.IEditorOverrideServices; | ||
userServices?: monaco.editor.IEditorOverrideServices; | ||
enableExtHostWorker?: boolean; | ||
debugLogging?: boolean; | ||
@@ -17,4 +19,4 @@ workspaceConfig?: IWorkbenchConstructionOptions; | ||
}>; | ||
export declare const reportServiceLoading: (services: editor.IEditorOverrideServices, debugLogging: boolean) => void; | ||
export declare const mergeServices: (services: editor.IEditorOverrideServices, overrideServices: editor.IEditorOverrideServices) => void; | ||
export declare const reportServiceLoading: (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => void; | ||
export declare const mergeServices: (services: monaco.editor.IEditorOverrideServices, overrideServices: monaco.editor.IEditorOverrideServices) => void; | ||
export declare const initServices: (config?: InitializeServiceConfig, caller?: string, performChecks?: () => boolean) => Promise<void>; | ||
@@ -33,2 +35,6 @@ /** | ||
export declare const importAllServices: (config?: InitializeServiceConfig, performChecks?: () => boolean) => Promise<void>; | ||
/** | ||
* Enable ext host to run in a worker | ||
*/ | ||
export declare const configureExtHostWorker: (enableExtHostWorker: boolean, userServices: monaco.editor.IEditorOverrideServices) => Promise<void>; | ||
//# sourceMappingURL=services.d.ts.map |
/* -------------------------------------------------------------------------------------------- | ||
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved. | ||
* Copyright (c) 2024 TypeFox and others. | ||
* Licensed under the MIT License. See LICENSE in the package root for license information. | ||
* ------------------------------------------------------------------------------------------ */ | ||
import 'vscode/localExtensionHost'; | ||
import { ILogService, initialize, StandaloneServices } from 'vscode/services'; | ||
import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override'; | ||
import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override'; | ||
import { FakeWorker as Worker } from './fakeWorker.js'; | ||
export const initEnhancedMonacoEnvironment = () => { | ||
@@ -77,2 +79,3 @@ const monWin = self; | ||
mergeServices(lcRequiredServices, userServices); | ||
await configureExtHostWorker(config?.enableExtHostWorker === true, userServices); | ||
reportServiceLoading(userServices, lc.debugLogging === true); | ||
@@ -87,2 +90,20 @@ if (performChecks === undefined || performChecks()) { | ||
}; | ||
/** | ||
* Enable ext host to run in a worker | ||
*/ | ||
export const configureExtHostWorker = async (enableExtHostWorker, userServices) => { | ||
if (enableExtHostWorker) { | ||
const fakeWorker = new Worker(new URL('vscode/workers/extensionHost.worker', import.meta.url), { type: 'module' }); | ||
const workerConfig = { | ||
url: fakeWorker.url.toString(), | ||
options: fakeWorker.options | ||
}; | ||
// import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override'; | ||
const getExtensionServiceOverride = (await import('@codingame/monaco-vscode-extensions-service-override')).default; | ||
const extHostServices = { | ||
...getExtensionServiceOverride(workerConfig), | ||
}; | ||
mergeServices(extHostServices, userServices); | ||
} | ||
}; | ||
//# sourceMappingURL=services.js.map |
{ | ||
"name": "monaco-languageclient", | ||
"version": "8.0.0", | ||
"version": "8.1.0", | ||
"description": "Monaco Language client implementation", | ||
@@ -58,11 +58,11 @@ "author": { | ||
"dependencies": { | ||
"@codingame/monaco-vscode-languages-service-override": "~3.1.2", | ||
"@codingame/monaco-vscode-model-service-override": "~3.1.2", | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.1.2", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~3.1.2", | ||
"@codingame/monaco-vscode-languages-service-override": "~3.2.2", | ||
"@codingame/monaco-vscode-model-service-override": "~3.2.2", | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.2.2", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~3.2.2", | ||
"vscode-languageclient": "~9.0.1" | ||
}, | ||
"peerDependencies": { | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.1.2", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~3.1.2" | ||
"monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~3.2.2", | ||
"vscode": "npm:@codingame/monaco-vscode-api@~3.2.2" | ||
}, | ||
@@ -69,0 +69,0 @@ "peerDependenciesMeta": { |
@@ -35,4 +35,2 @@ # Monaco Language Client | ||
Please check our examples [in the examples overview chapter](https://github.com/TypeFox/monaco-languageclient/tree/main?tab=readme-ov-file#examples-overview) as they demonstrate the usage. | ||
#### textmate and monarch | ||
@@ -49,6 +47,8 @@ | ||
See [here](https://github.com/TypeFox/monaco-languageclient/blob/main/README.md) for a detailed documentation. | ||
## Examples | ||
For a detailed list of examples please look at [this section](<https://github.com/TypeFox/monaco-languageclient#examples-overview>) in the main repository. | ||
## License | ||
[MIT](https://github.com/TypeFox/monaco-languageclient/blob/main/packages/client/LICENSE) |
/* -------------------------------------------------------------------------------------------- | ||
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved. | ||
* Copyright (c) 2024 TypeFox and others. | ||
* Licensed under the MIT License. See LICENSE in the package root for license information. | ||
@@ -4,0 +4,0 @@ * ------------------------------------------------------------------------------------------ */ |
/* -------------------------------------------------------------------------------------------- | ||
* Copyright (c) 2024 TypeFox GmbH (http://www.typefox.io). All rights reserved. | ||
* Copyright (c) 2024 TypeFox and others. | ||
* Licensed under the MIT License. See LICENSE in the package root for license information. | ||
* ------------------------------------------------------------------------------------------ */ | ||
import { editor, Environment } from 'monaco-editor'; | ||
import * as monaco from 'monaco-editor'; | ||
import 'vscode/localExtensionHost'; | ||
import { ILogService, initialize, IWorkbenchConstructionOptions, StandaloneServices } from 'vscode/services'; | ||
import type { WorkerConfig } from '@codingame/monaco-vscode-extensions-service-override'; | ||
import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override'; | ||
import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override'; | ||
import { FakeWorker as Worker } from './fakeWorker.js'; | ||
export interface MonacoEnvironmentEnhanced extends Environment { | ||
export interface MonacoEnvironmentEnhanced extends monaco.Environment { | ||
vscodeInitialising?: boolean; | ||
@@ -17,3 +20,4 @@ vscodeApiInitialised?: boolean; | ||
export type InitializeServiceConfig = { | ||
userServices?: editor.IEditorOverrideServices; | ||
userServices?: monaco.editor.IEditorOverrideServices; | ||
enableExtHostWorker?: boolean; | ||
debugLogging?: boolean; | ||
@@ -46,3 +50,3 @@ workspaceConfig?: IWorkbenchConstructionOptions; | ||
export const reportServiceLoading = (services: editor.IEditorOverrideServices, debugLogging: boolean) => { | ||
export const reportServiceLoading = (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => { | ||
for (const serviceName of Object.keys(services)) { | ||
@@ -55,3 +59,3 @@ if (debugLogging) { | ||
export const mergeServices = (services: editor.IEditorOverrideServices, overrideServices: editor.IEditorOverrideServices) => { | ||
export const mergeServices = (services: monaco.editor.IEditorOverrideServices, overrideServices: monaco.editor.IEditorOverrideServices) => { | ||
for (const [name, service] of Object.entries(services)) { | ||
@@ -97,6 +101,8 @@ overrideServices[name] = service; | ||
const lc: InitializeServiceConfig = config ?? {}; | ||
const userServices: editor.IEditorOverrideServices = lc.userServices ?? {}; | ||
const userServices: monaco.editor.IEditorOverrideServices = lc.userServices ?? {}; | ||
const lcRequiredServices = await supplyRequiredServices(); | ||
mergeServices(lcRequiredServices, userServices); | ||
await configureExtHostWorker(config?.enableExtHostWorker === true, userServices); | ||
reportServiceLoading(userServices, lc.debugLogging === true); | ||
@@ -112,1 +118,21 @@ | ||
}; | ||
/** | ||
* Enable ext host to run in a worker | ||
*/ | ||
export const configureExtHostWorker = async (enableExtHostWorker: boolean, userServices: monaco.editor.IEditorOverrideServices) => { | ||
if (enableExtHostWorker) { | ||
const fakeWorker = new Worker(new URL('vscode/workers/extensionHost.worker', import.meta.url), { type: 'module' }); | ||
const workerConfig: WorkerConfig = { | ||
url: fakeWorker.url.toString(), | ||
options: fakeWorker.options | ||
}; | ||
// import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-service-override'; | ||
const getExtensionServiceOverride = (await import('@codingame/monaco-vscode-extensions-service-override')).default; | ||
const extHostServices = { | ||
...getExtensionServiceOverride(workerConfig), | ||
}; | ||
mergeServices(extHostServices, userServices); | ||
} | ||
}; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
54061
19
342
+ Added@codingame/monaco-vscode-api@3.2.3(transitive)
+ Added@codingame/monaco-vscode-base-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-editor-api@3.2.3(transitive)
+ Added@codingame/monaco-vscode-environment-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-extensions-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-files-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-host-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-languages-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-layout-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-model-service-override@3.2.3(transitive)
+ Added@codingame/monaco-vscode-quickaccess-service-override@3.2.3(transitive)
- Removed@codingame/monaco-vscode-api@3.1.2(transitive)
- Removed@codingame/monaco-vscode-base-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-editor-api@3.1.2(transitive)
- Removed@codingame/monaco-vscode-environment-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-extensions-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-files-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-host-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-languages-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-layout-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-model-service-override@3.1.2(transitive)
- Removed@codingame/monaco-vscode-quickaccess-service-override@3.1.2(transitive)
Updated@codingame/monaco-vscode-languages-service-override@~3.2.2
Updated@codingame/monaco-vscode-model-service-override@~3.2.2
Updatedmonaco-editor@npm:@codingame/monaco-vscode-editor-api@~3.2.2