Skip to content
This repository has been archived by the owner on Mar 22, 2024. It is now read-only.

Commit

Permalink
Wrapper: Separate service configuration and init. Use initServices fr…
Browse files Browse the repository at this point in the history
…om monaco-lnaguageclient
  • Loading branch information
kaisalmen committed Nov 10, 2023
1 parent 69a3212 commit d2279d1
Show file tree
Hide file tree
Showing 4 changed files with 129 additions and 105 deletions.
207 changes: 118 additions & 89 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions packages/examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
"monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.5 <1.84.0",
"monaco-editor-workers": "~0.44.0",
"monaco-editor-wrapper": "~3.4.0-next.4",
"monaco-languageclient": "~7.0.0",
"monaco-languageclient-examples": "~7.0.0",
"monaco-languageclient": "~7.0.1",
"monaco-languageclient-examples": "~7.0.1",
"react": "~18.2.0",
"react-dom": "~18.2.0",
"request-light": "~0.7.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/monaco-editor-wrapper/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@
"@codingame/monaco-vscode-theme-defaults-default-extension": "~1.83.5",
"@codingame/monaco-vscode-theme-service-override": "~1.83.5",
"monaco-editor": "npm:@codingame/monaco-editor-treemended@>=1.83.5 <1.84.0",
"monaco-languageclient": "~7.0.0",
"monaco-languageclient": "~7.0.1",
"vscode": "npm:@codingame/monaco-vscode-api@>=1.83.5 <1.84.0",
"vscode-languageclient": "~9.0.1",
"vscode-languageserver-protocol":"~3.17.5",
"vscode-ws-jsonrpc": "~3.1.0"
},
"peerDependencies": {
"monaco-languageclient": "~7.0.0",
"monaco-languageclient": "~7.0.1",
"vscode-ws-jsonrpc": "~3.1.0"
},
"overrides": {
Expand Down
19 changes: 7 additions & 12 deletions packages/monaco-editor-wrapper/src/wrapper.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { editor, Uri } from 'monaco-editor';
import getConfigurationServiceOverride from '@codingame/monaco-vscode-configuration-service-override';
import { initServices, wasVscodeApiInitialized, InitializeServiceConfig, MonacoLanguageClient, mergeServices } from 'monaco-languageclient';
import { initServices, InitializeServiceConfig, MonacoLanguageClient, mergeServices } from 'monaco-languageclient';
import { EditorAppExtended, EditorAppConfigExtended } from './editorAppExtended.js';
import { EditorAppClassic, EditorAppConfigClassic } from './editorAppClassic.js';
import { ModelUpdate } from './editorAppBase.js';
Expand Down Expand Up @@ -53,19 +53,21 @@ export class MonacoEditorLanguageClientWrapper {
} else {
this.editorApp = new EditorAppExtended(this.id, userConfig, this.logger);
}

// editorApps init their own service thats why they have to be created first
await this.initServices();
this.configureServices();
await initServices(this.serviceConfig);

this.languageClientWrapper.init(this.editorApp.getConfig().languageId,
userConfig.languageClientConfig, this.logger);

this.initDone = true;
}

private async initServices() {
// always set required services if not configure
protected configureServices() {
// always set required services if not configured
this.serviceConfig.userServices = this.serviceConfig.userServices ?? {};
const configureService = this.serviceConfig.userServices.configure;
const configureService = this.serviceConfig.userServices.configure ?? undefined;

if (!configureService) {
const mlcDefautServices = {
Expand All @@ -77,13 +79,6 @@ export class MonacoEditorLanguageClientWrapper {

// overrule debug log flag
this.serviceConfig.debugLogging = this.logger.isEnabled() && (this.serviceConfig.debugLogging || this.logger.isDebugEnabled());

if (wasVscodeApiInitialized()) {
this.logger.debug('No service init on restart', this.serviceConfig.debugLogging);
} else {
this.logger.debug('Init Services', this.serviceConfig.debugLogging);
await initServices(this.serviceConfig);
}
}

async start(userConfig: UserConfig, htmlElement: HTMLElement | null) {
Expand Down

0 comments on commit d2279d1

Please sign in to comment.