monaco-languageclient 8.2.0 → 8.3.1

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to this npm module are documented in this file.
4
4
 
5
+ ## [8.3.1] - 2024-04-17
6
+
7
+ - Updated to version `4.3.2` of `@codingame/monaco-vscode` packages
8
+
9
+ ## [8.3.0] - 2024-04-10
10
+
11
+ - Updated to version `4.2.1` of `@codingame/monaco-vscode` packages
12
+ - Introduce new export `tools` exposing the `Logger` migrated here from `monaco-editor-wrapper`
13
+
5
14
  ## [8.2.0] - 2024-04-10
6
15
 
7
16
  - Updated to version `4.1.2` of `@codingame/monaco-vscode` packages
@@ -0,0 +1,15 @@
1
+ export type LoggerConfig = {
2
+ enabled: boolean;
3
+ debugEnabled?: boolean;
4
+ };
5
+ export declare class Logger {
6
+ private enabled;
7
+ private debugEnabled;
8
+ constructor(config?: LoggerConfig);
9
+ updateConfig(config?: LoggerConfig): void;
10
+ isEnabled(): boolean;
11
+ isDebugEnabled(): boolean;
12
+ info(message: string): void;
13
+ debug(message: string, force?: boolean): void;
14
+ }
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,YAAY,GAAG;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;CACzB,CAAC;AAEF,qBAAa,MAAM;IAEf,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAU;gBAElB,MAAM,CAAC,EAAE,YAAY;IAIjC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY;IAKlC,SAAS;IAIT,cAAc;IAId,IAAI,CAAC,OAAO,EAAE,MAAM;IAMpB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAKzC"}
@@ -0,0 +1,32 @@
1
+ /* --------------------------------------------------------------------------------------------
2
+ * Copyright (c) 2024 TypeFox and others.
3
+ * Licensed under the MIT License. See LICENSE in the package root for license information.
4
+ * ------------------------------------------------------------------------------------------ */
5
+ export class Logger {
6
+ enabled;
7
+ debugEnabled;
8
+ constructor(config) {
9
+ this.updateConfig(config);
10
+ }
11
+ updateConfig(config) {
12
+ this.enabled = !config ? true : config.enabled === true;
13
+ this.debugEnabled = this.enabled && config?.debugEnabled === true;
14
+ }
15
+ isEnabled() {
16
+ return this.enabled;
17
+ }
18
+ isDebugEnabled() {
19
+ return this.debugEnabled;
20
+ }
21
+ info(message) {
22
+ if (this.enabled) {
23
+ console.log(message);
24
+ }
25
+ }
26
+ debug(message, force) {
27
+ if (this.enabled && (this.debugEnabled || force === true)) {
28
+ console.debug(message);
29
+ }
30
+ }
31
+ }
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAOhG,MAAM,OAAO,MAAM;IAEP,OAAO,CAAU;IACjB,YAAY,CAAU;IAE9B,YAAY,MAAqB;QAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,MAAqB;QAC9B,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAO,CAAC,OAAO,KAAK,IAAI,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACtE,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,OAAe;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,KAAe;QAClC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;CACJ"}
@@ -2,6 +2,7 @@ import * as monaco from 'monaco-editor';
2
2
  import 'vscode/localExtensionHost';
3
3
  import { IWorkbenchConstructionOptions } from 'vscode/services';
4
4
  import type { LocalizationOptions } from '@codingame/monaco-vscode-localization-service-override';
5
+ import { Logger } from '../tools/index.js';
5
6
  export interface MonacoEnvironmentEnhanced extends monaco.Environment {
6
7
  vscodeInitialising?: boolean;
7
8
  vscodeApiInitialised?: boolean;
@@ -16,9 +17,15 @@ export declare const initEnhancedMonacoEnvironment: () => MonacoEnvironmentEnhan
16
17
  export declare const supplyRequiredServices: () => Promise<{
17
18
  [x: string]: any;
18
19
  }>;
19
- export declare const reportServiceLoading: (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => void;
20
+ export declare const reportServiceLoading: (services: monaco.editor.IEditorOverrideServices, logger?: Logger) => void;
20
21
  export declare const mergeServices: (services: monaco.editor.IEditorOverrideServices, overrideServices: monaco.editor.IEditorOverrideServices) => void;
21
- export declare const initServices: (config?: InitializeServiceConfig, caller?: string, performChecks?: () => boolean) => Promise<void>;
22
+ export type InitServicesInstruction = {
23
+ serviceConfig?: InitializeServiceConfig;
24
+ caller?: string;
25
+ performChecks?: () => boolean;
26
+ logger?: Logger;
27
+ };
28
+ export declare const initServices: (instruction: InitServicesInstruction) => Promise<void>;
22
29
  /**
23
30
  * monaco-vscode-api automatically loads the following services:
24
31
  * - layout
@@ -30,7 +37,7 @@ export declare const initServices: (config?: InitializeServiceConfig, caller?: s
30
37
  * - languages
31
38
  * - model
32
39
  */
33
- export declare const importAllServices: (config?: InitializeServiceConfig, performChecks?: () => boolean) => Promise<void>;
40
+ export declare const importAllServices: (instruction: InitServicesInstruction) => Promise<void>;
34
41
  /**
35
42
  * Enable ext host to run in a worker
36
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/vscode/services.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAA2B,6BAA6B,EAAsB,MAAM,iBAAiB,CAAC;AAK7G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAGlG,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,WAAW;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,6BAA6B,iCAczC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;EAKlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,OAAO,MAAM,CAAC,uBAAuB,gBAAgB,OAAO,SAM1G,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,OAAO,MAAM,CAAC,uBAAuB,oBAAoB,OAAO,MAAM,CAAC,uBAAuB,SAIrI,CAAC;AAEF,eAAO,MAAM,YAAY,YAAmB,uBAAuB,WAAW,MAAM,kBAAkB,MAAM,OAAO,kBAoBlH,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,YAAmB,uBAAuB,kBAAkB,MAAM,OAAO,kBAiBtG,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAA+B,OAAO,gBAAgB,OAAO,MAAM,CAAC,uBAAuB,kBAa7H,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAAO,mBA8DnD,CAAC"}
1
+ {"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/vscode/services.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAA2B,6BAA6B,EAAsB,MAAM,iBAAiB,CAAC;AAK7G,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wDAAwD,CAAC;AAElG,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,WAAW,yBAA0B,SAAQ,MAAM,CAAC,WAAW;IACjE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,MAAM,uBAAuB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC;IACrD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,6BAA6B,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,6BAA6B,iCAczC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;EAKlC,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,OAAO,MAAM,CAAC,uBAAuB,WAAW,MAAM,SAIpG,CAAC;AAEF,eAAO,MAAM,aAAa,aAAc,OAAO,MAAM,CAAC,uBAAuB,oBAAoB,OAAO,MAAM,CAAC,uBAAuB,SAIrI,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,aAAa,CAAC,EAAE,uBAAuB,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,YAAY,gBAAuB,uBAAuB,kBAwBtE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,gBAAuB,uBAAuB,kBAkB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,wBAA+B,OAAO,gBAAgB,OAAO,MAAM,CAAC,uBAAuB,kBAa7H,CAAC;AAEF,eAAO,MAAM,gCAAgC,QAAO,mBA8DnD,CAAC"}
@@ -8,6 +8,7 @@ import getExtensionServiceOverride from '@codingame/monaco-vscode-extensions-ser
8
8
  import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-service-override';
9
9
  import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
10
10
  import { FakeWorker as Worker } from './fakeWorker.js';
11
+ import { Logger } from '../tools/index.js';
11
12
  export const initEnhancedMonacoEnvironment = () => {
12
13
  const monWin = self;
13
14
  if (!monWin.MonacoEnvironment) {
@@ -28,11 +29,9 @@ export const supplyRequiredServices = async () => {
28
29
  ...getModelServiceOverride()
29
30
  };
30
31
  };
31
- export const reportServiceLoading = (services, debugLogging) => {
32
+ export const reportServiceLoading = (services, logger) => {
32
33
  for (const serviceName of Object.keys(services)) {
33
- if (debugLogging) {
34
- console.log(`Loading service: ${serviceName}`);
35
- }
34
+ logger?.debug(`Loading service: ${serviceName}`);
36
35
  }
37
36
  };
38
37
  export const mergeServices = (services, overrideServices) => {
@@ -40,23 +39,24 @@ export const mergeServices = (services, overrideServices) => {
40
39
  overrideServices[name] = service;
41
40
  }
42
41
  };
43
- export const initServices = async (config, caller, performChecks) => {
42
+ export const initServices = async (instruction) => {
44
43
  const envEnhanced = initEnhancedMonacoEnvironment();
44
+ // in case debugLogging is set and for whatever reason no logger is passed a proper one is created
45
+ if (instruction.serviceConfig?.debugLogging === true && !instruction.logger) {
46
+ instruction.logger = new Logger({
47
+ enabled: true,
48
+ debugEnabled: true
49
+ });
50
+ }
45
51
  if (!envEnhanced.vscodeInitialising) {
46
52
  if (envEnhanced.vscodeApiInitialised) {
47
- if (config?.debugLogging === true) {
48
- console.log('Initialization of vscode services can only performed once!');
49
- }
53
+ instruction.logger?.debug('Initialization of vscode services can only performed once!');
50
54
  }
51
55
  else {
52
56
  envEnhanced.vscodeInitialising = true;
53
- if (config?.debugLogging === true) {
54
- console.log(`Initializing vscode services. Caller: ${caller ?? 'unknown'}`);
55
- }
56
- await importAllServices(config, performChecks);
57
- if (config?.debugLogging === true) {
58
- console.log('Initialization of vscode services completed successfully.');
59
- }
57
+ instruction.logger?.debug(`Initializing vscode services. Caller: ${instruction.caller ?? 'unknown'}`);
58
+ await importAllServices(instruction);
59
+ instruction.logger?.debug('Initialization of vscode services completed successfully.');
60
60
  envEnhanced.vscodeApiInitialised = true;
61
61
  }
62
62
  }
@@ -72,14 +72,14 @@ export const initServices = async (config, caller, performChecks) => {
72
72
  * - languages
73
73
  * - model
74
74
  */
75
- export const importAllServices = async (config, performChecks) => {
76
- const lc = config ?? {};
75
+ export const importAllServices = async (instruction) => {
76
+ const lc = instruction.serviceConfig ?? {};
77
77
  const userServices = lc.userServices ?? {};
78
78
  const lcRequiredServices = await supplyRequiredServices();
79
79
  mergeServices(lcRequiredServices, userServices);
80
- await configureExtHostWorker(config?.enableExtHostWorker === true, userServices);
81
- reportServiceLoading(userServices, lc.debugLogging === true);
82
- if (performChecks === undefined || performChecks()) {
80
+ await configureExtHostWorker(instruction.serviceConfig?.enableExtHostWorker === true, userServices);
81
+ reportServiceLoading(userServices, instruction.logger);
82
+ if (instruction.performChecks === undefined || instruction.performChecks()) {
83
83
  await initialize(userServices);
84
84
  const logLevel = lc.workspaceConfig?.developmentOptions?.logLevel;
85
85
  if (logLevel) {
@@ -1 +1 @@
1
- {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/vscode/services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"services.js","sourceRoot":"","sources":["../../src/vscode/services.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monaco-languageclient",
3
- "version": "8.2.0",
3
+ "version": "8.3.1",
4
4
  "description": "Monaco Language client implementation",
5
5
  "author": {
6
6
  "name": "TypeFox GmbH",
@@ -24,6 +24,10 @@
24
24
  "types": "./lib/index.d.ts",
25
25
  "default": "./lib/index.js"
26
26
  },
27
+ "./tools": {
28
+ "types": "./lib/tools/index.d.ts",
29
+ "default": "./lib/tools/index.js"
30
+ },
27
31
  "./vscode/services": {
28
32
  "types": "./lib/vscode/services.d.ts",
29
33
  "default": "./lib/vscode/services.js"
@@ -34,6 +38,9 @@
34
38
  ".": [
35
39
  "lib/index.d.ts"
36
40
  ],
41
+ "tools": [
42
+ "lib/tools/index"
43
+ ],
37
44
  "vscode/services": [
38
45
  "lib/vscode/services"
39
46
  ]
@@ -44,7 +51,7 @@
44
51
  "npm": ">=9.0.0"
45
52
  },
46
53
  "volta": {
47
- "node": "20.12.0",
54
+ "node": "20.12.2",
48
55
  "npm": "10.5.0"
49
56
  },
50
57
  "files": [
@@ -55,17 +62,17 @@
55
62
  "LICENSE"
56
63
  ],
57
64
  "dependencies": {
58
- "@codingame/monaco-vscode-extensions-service-override": "~4.1.2",
59
- "@codingame/monaco-vscode-languages-service-override": "~4.1.2",
60
- "@codingame/monaco-vscode-localization-service-override": "~4.1.2",
61
- "@codingame/monaco-vscode-model-service-override": "~4.1.2",
62
- "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.1.2",
63
- "vscode": "npm:@codingame/monaco-vscode-api@~4.1.2",
65
+ "@codingame/monaco-vscode-extensions-service-override": "~4.3.2",
66
+ "@codingame/monaco-vscode-languages-service-override": "~4.3.2",
67
+ "@codingame/monaco-vscode-localization-service-override": "~4.3.2",
68
+ "@codingame/monaco-vscode-model-service-override": "~4.3.2",
69
+ "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.3.2",
70
+ "vscode": "npm:@codingame/monaco-vscode-api@~4.3.2",
64
71
  "vscode-languageclient": "~9.0.1"
65
72
  },
66
73
  "peerDependencies": {
67
- "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.1.2",
68
- "vscode": "npm:@codingame/monaco-vscode-api@~4.1.2"
74
+ "monaco-editor": "npm:@codingame/monaco-vscode-editor-api@~4.3.2",
75
+ "vscode": "npm:@codingame/monaco-vscode-api@~4.3.2"
69
76
  },
70
77
  "peerDependenciesMeta": {
71
78
  "monaco-editor": {
@@ -0,0 +1,44 @@
1
+ /* --------------------------------------------------------------------------------------------
2
+ * Copyright (c) 2024 TypeFox and others.
3
+ * Licensed under the MIT License. See LICENSE in the package root for license information.
4
+ * ------------------------------------------------------------------------------------------ */
5
+
6
+ export type LoggerConfig = {
7
+ enabled: boolean,
8
+ debugEnabled?: boolean
9
+ };
10
+
11
+ export class Logger {
12
+
13
+ private enabled: boolean;
14
+ private debugEnabled: boolean;
15
+
16
+ constructor(config?: LoggerConfig) {
17
+ this.updateConfig(config);
18
+ }
19
+
20
+ updateConfig(config?: LoggerConfig) {
21
+ this.enabled = !config ? true : config!.enabled === true;
22
+ this.debugEnabled = this.enabled && config?.debugEnabled === true;
23
+ }
24
+
25
+ isEnabled() {
26
+ return this.enabled;
27
+ }
28
+
29
+ isDebugEnabled() {
30
+ return this.debugEnabled;
31
+ }
32
+
33
+ info(message: string) {
34
+ if (this.enabled) {
35
+ console.log(message);
36
+ }
37
+ }
38
+
39
+ debug(message: string, force?: boolean) {
40
+ if (this.enabled && (this.debugEnabled || force === true)) {
41
+ console.debug(message);
42
+ }
43
+ }
44
+ }
@@ -12,6 +12,7 @@ import getLanguagesServiceOverride from '@codingame/monaco-vscode-languages-serv
12
12
  import getModelServiceOverride from '@codingame/monaco-vscode-model-service-override';
13
13
  import type { LocalizationOptions } from '@codingame/monaco-vscode-localization-service-override';
14
14
  import { FakeWorker as Worker } from './fakeWorker.js';
15
+ import { Logger } from '../tools/index.js';
15
16
 
16
17
  export interface MonacoEnvironmentEnhanced extends monaco.Environment {
17
18
  vscodeInitialising?: boolean;
@@ -48,11 +49,9 @@ export const supplyRequiredServices = async () => {
48
49
  };
49
50
  };
50
51
 
51
- export const reportServiceLoading = (services: monaco.editor.IEditorOverrideServices, debugLogging: boolean) => {
52
+ export const reportServiceLoading = (services: monaco.editor.IEditorOverrideServices, logger?: Logger) => {
52
53
  for (const serviceName of Object.keys(services)) {
53
- if (debugLogging) {
54
- console.log(`Loading service: ${serviceName}`);
55
- }
54
+ logger?.debug(`Loading service: ${serviceName}`);
56
55
  }
57
56
  };
58
57
 
@@ -62,23 +61,34 @@ export const mergeServices = (services: monaco.editor.IEditorOverrideServices, o
62
61
  }
63
62
  };
64
63
 
65
- export const initServices = async (config?: InitializeServiceConfig, caller?: string, performChecks?: () => boolean) => {
64
+ export type InitServicesInstruction = {
65
+ serviceConfig?: InitializeServiceConfig;
66
+ caller?: string;
67
+ performChecks?: () => boolean;
68
+ logger?: Logger;
69
+ };
70
+
71
+ export const initServices = async (instruction: InitServicesInstruction) => {
66
72
  const envEnhanced = initEnhancedMonacoEnvironment();
67
73
 
74
+ // in case debugLogging is set and for whatever reason no logger is passed a proper one is created
75
+ if (instruction.serviceConfig?.debugLogging === true && !instruction.logger) {
76
+ instruction.logger = new Logger({
77
+ enabled: true,
78
+ debugEnabled: true
79
+ });
80
+ }
81
+
68
82
  if (!envEnhanced.vscodeInitialising) {
69
83
  if (envEnhanced.vscodeApiInitialised) {
70
- if (config?.debugLogging === true) {
71
- console.log('Initialization of vscode services can only performed once!');
72
- }
84
+ instruction.logger?.debug('Initialization of vscode services can only performed once!');
73
85
  } else {
74
86
  envEnhanced.vscodeInitialising = true;
75
- if (config?.debugLogging === true) {
76
- console.log(`Initializing vscode services. Caller: ${caller ?? 'unknown'}`);
77
- }
78
- await importAllServices(config, performChecks);
79
- if (config?.debugLogging === true) {
80
- console.log('Initialization of vscode services completed successfully.');
81
- }
87
+ instruction.logger?.debug(`Initializing vscode services. Caller: ${instruction.caller ?? 'unknown'}`);
88
+
89
+ await importAllServices(instruction);
90
+ instruction.logger?.debug('Initialization of vscode services completed successfully.');
91
+
82
92
  envEnhanced.vscodeApiInitialised = true;
83
93
  }
84
94
  }
@@ -95,17 +105,18 @@ export const initServices = async (config?: InitializeServiceConfig, caller?: st
95
105
  * - languages
96
106
  * - model
97
107
  */
98
- export const importAllServices = async (config?: InitializeServiceConfig, performChecks?: () => boolean) => {
99
- const lc: InitializeServiceConfig = config ?? {};
108
+ export const importAllServices = async (instruction: InitServicesInstruction) => {
109
+ const lc: InitializeServiceConfig = instruction.serviceConfig ?? {};
100
110
  const userServices: monaco.editor.IEditorOverrideServices = lc.userServices ?? {};
101
111
 
102
112
  const lcRequiredServices = await supplyRequiredServices();
103
113
 
104
114
  mergeServices(lcRequiredServices, userServices);
105
- await configureExtHostWorker(config?.enableExtHostWorker === true, userServices);
106
- reportServiceLoading(userServices, lc.debugLogging === true);
115
+ await configureExtHostWorker(instruction.serviceConfig?.enableExtHostWorker === true, userServices);
116
+
117
+ reportServiceLoading(userServices, instruction.logger);
107
118
 
108
- if (performChecks === undefined || performChecks()) {
119
+ if (instruction.performChecks === undefined || instruction.performChecks()) {
109
120
  await initialize(userServices);
110
121
  const logLevel = lc.workspaceConfig?.developmentOptions?.logLevel;
111
122
  if (logLevel) {