diff --git a/package-lock.json b/package-lock.json index 3f98cc2..4f431a0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3159,7 +3159,7 @@ "monaco-editor-comp": "../monaco-editor-comp", "monaco-editor-react": "../monaco-editor-react", "monaco-editor-workers": "../monaco-editor-workers", - "monaco-editor-wrapper": "../monaco-editor-wrapper", + "monaco-editor-wrapper": "1.6.1", "react": "~18.2.0", "react-dom": "~18.2.0", "request-light": "~0.6.0", @@ -3205,7 +3205,7 @@ "license": "MIT", "dependencies": { "lit": "~2.6.1", - "monaco-editor-wrapper": "1.6.0" + "monaco-editor-wrapper": "1.6.1" }, "devDependencies": { "monaco-editor-workers": "0.34.2" @@ -3217,7 +3217,7 @@ "license": "MIT", "dependencies": { "monaco-editor-workers": "0.34.2", - "monaco-editor-wrapper": "1.6.0", + "monaco-editor-wrapper": "1.6.1", "react": "~18.2.0", "react-dom": "~18.2.0" }, @@ -3262,7 +3262,7 @@ } }, "packages/monaco-editor-wrapper": { - "version": "1.6.0", + "version": "1.6.1", "license": "MIT", "dependencies": { "@types/css-font-loading-module": "~0.0.7", @@ -3566,7 +3566,7 @@ "@types/react": "~18.0.26", "@types/react-dom": "~18.0.10", "monaco-editor-workers": "0.34.2", - "monaco-editor-wrapper": "1.6.0", + "monaco-editor-wrapper": "1.6.1", "react": "~18.2.0", "react-dom": "~18.2.0" }, @@ -4802,7 +4802,7 @@ "requires": { "lit": "~2.6.1", "monaco-editor-workers": "0.34.2", - "monaco-editor-wrapper": "1.6.0" + "monaco-editor-wrapper": "1.6.1" } }, "monaco-editor-react": { @@ -4811,7 +4811,7 @@ "@types/react": "~18.0.26", "@types/react-dom": "~18.0.10", "monaco-editor-workers": "0.34.2", - "monaco-editor-wrapper": "1.6.0", + "monaco-editor-wrapper": "1.6.1", "react": "~18.2.0", "react-dom": "~18.2.0" }, @@ -4865,7 +4865,7 @@ "monaco-editor-comp": "../monaco-editor-comp", "monaco-editor-react": "../monaco-editor-react", "monaco-editor-workers": "../monaco-editor-workers", - "monaco-editor-wrapper": "../monaco-editor-wrapper", + "monaco-editor-wrapper": "1.6.1", "react": "~18.2.0", "react-dom": "~18.2.0", "request-light": "~0.6.0", diff --git a/packages/examples/package.json b/packages/examples/package.json index 1b9d304..3d5aa3a 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -4,7 +4,7 @@ "type": "module", "dependencies": { "http-server": "~14.1.1", - "monaco-editor-wrapper": "../monaco-editor-wrapper", + "monaco-editor-wrapper": "1.6.1", "monaco-editor-comp": "../monaco-editor-comp", "monaco-editor-react": "../monaco-editor-react", "monaco-editor-workers": "../monaco-editor-workers", diff --git a/packages/monaco-editor-comp/package.json b/packages/monaco-editor-comp/package.json index f5dd567..bf1c97e 100644 --- a/packages/monaco-editor-comp/package.json +++ b/packages/monaco-editor-comp/package.json @@ -69,7 +69,7 @@ "npm": "8.19.3" }, "dependencies": { - "monaco-editor-wrapper": "1.6.0", + "monaco-editor-wrapper": "1.6.1", "lit": "~2.6.1" }, "devDependencies": { diff --git a/packages/monaco-editor-react/package.json b/packages/monaco-editor-react/package.json index a20407c..a603690 100644 --- a/packages/monaco-editor-react/package.json +++ b/packages/monaco-editor-react/package.json @@ -70,7 +70,7 @@ }, "dependencies": { "monaco-editor-workers": "0.34.2", - "monaco-editor-wrapper": "1.6.0", + "monaco-editor-wrapper": "1.6.1", "react": "~18.2.0", "react-dom": "~18.2.0" }, diff --git a/packages/monaco-editor-wrapper/CHANGELOG.md b/packages/monaco-editor-wrapper/CHANGELOG.md index c31ce83..8da106f 100644 --- a/packages/monaco-editor-wrapper/CHANGELOG.md +++ b/packages/monaco-editor-wrapper/CHANGELOG.md @@ -2,6 +2,11 @@ All notable changes to npm module [monaco-editor-wrapper](https://www.npmjs.com/package/monaco-editor-wrapper) are documented in this file. +## [1.6.1] - 2023-03-23 + +- Enable to update/restart the language client [#18](https://github.com/TypeFox/monaco-components/pull/18) +- Add language client initialization options [#17](https://github.com/TypeFox/monaco-components/pull/17) + ## [1.6.0] - 2022-12-21 - Fix error in `disposeLanguageClient` preventing proper editor disposal diff --git a/packages/monaco-editor-wrapper/package.json b/packages/monaco-editor-wrapper/package.json index d781f3b..ff5b234 100644 --- a/packages/monaco-editor-wrapper/package.json +++ b/packages/monaco-editor-wrapper/package.json @@ -1,6 +1,6 @@ { "name": "monaco-editor-wrapper", - "version": "1.6.0", + "version": "1.6.1", "license": "MIT", "description": "Monaco-Editor and Monaco Languageclient Wrapper", "keywords": [ diff --git a/packages/monaco-editor-wrapper/src/index.ts b/packages/monaco-editor-wrapper/src/index.ts index 788190d..daa3123 100644 --- a/packages/monaco-editor-wrapper/src/index.ts +++ b/packages/monaco-editor-wrapper/src/index.ts @@ -66,6 +66,8 @@ export class CodeEditorConfig { // languageclient related configuration private useLanguageClient = false; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + private initializationOptions: any = undefined; // create config type web socket / web worker private useWebSocket = true; private lcConfigOptions = this.useWebSocket ? this.getDefaultWebSocketConfig() : this.getDefaultWorkerConfig(); @@ -193,6 +195,16 @@ export class CodeEditorConfig { this.lcConfigOptions = lcConfigOptions; } + // eslint-disable-next-line @typescript-eslint/no-explicit-any + getInitializationOptions(): any { + return this.initializationOptions; + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + setInitializationOptions(options: any): void { + this.initializationOptions = options; + } + getDefaultWebSocketConfig(): WebSocketConfigOptions { return { wsSecured: false, @@ -328,6 +340,11 @@ export class MonacoEditorLanguageClientWrapper { } } + async restartLanguageClient(): Promise { + await this.disposeLanguageClient(); + return this.startLanguageClientConnection(this.editorConfig.getLanguageClientConfigOptions()); + } + private disposeEditor() { if (this.editor) { const model = this.editor.getModel(); @@ -533,7 +550,9 @@ export class MonacoEditorLanguageClientWrapper { errorHandler: { error: () => ({ action: ErrorAction.Continue }), closed: () => ({ action: CloseAction.DoNotRestart }) - } + }, + // allow to initialize the language client with user specific options + initializationOptions: this.editorConfig.getInitializationOptions(), }, // create a language client connection from the JSON RPC connection on demand connectionProvider: {