@typefox/monaco-editor-react 7.3.0-next.2 → 7.3.0-next.3

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,11 +2,11 @@
2
2
 
3
3
  All notable changes to npm module [@typefox/monaco-editor-react](https://www.npmjs.com/package/@typefox/monaco-editor-react) are documented in this file.
4
4
 
5
- ## [7.3.0-next.2] - 2025-11-05
5
+ ## [7.3.0-next.3] - 2025-11-05
6
6
 
7
7
  - Fixed re-rendering issues with React StrictMode [#986](https://github.com/TypeFox/monaco-languageclient/pull/986).
8
- - Updated to `monaco-languageclient@10.3.0-next.2`.
9
- - Updated all `@codingame/monaco-vscode` packages to `22.1.4`.
8
+ - Updated to `monaco-languageclient@10.3.0-next.3`.
9
+ - Updated all `@codingame/monaco-vscode` packages to `22.1.8`.
10
10
 
11
11
  ## [7.2.0] - 2025-10-20
12
12
 
package/lib/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { LogLevel } from '@codingame/monaco-vscode-api';
1
2
  import { EditorApp, type EditorAppConfig, type TextContents } from 'monaco-languageclient/editorApp';
2
3
  import { type LanguageClientConfig, LanguageClientManager } from 'monaco-languageclient/lcwrapper';
3
4
  import { type MonacoVscodeApiConfig, MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
@@ -14,11 +15,13 @@ export type MonacoEditorProps = {
14
15
  onEditorStartDone?: (editorApp?: EditorApp) => void;
15
16
  onLanguageClientsStartDone?: (lcsManager?: LanguageClientManager) => void;
16
17
  onTextChanged?: (textChanges: TextContents) => void;
18
+ onConfigProcessed?: (editorApp?: EditorApp) => void;
17
19
  onError?: (error: Error) => void;
18
20
  onDisposeEditor?: () => void;
19
21
  onDisposeLanguageClient?: () => void;
20
22
  modifiedTextValue?: string;
21
23
  originalTextValue?: string;
24
+ logLevel?: LogLevel | number;
22
25
  };
23
26
  export declare const MonacoEditorReactComp: React.FC<MonacoEditorProps>;
24
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAE,KAAK,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAgC,KAAK,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAC1I,OAAO,KAAK,EAAE,EAAE,KAAK,aAAa,EAAqB,MAAM,OAAO,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAElE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,qBAAqB,CAAC;IACvC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,mBAAmB,CAAC,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC/E,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,0BAA0B,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC1E,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAA;AAaD,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsQ7D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAAE,KAAK,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAgC,KAAK,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAC1I,OAAO,KAAK,EAAE,EAAE,KAAK,aAAa,EAAqB,MAAM,OAAO,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAElE,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,qBAAqB,CAAC;IACvC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,mBAAmB,CAAC,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC/E,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,0BAA0B,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC1E,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAChC,CAAA;AAmED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA0P7D,CAAC"}
package/lib/index.js CHANGED
@@ -2,6 +2,9 @@
2
2
  * Copyright (c) 2024 TypeFox and others.
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
+ import { LogLevel } from '@codingame/monaco-vscode-api';
6
+ import * as monaco from '@codingame/monaco-vscode-editor-api';
7
+ import { ConsoleLogger } from 'monaco-languageclient/common';
5
8
  import { EditorApp } from 'monaco-languageclient/editorApp';
6
9
  import { LanguageClientManager } from 'monaco-languageclient/lcwrapper';
7
10
  import { getEnhancedMonacoEnvironment, MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
@@ -12,55 +15,66 @@ const lcsManager = new LanguageClientManager();
12
15
  const haveEditorService = () => {
13
16
  return getEnhancedMonacoEnvironment().viewServiceType === 'EditorService';
14
17
  };
18
+ const logger = new ConsoleLogger(LogLevel.Debug);
15
19
  const runQueue = [];
16
- let queueAwait = undefined;
17
- let queueResolve = undefined;
20
+ let lock = true;
21
+ let intervalId = undefined;
22
+ const addQueue = (id, func) => {
23
+ debugLogging('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');
24
+ debugLogging(`Adding to queue: ${id}: QUEUE SIZE before: ${runQueue.length}`);
25
+ runQueue.push({ id, func });
26
+ kickQueue();
27
+ };
28
+ const executeQueue = async () => {
29
+ console.log(`Queue size: ${runQueue.length}`);
30
+ if (runQueue.length > 0) {
31
+ lock = true;
32
+ while (runQueue.length > 0) {
33
+ const lengthBefore = runQueue.length;
34
+ const queueObj = runQueue.shift();
35
+ debugLogging('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<');
36
+ debugLogging(`QUEUE ${queueObj?.id} start: SIZE before: ${lengthBefore}`, true);
37
+ await queueObj?.func();
38
+ debugLogging(`QUEUE ${queueObj?.id} end: SIZE after: ${runQueue.length}`);
39
+ }
40
+ lock = false;
41
+ }
42
+ };
43
+ const kickQueue = () => {
44
+ if (intervalId === undefined && runQueue.length > 0) {
45
+ intervalId = setInterval(async () => {
46
+ debugLogging('Checking queue...');
47
+ if (!lock) {
48
+ executeQueue();
49
+ stopQueue();
50
+ }
51
+ }, 50);
52
+ }
53
+ };
54
+ const stopQueue = () => {
55
+ if (intervalId !== undefined && runQueue.length === 0) {
56
+ debugLogging('Stopping queue...');
57
+ clearInterval(intervalId);
58
+ intervalId = undefined;
59
+ }
60
+ };
61
+ const debugLogging = (id, useTime) => {
62
+ if (useTime === true) {
63
+ logger.debug(`${id}: ${Date.now()}`);
64
+ }
65
+ else {
66
+ logger.debug(id);
67
+ }
68
+ };
18
69
  export const MonacoEditorReactComp = (props) => {
19
- const { style, className, vscodeApiConfig, editorAppConfig, languageClientConfig, enforceDisposeLanguageClient, onVscodeApiInitDone, onEditorStartDone, onLanguageClientsStartDone, onTextChanged, onError, onDisposeEditor, onDisposeLanguageClient, modifiedTextValue, originalTextValue } = props;
20
- const currentEditorConfig = useRef(undefined);
70
+ const { style, className, vscodeApiConfig, editorAppConfig, languageClientConfig, enforceDisposeLanguageClient, onVscodeApiInitDone, onEditorStartDone, onLanguageClientsStartDone, onTextChanged, onConfigProcessed, onError, onDisposeEditor, onDisposeLanguageClient, modifiedTextValue, originalTextValue, logLevel } = props;
21
71
  const editorAppRef = useRef(undefined);
22
72
  const containerRef = useRef(null);
23
73
  const onTextChangedRef = useRef(onTextChanged);
24
74
  const modifiedCode = useRef(modifiedTextValue);
25
75
  const originalCode = useRef(originalTextValue);
26
- const addQueue = (id, func) => {
27
- debugLogging(`Adding to queue: ${id}`);
28
- debugLogging(`QUEUE SIZE before: ${runQueue.length}`);
29
- runQueue.push({ id, func });
30
- };
31
- const triggerQueue = () => {
32
- setInterval(() => {
33
- if (queueAwait === undefined) {
34
- queueAwait = new Promise((resolve) => {
35
- queueResolve = resolve;
36
- });
37
- executeQueue();
38
- }
39
- }, 50);
40
- };
41
- const executeQueue = async () => {
42
- while (runQueue.length > 0) {
43
- const queueObj = runQueue.shift();
44
- if (queueObj !== undefined) {
45
- debugLogging(`QUEUE ${queueObj.id} SIZE before: ${runQueue.length}`);
46
- debugLogging(`QUEUE ${queueObj.id} start`, true);
47
- await queueObj.func();
48
- debugLogging(`QUEUE ${queueObj.id} SIZE after: ${runQueue.length}`);
49
- debugLogging(`QUEUE ${queueObj.id} end`);
50
- }
51
- }
52
- queueResolve?.();
53
- queueAwait = undefined;
54
- queueResolve = undefined;
55
- };
56
- const debugLogging = (id, useTime) => {
57
- if (useTime === true) {
58
- apiWrapper?.getLogger().debug(`${id}: ${Date.now()}`);
59
- }
60
- else {
61
- apiWrapper?.getLogger().debug(id);
62
- }
63
- };
76
+ const launchingRef = useRef(false);
77
+ const editorAppConfigRef = useRef(undefined);
64
78
  const performErrorHandling = (error) => {
65
79
  if (onError) {
66
80
  onError(error);
@@ -103,10 +117,9 @@ export const MonacoEditorReactComp = (props) => {
103
117
  });
104
118
  }
105
119
  await apiWrapper.start();
106
- lcsManager.setLogger(apiWrapper.getLogger());
107
120
  onVscodeApiInitDone?.(apiWrapper);
108
- triggerQueue();
109
121
  debugLogging('GLOBAL INIT DONE', true);
122
+ lock = false;
110
123
  }
111
124
  catch (error) {
112
125
  performErrorHandling(error);
@@ -114,28 +127,16 @@ export const MonacoEditorReactComp = (props) => {
114
127
  };
115
128
  globalInitFunc();
116
129
  }
117
- else if (envEnhanced.vscodeApiInitialised === true) {
118
- triggerQueue();
119
- }
120
130
  };
121
- useEffect(() => {
122
- // fast-fail
123
- if (editorAppConfig === undefined)
124
- return;
125
- // always try to perform global init. Reason: we cannot ensure order
126
- performGlobalInit();
127
- // re-create editor if config changed
128
- const recreateEditor = editorAppRef.current === undefined || currentEditorConfig.current === undefined ||
129
- JSON.stringify(editorAppConfig) !== JSON.stringify(currentEditorConfig.current);
130
- const editorInitFunc = async () => {
131
- try {
132
- debugLogging('INIT', true);
133
- // it is possible to run without an editorApp, for example when using the ViewsService
134
- if (recreateEditor && haveEditorService()) {
131
+ const editorInitFunc = async () => {
132
+ try {
133
+ debugLogging('INIT', true);
134
+ // it is possible to run without an editorApp, for example when using the ViewsService
135
+ if (haveEditorService()) {
136
+ if (editorAppRef.current === undefined && !launchingRef.current) {
137
+ launchingRef.current = true;
135
138
  debugLogging('INIT: Creating editor', true);
136
- await handleEditorDispose();
137
- currentEditorConfig.current = editorAppConfig;
138
- editorAppRef.current = new EditorApp(editorAppConfig);
139
+ editorAppRef.current = new EditorApp(editorAppConfigRef.current);
139
140
  if (editorAppRef.current.isStarting() === true || editorAppRef.current.isDisposing() === true) {
140
141
  await Promise.all([
141
142
  editorAppRef.current.getStartingAwait(),
@@ -155,20 +156,46 @@ export const MonacoEditorReactComp = (props) => {
155
156
  });
156
157
  await editorAppRef.current.start(containerRef.current);
157
158
  onEditorStartDone?.(editorAppRef.current);
159
+ launchingRef.current = false;
158
160
  }
159
- debugLogging('INIT DONE', true);
160
161
  }
161
- catch (error) {
162
- performErrorHandling(error);
162
+ debugLogging('INIT DONE', true);
163
+ }
164
+ catch (error) {
165
+ performErrorHandling(error);
166
+ }
167
+ };
168
+ const configProcessedFunc = () => {
169
+ if (!launchingRef.current) {
170
+ if (editorAppConfigRef.current?.codeResources !== undefined && editorAppRef.current) {
171
+ editorAppRef.current.updateCodeResources(editorAppConfigRef.current.codeResources);
163
172
  }
164
- };
173
+ if (editorAppConfigRef.current?.editorOptions !== undefined && editorAppRef.current) {
174
+ if (!editorAppRef.current.isDiffEditor()) {
175
+ editorAppRef.current.getEditor()?.updateOptions(editorAppConfigRef.current.editorOptions);
176
+ }
177
+ }
178
+ if (editorAppConfigRef.current?.diffEditorOptions !== undefined && editorAppRef.current) {
179
+ if (editorAppRef.current.isDiffEditor()) {
180
+ editorAppRef.current.getDiffEditor()?.updateOptions(editorAppConfigRef.current.diffEditorOptions);
181
+ }
182
+ }
183
+ }
184
+ onConfigProcessed?.(editorAppRef.current);
185
+ debugLogging('Config processed');
186
+ };
187
+ useEffect(() => {
188
+ // fast-fail
189
+ if (editorAppConfig === undefined)
190
+ return;
191
+ // always try to perform global init. Reason: we cannot ensure order
192
+ performGlobalInit();
193
+ editorAppConfigRef.current = editorAppConfig;
165
194
  addQueue('editorInit', editorInitFunc);
195
+ if (editorAppRef.current !== undefined && !launchingRef.current) {
196
+ configProcessedFunc();
197
+ }
166
198
  }, [editorAppConfig]);
167
- const handleEditorDispose = async () => {
168
- await editorAppRef.current?.dispose();
169
- editorAppRef.current = undefined;
170
- onDisposeEditor?.();
171
- };
172
199
  useEffect(() => {
173
200
  // fast-fail
174
201
  if (languageClientConfig === undefined)
@@ -177,7 +204,8 @@ export const MonacoEditorReactComp = (props) => {
177
204
  performGlobalInit();
178
205
  const lcInitFunc = async () => {
179
206
  try {
180
- debugLogging('INIT LC2', true);
207
+ debugLogging('INIT LC', true);
208
+ lcsManager.setLogLevel(languageClientConfig.logLevel);
181
209
  await lcsManager.setConfig(languageClientConfig);
182
210
  await lcsManager.start();
183
211
  onLanguageClientsStartDone?.(lcsManager);
@@ -198,12 +226,21 @@ export const MonacoEditorReactComp = (props) => {
198
226
  const disposeFunc = async () => {
199
227
  // dispose editor if used
200
228
  debugLogging('DISPOSE', true);
201
- await handleEditorDispose();
229
+ if (editorAppRef.current !== undefined) {
230
+ await editorAppRef.current.dispose();
231
+ editorAppRef.current = undefined;
232
+ onDisposeEditor?.();
233
+ }
202
234
  debugLogging('DISPOSE DONE', true);
203
235
  };
204
236
  addQueue('dispose', disposeFunc);
205
237
  };
206
238
  }, []);
239
+ useEffect(() => {
240
+ if (logLevel !== undefined) {
241
+ logger.setLevel(logLevel);
242
+ }
243
+ }, [logLevel]);
207
244
  useEffect(() => {
208
245
  // always try to perform global init. Reason: we cannot ensure order
209
246
  performGlobalInit();
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAE/F,OAAO,EAAE,SAAS,EAA2C,MAAM,iCAAiC,CAAC;AACrG,OAAO,EAA6B,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACnG,OAAO,EAAE,4BAA4B,EAA8B,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAC1I,OAAO,KAAK,EAAE,EAAsB,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAsBrE,2GAA2G;AAC3G,IAAI,UAA8C,CAAC;AACnD,MAAM,UAAU,GAAG,IAAI,qBAAqB,EAAE,CAAC;AAC/C,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC;IAC5B,OAAO,4BAA4B,EAAE,CAAC,eAAe,KAAK,eAAe,CAAC;AAAA,CAC7E,CAAC;AAEF,MAAM,QAAQ,GAAmD,EAAE,CAAC;AACpE,IAAI,UAAU,GAA8B,SAAS,CAAC;AACtD,IAAI,YAAY,GAA4D,SAAS,CAAC;AAEtF,MAAM,CAAC,MAAM,qBAAqB,GAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;IACzE,MAAM,EACF,KAAK,EACL,SAAS,EACT,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,aAAa,EACb,OAAO,EACP,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACpB,GAAG,KAAK,CAAC;IAEV,MAAM,mBAAmB,GAAG,MAAM,CAA8B,SAAS,CAAC,CAAC;IAC3E,MAAM,YAAY,GAAG,MAAM,CAAY,SAAS,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,MAAM,CAAS,iBAAiB,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,CAAS,iBAAiB,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,IAAyB,EAAE,EAAE,CAAC;QACxD,YAAY,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACvC,YAAY,CAAC,sBAAsB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACtD,QAAQ,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC,CAAC;IAAA,CAC7B,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC;QACvB,WAAW,CAAC,GAAG,EAAE,CAAE;YACf,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC3B,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC;oBACxC,YAAY,GAAG,OAAO,CAAC;gBAAA,CAC1B,CAAC,CAAC;gBACH,YAAY,EAAE,CAAC;YACnB,CAAC;QAAA,CACJ,EAAE,EAAE,CAAC,CAAC;IAAA,CACV,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,YAAY,CAAC,SAAS,QAAQ,CAAC,EAAE,iBAAiB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrE,YAAY,CAAC,SAAS,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjD,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACtB,YAAY,CAAC,SAAS,QAAQ,CAAC,EAAE,gBAAgB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACpE,YAAY,CAAC,SAAS,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;QACD,YAAY,EAAE,EAAE,CAAC;QACjB,UAAU,GAAG,SAAS,CAAC;QACvB,YAAY,GAAG,SAAS,CAAC;IAAA,CAC5B,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,OAAiB,EAAE,EAAE,CAAC;QACpD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACnB,UAAU,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,UAAU,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;IAAA,CACJ,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,CAAC;QAChB,CAAC;IAAA,CACJ,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,wDAAwD;QACxD,IAAI,iBAAiB,EAAE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzD,YAAY,CAAC,OAAO,GAAG,iBAAiB,CAAC;YACzC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,EAAC,QAAQ,EAAE,iBAAiB,EAAC,CAAC,CAAC;QACpE,CAAC;IAAA,CACJ,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,wDAAwD;QACxD,IAAI,iBAAiB,EAAE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzD,YAAY,CAAC,OAAO,GAAG,iBAAiB,CAAC;YACzC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,EAAC,QAAQ,EAAE,iBAAiB,EAAC,CAAC,CAAC;QACpE,CAAC;IAAA,CACJ,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAExB,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAChC,oBAAoB,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;QAEnD,gCAAgC;QAChC,IAAI,WAAW,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;YAE7C,UAAU,GAAG,IAAI,sBAAsB,CAAC,eAAe,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACD,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAClC,IAAI,UAAU,KAAK,SAAS;wBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;oBAErH,IAAI,UAAU,CAAC,wBAAwB,EAAE,CAAC,WAAW,CAAC,KAAK,KAAK,eAAe,EAAE,CAAC;wBAC9E,UAAU,CAAC,mBAAmB,CAAC;4BAC3B,KAAK,EAAE,eAAe;4BACtB,aAAa,EAAE,YAAY,CAAC,OAAQ;yBACvC,CAAC,CAAC;oBACP,CAAC;oBACD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;oBAEzB,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;oBAE7C,mBAAmB,EAAE,CAAC,UAAU,CAAC,CAAC;oBAClC,YAAY,EAAE,CAAC;oBACf,YAAY,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,oBAAoB,CAAC,KAAc,CAAC,CAAC;gBACzC,CAAC;YAAA,CACJ,CAAC;YACF,cAAc,EAAE,CAAC;QACrB,CAAC;aAAM,IAAI,WAAW,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACnD,YAAY,EAAE,CAAC;QACnB,CAAC;IAAA,CACJ,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,YAAY;QACZ,IAAI,eAAe,KAAK,SAAS;YAAE,OAAO;QAE1C,oEAAoE;QACpE,iBAAiB,EAAE,CAAC;QAEpB,qCAAqC;QACrC,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,KAAK,SAAS,IAAI,mBAAmB,CAAC,OAAO,KAAK,SAAS;YAClG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACpF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACD,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBAE3B,sFAAsF;gBACtF,IAAI,cAAc,IAAI,iBAAiB,EAAE,EAAE,CAAC;oBACxC,YAAY,CAAC,uBAAuB,EAAE,IAAI,CAAC,CAAC;oBAE5C,MAAM,mBAAmB,EAAE,CAAC;oBAE5B,mBAAmB,CAAC,OAAO,GAAG,eAAe,CAAC;oBAC9C,YAAY,CAAC,OAAO,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;oBACtD,IAAI,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC;wBAC5F,MAAM,OAAO,CAAC,GAAG,CAAC;4BACd,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE;4BACvC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE;yBAC3C,CAAC,CAAC;oBACP,CAAC;oBAED,YAAY,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;wBAChE,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;4BACrC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;wBAChD,CAAC;wBACD,IAAI,WAAW,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;4BACrC,YAAY,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC;wBAChD,CAAC;wBACD,IAAI,gBAAgB,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;4BACzC,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;wBAC1C,CAAC;oBAAA,CACJ,CAAC,CAAC;oBACH,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAQ,CAAC,CAAC;oBAExD,iBAAiB,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC9C,CAAC;gBAED,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,oBAAoB,CAAC,KAAc,CAAC,CAAC;YACzC,CAAC;QAAA,CACJ,CAAC;QACF,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAAA,CAC1C,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACtC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;QACjC,eAAe,EAAE,EAAE,CAAC;IAAA,CACvB,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,YAAY;QACZ,IAAI,oBAAoB,KAAK,SAAS;YAAE,OAAO;QAE/C,oEAAoE;QACpE,iBAAiB,EAAE,CAAC;QAEpB,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACD,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAE/B,MAAM,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;gBACjD,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;gBAEzB,0BAA0B,EAAE,CAAC,UAAU,CAAC,CAAC;gBAEzC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,oBAAoB,CAAC,KAAc,CAAC,CAAC;YACzC,CAAC;QAAA,CACJ,CAAC;QACF,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAAA,CAClC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,8CAA8C;QAE9C,oEAAoE;QACpE,iBAAiB,EAAE,CAAC;QAEpB,mDAAmD;QACnD,OAAO,GAAG,EAAE,CAAC;YACT,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC5B,yBAAyB;gBACzB,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAE9B,MAAM,mBAAmB,EAAE,CAAC;gBAE5B,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;YAAA,CACtC,CAAC;YACF,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAAA,CACpC,CAAC;IAAA,CACL,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE,CAAC;QACZ,oEAAoE;QACpE,iBAAiB,EAAE,CAAC;QAEpB,IAAI,4BAA4B,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC9B,yBAAyB;gBACzB,IAAI,CAAC;oBACD,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;oBAEjC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;oBAC3B,uBAAuB,EAAE,EAAE,CAAC;oBAE5B,YAAY,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,yFAAyF;oBACzF,oBAAoB,CAAC,IAAI,KAAK,CAAC,qEAAqE,KAAK,EAAE,CAAC,CAAC,CAAC;gBAClH,CAAC;YAAA,CACJ,CAAC;YACF,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC1C,CAAC;IAAA,CACJ,EAAE,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEnC,OAAO,CACH,6BACI,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,GACtB,CACL,CAAC;AAAA,CACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typefox/monaco-editor-react",
3
- "version": "7.3.0-next.2",
3
+ "version": "7.3.0-next.3",
4
4
  "license": "MIT",
5
5
  "description": "React component for Monaco-Editor and Monaco Languageclient",
6
6
  "keywords": [
@@ -46,7 +46,7 @@
46
46
  "npm": "10.9.3"
47
47
  },
48
48
  "dependencies": {
49
- "@codingame/monaco-vscode-editor-api": "^22.1.4",
49
+ "@codingame/monaco-vscode-editor-api": "^22.1.8",
50
50
  "react": ">=18.0.0 || <20.0.0"
51
51
  },
52
52
  "repository": {
package/src/index.tsx CHANGED
@@ -3,6 +3,9 @@
3
3
  * Licensed under the MIT License. See LICENSE in the package root for license information.
4
4
  * ------------------------------------------------------------------------------------------ */
5
5
 
6
+ import { LogLevel } from '@codingame/monaco-vscode-api';
7
+ import * as monaco from '@codingame/monaco-vscode-editor-api';
8
+ import { ConsoleLogger } from 'monaco-languageclient/common';
6
9
  import { EditorApp, type EditorAppConfig, type TextContents } from 'monaco-languageclient/editorApp';
7
10
  import { type LanguageClientConfig, LanguageClientManager } from 'monaco-languageclient/lcwrapper';
8
11
  import { getEnhancedMonacoEnvironment, type MonacoVscodeApiConfig, MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
@@ -21,11 +24,13 @@ export type MonacoEditorProps = {
21
24
  onEditorStartDone?: (editorApp?: EditorApp) => void;
22
25
  onLanguageClientsStartDone?: (lcsManager?: LanguageClientManager) => void;
23
26
  onTextChanged?: (textChanges: TextContents) => void;
27
+ onConfigProcessed?: (editorApp?: EditorApp) => void;
24
28
  onError?: (error: Error) => void;
25
29
  onDisposeEditor?: () => void;
26
30
  onDisposeLanguageClient?: () => void;
27
31
  modifiedTextValue?: string;
28
32
  originalTextValue?: string;
33
+ logLevel?: LogLevel | number;
29
34
  }
30
35
 
31
36
  // All must be outside of the component as they ars valid across all instances and should not be re-created
@@ -34,10 +39,64 @@ const lcsManager = new LanguageClientManager();
34
39
  const haveEditorService = () => {
35
40
  return getEnhancedMonacoEnvironment().viewServiceType === 'EditorService';
36
41
  };
42
+ const logger = new ConsoleLogger(LogLevel.Debug);
37
43
 
38
44
  const runQueue: Array<{id: string, func: () => Promise<void>}> = [];
39
- let queueAwait: Promise<void> | undefined = undefined;
40
- let queueResolve: ((value: void | PromiseLike<void>) => void) | undefined = undefined;
45
+ let lock = true;
46
+ let intervalId: number | unknown | undefined = undefined;
47
+
48
+ const addQueue = (id: string, func: () => Promise<void>) => {
49
+ debugLogging('>>>>>>>>>>>>>>>>>>>>>>>>>>>>>');
50
+ debugLogging(`Adding to queue: ${id}: QUEUE SIZE before: ${runQueue.length}`);
51
+ runQueue.push({id, func});
52
+
53
+ kickQueue();
54
+ };
55
+
56
+ const executeQueue = async () => {
57
+ console.log(`Queue size: ${runQueue.length}`);
58
+
59
+ if (runQueue.length > 0) {
60
+ lock = true;
61
+ while (runQueue.length > 0) {
62
+ const lengthBefore = runQueue.length;
63
+ const queueObj = runQueue.shift();
64
+ debugLogging('<<<<<<<<<<<<<<<<<<<<<<<<<<<<<');
65
+ debugLogging(`QUEUE ${queueObj?.id} start: SIZE before: ${lengthBefore}`, true);
66
+ await queueObj?.func();
67
+ debugLogging(`QUEUE ${queueObj?.id} end: SIZE after: ${runQueue.length}`);
68
+ }
69
+ lock = false;
70
+ }
71
+ };
72
+
73
+ const kickQueue = () => {
74
+ if (intervalId === undefined && runQueue.length > 0) {
75
+ intervalId = setInterval(async () => {
76
+ debugLogging('Checking queue...');
77
+ if (!lock) {
78
+ executeQueue();
79
+ stopQueue();
80
+ }
81
+ }, 50);
82
+ }
83
+ };
84
+
85
+ const stopQueue = () => {
86
+ if (intervalId !== undefined && runQueue.length === 0) {
87
+ debugLogging('Stopping queue...');
88
+ clearInterval(intervalId as number);
89
+ intervalId = undefined;
90
+ }
91
+ };
92
+
93
+ const debugLogging = (id: string, useTime?: boolean) => {
94
+ if (useTime === true) {
95
+ logger.debug(`${id}: ${Date.now()}`);
96
+ } else {
97
+ logger.debug(id);
98
+ }
99
+ };
41
100
 
42
101
  export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
43
102
  const {
@@ -51,60 +110,22 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
51
110
  onEditorStartDone,
52
111
  onLanguageClientsStartDone,
53
112
  onTextChanged,
113
+ onConfigProcessed,
54
114
  onError,
55
115
  onDisposeEditor,
56
116
  onDisposeLanguageClient,
57
117
  modifiedTextValue,
58
- originalTextValue
118
+ originalTextValue,
119
+ logLevel
59
120
  } = props;
60
121
 
61
- const currentEditorConfig = useRef<EditorAppConfig | undefined>(undefined);
62
122
  const editorAppRef = useRef<EditorApp>(undefined);
63
123
  const containerRef = useRef<HTMLDivElement>(null);
64
124
  const onTextChangedRef = useRef(onTextChanged);
65
125
  const modifiedCode = useRef<string>(modifiedTextValue);
66
126
  const originalCode = useRef<string>(originalTextValue);
67
-
68
- const addQueue = (id: string, func: () => Promise<void>) => {
69
- debugLogging(`Adding to queue: ${id}`);
70
- debugLogging(`QUEUE SIZE before: ${runQueue.length}`);
71
- runQueue.push({id, func});
72
- };
73
-
74
- const triggerQueue = () => {
75
- setInterval(() => {
76
- if (queueAwait === undefined) {
77
- queueAwait = new Promise<void>((resolve) => {
78
- queueResolve = resolve;
79
- });
80
- executeQueue();
81
- }
82
- }, 50);
83
- };
84
-
85
- const executeQueue = async () => {
86
- while (runQueue.length > 0) {
87
- const queueObj = runQueue.shift();
88
- if (queueObj !== undefined) {
89
- debugLogging(`QUEUE ${queueObj.id} SIZE before: ${runQueue.length}`);
90
- debugLogging(`QUEUE ${queueObj.id} start`, true);
91
- await queueObj.func();
92
- debugLogging(`QUEUE ${queueObj.id} SIZE after: ${runQueue.length}`);
93
- debugLogging(`QUEUE ${queueObj.id} end`);
94
- }
95
- }
96
- queueResolve?.();
97
- queueAwait = undefined;
98
- queueResolve = undefined;
99
- };
100
-
101
- const debugLogging = (id: string, useTime?: boolean) => {
102
- if (useTime === true) {
103
- apiWrapper?.getLogger().debug(`${id}: ${Date.now()}`);
104
- } else {
105
- apiWrapper?.getLogger().debug(id);
106
- }
107
- };
127
+ const launchingRef = useRef<boolean>(false);
128
+ const editorAppConfigRef = useRef<EditorAppConfig>(undefined);
108
129
 
109
130
  const performErrorHandling = (error: Error) => {
110
131
  if (onError) {
@@ -153,43 +174,29 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
153
174
  }
154
175
  await apiWrapper.start();
155
176
 
156
- lcsManager.setLogger(apiWrapper.getLogger());
157
-
158
177
  onVscodeApiInitDone?.(apiWrapper);
159
- triggerQueue();
160
178
  debugLogging('GLOBAL INIT DONE', true);
179
+
180
+ lock = false;
161
181
  } catch (error) {
162
182
  performErrorHandling(error as Error);
163
183
  }
164
184
  };
165
185
  globalInitFunc();
166
- } else if (envEnhanced.vscodeApiInitialised === true) {
167
- triggerQueue();
168
186
  }
169
187
  };
170
188
 
171
- useEffect(() => {
172
- // fast-fail
173
- if (editorAppConfig === undefined) return;
174
-
175
- // always try to perform global init. Reason: we cannot ensure order
176
- performGlobalInit();
189
+ const editorInitFunc = async () => {
190
+ try {
191
+ debugLogging('INIT', true);
177
192
 
178
- // re-create editor if config changed
179
- const recreateEditor = editorAppRef.current === undefined || currentEditorConfig.current === undefined ||
180
- JSON.stringify(editorAppConfig) !== JSON.stringify(currentEditorConfig.current);
181
- const editorInitFunc = async () => {
182
- try {
183
- debugLogging('INIT', true);
184
-
185
- // it is possible to run without an editorApp, for example when using the ViewsService
186
- if (recreateEditor && haveEditorService()) {
193
+ // it is possible to run without an editorApp, for example when using the ViewsService
194
+ if (haveEditorService()) {
195
+ if (editorAppRef.current === undefined && !launchingRef.current) {
196
+ launchingRef.current = true;
187
197
  debugLogging('INIT: Creating editor', true);
188
198
 
189
- await handleEditorDispose();
190
-
191
- currentEditorConfig.current = editorAppConfig;
192
- editorAppRef.current = new EditorApp(editorAppConfig);
199
+ editorAppRef.current = new EditorApp(editorAppConfigRef.current);
193
200
  if (editorAppRef.current.isStarting() === true || editorAppRef.current.isDisposing() === true) {
194
201
  await Promise.all([
195
202
  editorAppRef.current.getStartingAwait(),
@@ -211,22 +218,51 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
211
218
  await editorAppRef.current.start(containerRef.current!);
212
219
 
213
220
  onEditorStartDone?.(editorAppRef.current);
221
+ launchingRef.current = false;
214
222
  }
223
+ }
215
224
 
216
- debugLogging('INIT DONE', true);
217
- } catch (error) {
218
- performErrorHandling(error as Error);
225
+ debugLogging('INIT DONE', true);
226
+ } catch (error) {
227
+ performErrorHandling(error as Error);
228
+ }
229
+ };
230
+
231
+ const configProcessedFunc = () => {
232
+ if (!launchingRef.current) {
233
+ if (editorAppConfigRef.current?.codeResources !== undefined && editorAppRef.current) {
234
+ editorAppRef.current.updateCodeResources(editorAppConfigRef.current.codeResources);
219
235
  }
220
- };
236
+ if (editorAppConfigRef.current?.editorOptions !== undefined && editorAppRef.current) {
237
+ if (!editorAppRef.current.isDiffEditor()) {
238
+ editorAppRef.current.getEditor()?.updateOptions(editorAppConfigRef.current.editorOptions as monaco.editor.IEditorOptions);
239
+ }
240
+ }
241
+ if (editorAppConfigRef.current?.diffEditorOptions !== undefined && editorAppRef.current) {
242
+ if (editorAppRef.current.isDiffEditor()) {
243
+ editorAppRef.current.getDiffEditor()?.updateOptions(editorAppConfigRef.current.diffEditorOptions as monaco.editor.IDiffEditorOptions);
244
+ }
245
+ }
246
+ }
247
+ onConfigProcessed?.(editorAppRef.current);
248
+ debugLogging('Config processed');
249
+ };
250
+
251
+ useEffect(() => {
252
+ // fast-fail
253
+ if (editorAppConfig === undefined) return;
254
+
255
+ // always try to perform global init. Reason: we cannot ensure order
256
+ performGlobalInit();
257
+
258
+ editorAppConfigRef.current = editorAppConfig;
259
+
221
260
  addQueue('editorInit', editorInitFunc);
261
+ if (editorAppRef.current !== undefined && !launchingRef.current) {
262
+ configProcessedFunc();
263
+ }
222
264
  }, [editorAppConfig]);
223
265
 
224
- const handleEditorDispose = async () => {
225
- await editorAppRef.current?.dispose();
226
- editorAppRef.current = undefined;
227
- onDisposeEditor?.();
228
- };
229
-
230
266
  useEffect(() => {
231
267
  // fast-fail
232
268
  if (languageClientConfig === undefined) return;
@@ -236,8 +272,9 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
236
272
 
237
273
  const lcInitFunc = async () => {
238
274
  try {
239
- debugLogging('INIT LC2', true);
275
+ debugLogging('INIT LC', true);
240
276
 
277
+ lcsManager.setLogLevel(languageClientConfig.logLevel);
241
278
  await lcsManager.setConfig(languageClientConfig);
242
279
  await lcsManager.start();
243
280
 
@@ -263,7 +300,11 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
263
300
  // dispose editor if used
264
301
  debugLogging('DISPOSE', true);
265
302
 
266
- await handleEditorDispose();
303
+ if (editorAppRef.current !== undefined) {
304
+ await editorAppRef.current.dispose();
305
+ editorAppRef.current = undefined;
306
+ onDisposeEditor?.();
307
+ }
267
308
 
268
309
  debugLogging('DISPOSE DONE', true);
269
310
  };
@@ -271,6 +312,12 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
271
312
  };
272
313
  }, []);
273
314
 
315
+ useEffect(() => {
316
+ if (logLevel !== undefined) {
317
+ logger.setLevel(logLevel);
318
+ }
319
+ }, [logLevel]);
320
+
274
321
  useEffect(() => {
275
322
  // always try to perform global init. Reason: we cannot ensure order
276
323
  performGlobalInit();