@typefox/monaco-editor-react 7.4.0-next.1 → 7.4.0-next.2

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,10 +2,10 @@
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.4.0-next.1] - 2025-11-20
5
+ ## [7.4.0-next.2] - 2025-11-20
6
6
 
7
7
  - Use flags to trigger behaviour [#997](https://github.com/TypeFox/monaco-languageclient/pull/997).
8
- - Updated all `@codingame/monaco-vscode` packages to `23.0.4`.
8
+ - Updated all `@codingame/monaco-vscode` packages to `23.1.0`.
9
9
 
10
10
  ## [7.3.0] - 2025-11-16
11
11
 
package/lib/index.d.ts CHANGED
@@ -4,6 +4,11 @@ import { type LanguageClientConfig, LanguageClientManager } from 'monaco-languag
4
4
  import { type MonacoVscodeApiConfig, MonacoVscodeApiWrapper } from 'monaco-languageclient/vscodeApiWrapper';
5
5
  import React, { type CSSProperties } from 'react';
6
6
  export type ResolveFc = (value: void | PromiseLike<void>) => void;
7
+ export type ConfigProcessedResult = {
8
+ textUpdated: boolean;
9
+ modelUpdated: boolean;
10
+ editorApp?: EditorApp;
11
+ };
7
12
  export type MonacoEditorProps = {
8
13
  style?: CSSProperties;
9
14
  className?: string;
@@ -13,16 +18,32 @@ export type MonacoEditorProps = {
13
18
  onVscodeApiInitDone?: (monacoVscodeApiManager: MonacoVscodeApiWrapper) => void;
14
19
  onEditorStartDone?: (editorApp?: EditorApp) => void;
15
20
  onLanguageClientsStartDone?: (lcsManager: LanguageClientManager) => void;
21
+ /**
22
+ * Called when the text in the editor has changed
23
+ */
16
24
  onTextChanged?: (textChanges: TextContents) => void;
17
- onConfigProcessed?: (result: {
18
- textUpdated: boolean;
19
- modelUpdated: boolean;
20
- }, editorApp?: EditorApp) => void;
25
+ /**
26
+ * Called when an error occurred within the component
27
+ */
21
28
  onError?: (error: Error) => void;
22
29
  onDisposeEditor?: () => void;
23
30
  onDisposeLanguageClient?: () => void;
24
- toggleReprocessConfig?: boolean;
31
+ /**
32
+ * Trigger reprocessing oft the editorAppConfig to update code/models or editor options.
33
+ * This is performed once and only repeated if the value is increased again.
34
+ */
35
+ triggerReprocessConfig?: number;
36
+ /**
37
+ * Always called after the config was re-processed.
38
+ */
39
+ onConfigProcessed?: (result: ConfigProcessedResult) => void;
40
+ /**
41
+ * Enforce disposal of the language client
42
+ */
25
43
  enforceLanguageClientDispose?: boolean;
44
+ /**
45
+ * Set the log level for the internal logger
46
+ */
26
47
  logLevel?: LogLevel | number;
27
48
  };
28
49
  export declare const MonacoEditorReactComp: React.FC<MonacoEditorProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,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,CAAC,EAAE,qBAAqB,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,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,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzE,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAC,EAAE,SAAS,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IAC5G,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,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAChC,CAAA;AAmED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAuT7D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,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;AAClE,MAAM,MAAM,qBAAqB,GAAG;IAChC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,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,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACzE;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,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;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAC5D;;OAEG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CAChC,CAAA;AAuED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAiU7D,CAAC"}
package/lib/index.js CHANGED
@@ -42,7 +42,7 @@ const executeQueue = async () => {
42
42
  const kickQueue = () => {
43
43
  if (intervalId === undefined && runQueue.length > 0) {
44
44
  intervalId = setInterval(async () => {
45
- debugLogging('Checking queue...' + runQueueLock);
45
+ debugLogging(`Checking queue (lock state: ${runQueueLock})`);
46
46
  if (!runQueueLock) {
47
47
  await executeQueue();
48
48
  stopQueue();
@@ -59,10 +59,14 @@ const stopQueue = () => {
59
59
  };
60
60
  const debugLogging = (id) => {
61
61
  const now = new Date(Date.now());
62
- logger.debug(`[${now.getMinutes()}:${now.getSeconds()}:${now.getMilliseconds()}]: ${id}`);
62
+ const hours = now.getHours().toString().padStart(2, '0');
63
+ const minutes = now.getMinutes().toString().padStart(2, '0');
64
+ const seconds = now.getSeconds().toString().padStart(2, '0');
65
+ const milliseconds = now.getMilliseconds().toString().padStart(3, '0');
66
+ logger.debug(`[${hours}:${minutes}:${seconds}.${milliseconds}]: ${id}`);
63
67
  };
64
68
  export const MonacoEditorReactComp = (props) => {
65
- const { style, className, vscodeApiConfig, editorAppConfig, languageClientConfig, onVscodeApiInitDone, onEditorStartDone, onLanguageClientsStartDone, onTextChanged, onConfigProcessed, onError, onDisposeEditor, onDisposeLanguageClient, logLevel, toggleReprocessConfig, enforceLanguageClientDispose } = props;
69
+ const { style, className, vscodeApiConfig, editorAppConfig, languageClientConfig, onVscodeApiInitDone, onEditorStartDone, onLanguageClientsStartDone, onTextChanged, onConfigProcessed, onError, onDisposeEditor, onDisposeLanguageClient, logLevel, triggerReprocessConfig, enforceLanguageClientDispose } = props;
66
70
  const editorAppRef = useRef(undefined);
67
71
  const containerRef = useRef(null);
68
72
  const modifiedCodeUriRef = useRef(undefined);
@@ -72,8 +76,8 @@ export const MonacoEditorReactComp = (props) => {
72
76
  const onTextChangedRef = useRef(onTextChanged);
73
77
  const launchingRef = useRef(false);
74
78
  const editorAppConfigRef = useRef(undefined);
75
- const flipReprocessConfigRef = useRef(false);
76
- const flipLanguageClientDisposeRef = useRef(false);
79
+ const triggerReprocessConfigRef = useRef(0);
80
+ const enforceLanguageClientDisposeRef = useRef(undefined);
77
81
  const performErrorHandling = (error) => {
78
82
  debugLogging(`ERROR: ${error.message}`);
79
83
  if (onError) {
@@ -170,11 +174,11 @@ export const MonacoEditorReactComp = (props) => {
170
174
  if (!launchingRef.current && editorAppRef.current) {
171
175
  editorAppRef.current.updateCodeResources(editorAppConfigRef.current?.codeResources);
172
176
  updateModelRelatedRefs();
173
- onConfigProcessed?.({ modelUpdated: true, textUpdated: true }, editorAppRef.current);
177
+ onConfigProcessed?.({ modelUpdated: true, textUpdated: true, editorApp: editorAppRef.current });
174
178
  debugLogging('UPDATE EDITOR MODEL: Model was updated.');
175
179
  }
176
180
  else {
177
- onConfigProcessed?.({ modelUpdated: false, textUpdated: false }, editorAppRef.current);
181
+ onConfigProcessed?.({ modelUpdated: false, textUpdated: false, editorApp: editorAppRef.current });
178
182
  debugLogging('UPDATE EDITOR MODEL: No editor is avilable. Model update was not possible.');
179
183
  }
180
184
  }
@@ -244,7 +248,7 @@ export const MonacoEditorReactComp = (props) => {
244
248
  }
245
249
  // notitfy now if no async model update was necessary
246
250
  if (!modelUpdated) {
247
- onConfigProcessed?.({ modelUpdated, textUpdated }, editorAppRef.current);
251
+ onConfigProcessed?.({ modelUpdated, textUpdated, editorApp: editorAppRef.current });
248
252
  }
249
253
  debugLogging('CONFIG PROCESSED: Done');
250
254
  }
@@ -274,36 +278,37 @@ export const MonacoEditorReactComp = (props) => {
274
278
  }
275
279
  }, [editorAppConfig]);
276
280
  useEffect(() => {
277
- if (flipReprocessConfigRef.current !== (toggleReprocessConfig === true)) {
281
+ const triggerValue = triggerReprocessConfig ?? 0;
282
+ if (triggerValue > triggerReprocessConfigRef.current) {
278
283
  debugLogging('REPROCESS CONFIG: Triggered');
279
284
  const updateModel = processConfig();
280
285
  if (updateModel) {
281
286
  addQueue({ id: 'modelUpdate', func: updateEditorModel, currentContainer: containerRef.current });
282
287
  }
283
- flipReprocessConfigRef.current = !flipReprocessConfigRef.current;
288
+ triggerReprocessConfigRef.current = triggerValue;
284
289
  }
285
290
  else {
286
291
  debugLogging('REPROCESS CONFIG: Denied');
287
292
  }
288
- }, [toggleReprocessConfig]);
293
+ }, [triggerReprocessConfig]);
294
+ const lcInitFunc = async () => {
295
+ try {
296
+ await lcsManager.start();
297
+ onLanguageClientsStartDone?.(lcsManager);
298
+ }
299
+ catch (error) {
300
+ performErrorHandling(error);
301
+ }
302
+ };
289
303
  useEffect(() => {
290
304
  // fast-fail
291
305
  if (languageClientConfig === undefined)
292
306
  return;
293
307
  // always try to perform global init. Reason: we cannot ensure order
294
308
  performGlobalInit();
295
- const lcInitFunc = async () => {
296
- try {
297
- await lcsManager.start();
298
- onLanguageClientsStartDone?.(lcsManager);
299
- }
300
- catch (error) {
301
- performErrorHandling(error);
302
- }
303
- };
304
309
  lcsManager.setLogLevel(languageClientConfig.logLevel);
305
310
  lcsManager.setConfig(languageClientConfig);
306
- if (!lcsManager.isStarted()) {
311
+ if (!lcsManager.isStarted() && (enforceLanguageClientDisposeRef.current === undefined || !enforceLanguageClientDisposeRef.current)) {
307
312
  addQueue({ id: 'lcInit', func: lcInitFunc, currentContainer: containerRef.current });
308
313
  }
309
314
  else {
@@ -311,7 +316,8 @@ export const MonacoEditorReactComp = (props) => {
311
316
  }
312
317
  }, [languageClientConfig]);
313
318
  useEffect(() => {
314
- if (flipLanguageClientDisposeRef.current !== (enforceLanguageClientDispose === true)) {
319
+ enforceLanguageClientDisposeRef.current = enforceLanguageClientDispose === true;
320
+ if (enforceLanguageClientDisposeRef.current === true) {
315
321
  const disposeLCFunc = async () => {
316
322
  try {
317
323
  await lcsManager.dispose();
@@ -322,10 +328,18 @@ export const MonacoEditorReactComp = (props) => {
322
328
  performErrorHandling(new Error(`Unexpected error occurred during disposal of the language client: ${error}`));
323
329
  }
324
330
  };
325
- addQueue({ id: 'lcDispose', func: disposeLCFunc, currentContainer: containerRef.current });
331
+ if (lcsManager.isStarted()) {
332
+ addQueue({ id: 'lcDispose', func: disposeLCFunc, currentContainer: containerRef.current });
333
+ }
334
+ else {
335
+ debugLogging('ENFORCE DISPOSE LC: Denied: No language client is running.');
336
+ }
326
337
  }
327
338
  else {
328
- debugLogging('ENFORCE DISPOSE LC: Denied');
339
+ debugLogging('ENFORCE DISPOSE LC: Denied: enforceLanguageClientDisposeRef.current is false.');
340
+ if (!lcsManager.isStarted()) {
341
+ addQueue({ id: 'lcInit', func: lcInitFunc, currentContainer: containerRef.current });
342
+ }
329
343
  }
330
344
  }, [enforceLanguageClientDispose]);
331
345
  useEffect(() => {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
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.4.0-next.1",
3
+ "version": "7.4.0-next.2",
4
4
  "license": "MIT",
5
5
  "description": "React component for Monaco-Editor and Monaco Languageclient",
6
6
  "keywords": [
@@ -46,8 +46,10 @@
46
46
  "npm": "10.9.3"
47
47
  },
48
48
  "dependencies": {
49
- "@codingame/monaco-vscode-editor-api": "^23.0.4",
50
- "react": ">=18.0.0 || <20.0.0"
49
+ "@codingame/monaco-vscode-editor-api": "^23.1.0",
50
+ "@codingame/monaco-vscode-extension-api": "^23.1.0",
51
+ "react": ">=18.0.0 || <20.0.0",
52
+ "vscode": "npm:@codingame/monaco-vscode-extension-api@^23.1.0"
51
53
  },
52
54
  "repository": {
53
55
  "type": "git",
package/src/index.tsx CHANGED
@@ -11,6 +11,11 @@ import { getEnhancedMonacoEnvironment, type MonacoVscodeApiConfig, MonacoVscodeA
11
11
  import React, { type CSSProperties, useEffect, useRef } from 'react';
12
12
 
13
13
  export type ResolveFc = (value: void | PromiseLike<void>) => void;
14
+ export type ConfigProcessedResult = {
15
+ textUpdated: boolean;
16
+ modelUpdated: boolean;
17
+ editorApp?: EditorApp;
18
+ };
14
19
 
15
20
  export type MonacoEditorProps = {
16
21
  style?: CSSProperties;
@@ -21,13 +26,32 @@ export type MonacoEditorProps = {
21
26
  onVscodeApiInitDone?: (monacoVscodeApiManager: MonacoVscodeApiWrapper) => void;
22
27
  onEditorStartDone?: (editorApp?: EditorApp) => void;
23
28
  onLanguageClientsStartDone?: (lcsManager: LanguageClientManager) => void;
29
+ /**
30
+ * Called when the text in the editor has changed
31
+ */
24
32
  onTextChanged?: (textChanges: TextContents) => void;
25
- onConfigProcessed?: (result: { textUpdated: boolean, modelUpdated: boolean}, editorApp?: EditorApp) => void;
33
+ /**
34
+ * Called when an error occurred within the component
35
+ */
26
36
  onError?: (error: Error) => void;
27
37
  onDisposeEditor?: () => void;
28
38
  onDisposeLanguageClient?: () => void;
29
- toggleReprocessConfig?: boolean;
39
+ /**
40
+ * Trigger reprocessing oft the editorAppConfig to update code/models or editor options.
41
+ * This is performed once and only repeated if the value is increased again.
42
+ */
43
+ triggerReprocessConfig?: number;
44
+ /**
45
+ * Always called after the config was re-processed.
46
+ */
47
+ onConfigProcessed?: (result: ConfigProcessedResult) => void;
48
+ /**
49
+ * Enforce disposal of the language client
50
+ */
30
51
  enforceLanguageClientDispose?: boolean;
52
+ /**
53
+ * Set the log level for the internal logger
54
+ */
31
55
  logLevel?: LogLevel | number;
32
56
  }
33
57
 
@@ -74,7 +98,7 @@ const executeQueue = async () => {
74
98
  const kickQueue = () => {
75
99
  if (intervalId === undefined && runQueue.length > 0) {
76
100
  intervalId = setInterval(async () => {
77
- debugLogging('Checking queue...' + runQueueLock);
101
+ debugLogging(`Checking queue (lock state: ${runQueueLock})`);
78
102
  if (!runQueueLock) {
79
103
  await executeQueue();
80
104
  stopQueue();
@@ -93,7 +117,11 @@ const stopQueue = () => {
93
117
 
94
118
  const debugLogging = (id: string) => {
95
119
  const now = new Date(Date.now());
96
- logger.debug(`[${now.getMinutes()}:${now.getSeconds()}:${now.getMilliseconds()}]: ${id}`);
120
+ const hours = now.getHours().toString().padStart(2, '0');
121
+ const minutes = now.getMinutes().toString().padStart(2, '0');
122
+ const seconds = now.getSeconds().toString().padStart(2, '0');
123
+ const milliseconds = now.getMilliseconds().toString().padStart(3, '0');
124
+ logger.debug(`[${hours}:${minutes}:${seconds}.${milliseconds}]: ${id}`);
97
125
  };
98
126
 
99
127
  export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
@@ -112,7 +140,7 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
112
140
  onDisposeEditor,
113
141
  onDisposeLanguageClient,
114
142
  logLevel,
115
- toggleReprocessConfig,
143
+ triggerReprocessConfig,
116
144
  enforceLanguageClientDispose
117
145
  } = props;
118
146
 
@@ -125,8 +153,8 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
125
153
  const onTextChangedRef = useRef(onTextChanged);
126
154
  const launchingRef = useRef<boolean>(false);
127
155
  const editorAppConfigRef = useRef<EditorAppConfig>(undefined);
128
- const flipReprocessConfigRef = useRef<boolean>(false);
129
- const flipLanguageClientDisposeRef = useRef<boolean>(false);
156
+ const triggerReprocessConfigRef = useRef<number>(0);
157
+ const enforceLanguageClientDisposeRef = useRef<boolean>(undefined);
130
158
 
131
159
  const performErrorHandling = (error: Error) => {
132
160
  debugLogging(`ERROR: ${error.message}`);
@@ -226,10 +254,10 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
226
254
  if (!launchingRef.current && editorAppRef.current) {
227
255
  editorAppRef.current.updateCodeResources(editorAppConfigRef.current?.codeResources);
228
256
  updateModelRelatedRefs();
229
- onConfigProcessed?.({modelUpdated: true, textUpdated: true}, editorAppRef.current);
257
+ onConfigProcessed?.({ modelUpdated: true, textUpdated: true, editorApp: editorAppRef.current });
230
258
  debugLogging('UPDATE EDITOR MODEL: Model was updated.');
231
259
  } else {
232
- onConfigProcessed?.({modelUpdated: false, textUpdated: false}, editorAppRef.current);
260
+ onConfigProcessed?.({modelUpdated: false, textUpdated: false, editorApp: editorAppRef.current });
233
261
  debugLogging('UPDATE EDITOR MODEL: No editor is avilable. Model update was not possible.');
234
262
  }
235
263
  } catch (error) {
@@ -299,7 +327,7 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
299
327
  }
300
328
  // notitfy now if no async model update was necessary
301
329
  if (!modelUpdated) {
302
- onConfigProcessed?.({modelUpdated, textUpdated}, editorAppRef.current);
330
+ onConfigProcessed?.({modelUpdated, textUpdated, editorApp: editorAppRef.current });
303
331
  }
304
332
  debugLogging('CONFIG PROCESSED: Done');
305
333
  } catch (error) {
@@ -329,17 +357,27 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
329
357
  }, [editorAppConfig]);
330
358
 
331
359
  useEffect(() => {
332
- if (flipReprocessConfigRef.current !== (toggleReprocessConfig === true)) {
360
+ const triggerValue = triggerReprocessConfig ?? 0;
361
+ if (triggerValue > triggerReprocessConfigRef.current) {
333
362
  debugLogging('REPROCESS CONFIG: Triggered');
334
363
  const updateModel = processConfig();
335
364
  if (updateModel) {
336
365
  addQueue({ id: 'modelUpdate', func: updateEditorModel, currentContainer: containerRef.current});
337
366
  }
338
- flipReprocessConfigRef.current = !flipReprocessConfigRef.current;
367
+ triggerReprocessConfigRef.current = triggerValue;
339
368
  } else {
340
369
  debugLogging('REPROCESS CONFIG: Denied');
341
370
  }
342
- }, [toggleReprocessConfig]);
371
+ }, [triggerReprocessConfig]);
372
+
373
+ const lcInitFunc = async () => {
374
+ try {
375
+ await lcsManager.start();
376
+ onLanguageClientsStartDone?.(lcsManager);
377
+ } catch (error) {
378
+ performErrorHandling(error as Error);
379
+ }
380
+ };
343
381
 
344
382
  useEffect(() => {
345
383
  // fast-fail
@@ -348,17 +386,9 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
348
386
  // always try to perform global init. Reason: we cannot ensure order
349
387
  performGlobalInit();
350
388
 
351
- const lcInitFunc = async () => {
352
- try {
353
- await lcsManager.start();
354
- onLanguageClientsStartDone?.(lcsManager);
355
- } catch (error) {
356
- performErrorHandling(error as Error);
357
- }
358
- };
359
389
  lcsManager.setLogLevel(languageClientConfig.logLevel);
360
390
  lcsManager.setConfig(languageClientConfig);
361
- if (!lcsManager.isStarted()) {
391
+ if (!lcsManager.isStarted() && (enforceLanguageClientDisposeRef.current === undefined || !enforceLanguageClientDisposeRef.current)) {
362
392
  addQueue({ id:'lcInit', func: lcInitFunc, currentContainer: containerRef.current });
363
393
  } else {
364
394
  debugLogging('INIT LC: Language client is already running. No need to schedule async start.');
@@ -366,7 +396,8 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
366
396
  }, [languageClientConfig]);
367
397
 
368
398
  useEffect(() => {
369
- if (flipLanguageClientDisposeRef.current !== (enforceLanguageClientDispose === true)) {
399
+ enforceLanguageClientDisposeRef.current = enforceLanguageClientDispose === true;
400
+ if (enforceLanguageClientDisposeRef.current === true) {
370
401
  const disposeLCFunc = async () => {
371
402
  try {
372
403
  await lcsManager.dispose();
@@ -376,9 +407,16 @@ export const MonacoEditorReactComp: React.FC<MonacoEditorProps> = (props) => {
376
407
  performErrorHandling(new Error(`Unexpected error occurred during disposal of the language client: ${error}`));
377
408
  }
378
409
  };
379
- addQueue({ id:'lcDispose', func: disposeLCFunc, currentContainer: containerRef.current });
410
+ if (lcsManager.isStarted()) {
411
+ addQueue({ id:'lcDispose', func: disposeLCFunc, currentContainer: containerRef.current });
412
+ } else {
413
+ debugLogging('ENFORCE DISPOSE LC: Denied: No language client is running.');
414
+ }
380
415
  } else {
381
- debugLogging('ENFORCE DISPOSE LC: Denied');
416
+ debugLogging('ENFORCE DISPOSE LC: Denied: enforceLanguageClientDisposeRef.current is false.');
417
+ if (!lcsManager.isStarted()) {
418
+ addQueue({ id:'lcInit', func: lcInitFunc, currentContainer: containerRef.current });
419
+ }
382
420
  }
383
421
  }, [enforceLanguageClientDispose]);
384
422