Skip to content

Commit 71fb945

Browse files
committed
onTextChanges are only supported when EditorService is usedf
1 parent ea1785d commit 71fb945

File tree

3 files changed

+22
-20
lines changed

3 files changed

+22
-20
lines changed

packages/examples/src/langium/statemachine/main-react.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import React, { StrictMode, useEffect, useState } from 'react';
77
import ReactDOM from 'react-dom/client';
8+
import type { TextContents } from 'monaco-editor-wrapper';
89
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
910
import { createLangiumGlobalConfig } from './config/wrapperStatemachineConfig.js';
1011
import { loadStatemachineWorkerRegular } from './main.js';
@@ -21,6 +22,9 @@ export const runStatemachineReact = async () => {
2122
});
2223
const root = ReactDOM.createRoot(document.getElementById('react-root')!);
2324

25+
const onTextChanged = (textChanges: TextContents) => {
26+
console.log(`text: ${textChanges.modified}\ntextOriginal: ${textChanges.original}`);
27+
};
2428
try {
2529
document.querySelector('#button-start')?.addEventListener('click', async () => {
2630
const App = () => {
@@ -40,7 +44,8 @@ export const runStatemachineReact = async () => {
4044
<div style={{ 'height': height }} >
4145
<MonacoEditorReactComp
4246
style={{ 'height': '100%' }}
43-
wrapperConfig={wrapperConfig} />
47+
wrapperConfig={wrapperConfig}
48+
onTextChanged={onTextChanged} />
4449
</div>
4550
);
4651
};

packages/examples/src/python/client/reactPython.tsx

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,24 @@ import { type RegisterLocalProcessExtensionResult } from '@codingame/monaco-vsco
88
import React from 'react';
99
import ReactDOM from 'react-dom/client';
1010
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
11-
import { MonacoEditorLanguageClientWrapper, type TextChanges } from 'monaco-editor-wrapper';
11+
import { MonacoEditorLanguageClientWrapper, type TextContents } from 'monaco-editor-wrapper';
1212
import { createWrapperConfig } from './config.js';
1313
import { confiugureDebugging } from '../../debugger/client/debugger.js';
1414

1515
export const runPythonReact = async () => {
1616
const appConfig = createWrapperConfig();
17-
18-
const onTextChanged = (textChanges: TextContents) => {
19-
console.log(`text: ${textChanges.modified}\ntextOriginal: ${textChanges.original}`);
17+
18+
const onLoad = async (wrapper: MonacoEditorLanguageClientWrapper) => {
19+
const result = wrapper.getExtensionRegisterResult('mlc-python-example') as RegisterLocalProcessExtensionResult;
20+
result.setAsDefaultApi();
21+
22+
const initResult = wrapper.getExtensionRegisterResult('debugger-py-client') as RegisterLocalProcessExtensionResult | undefined;
23+
if (initResult !== undefined) {
24+
confiugureDebugging(await initResult.getApi(), appConfig.configParams);
25+
}
26+
27+
await vscode.commands.executeCommand('workbench.view.explorer');
28+
await vscode.window.showTextDocument(appConfig.configParams.files.get('hello2.py')!.uri);
2029
};
2130

2231
const root = ReactDOM.createRoot(document.getElementById('react-root')!);
@@ -27,19 +36,7 @@ export const runPythonReact = async () => {
2736
<MonacoEditorReactComp
2837
wrapperConfig={appConfig.wrapperConfig}
2938
style={{ 'height': '100%' }}
30-
onTextChanged={onTextChanged}
31-
onLoad={async (wrapper: MonacoEditorLanguageClientWrapper) => {
32-
const result = wrapper.getExtensionRegisterResult('mlc-python-example') as RegisterLocalProcessExtensionResult;
33-
result.setAsDefaultApi();
34-
35-
const initResult = wrapper.getExtensionRegisterResult('debugger-py-client') as RegisterLocalProcessExtensionResult | undefined;
36-
if (initResult !== undefined) {
37-
confiugureDebugging(await initResult.getApi(), appConfig.configParams);
38-
}
39-
40-
await vscode.commands.executeCommand('workbench.view.explorer');
41-
await vscode.window.showTextDocument(appConfig.configParams.files.get('hello2.py')!.uri);
42-
}}
39+
onLoad={onLoad}
4340
onError={(e) => {
4441
console.error(e);
4542
}} />

verify/angular/src/monaco-angular-wrapper/monaco-angular-wrapper.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
import * as monaco from '@codingame/monaco-vscode-editor-api';
1616
import {
1717
MonacoEditorLanguageClientWrapper,
18-
TextChanges,
18+
TextContents,
1919
TextModels,
2020
WrapperConfig, didModelContentChange
2121
} from 'monaco-editor-wrapper';
@@ -86,7 +86,7 @@ export class MonacoAngularWrapperComponent implements OnDestroy {
8686
}
8787

8888
emitCodeChange(textModels: TextModels, wrapperConfig: WrapperConfig) {
89-
const onTextChanged = (textChanges: TextChanges) => {
89+
const onTextChanged = (textChanges: TextContents) => {
9090
this.onTextChanged.emit(textChanges.modified);
9191
};
9292
didModelContentChange(textModels, wrapperConfig.editorAppConfig?.codeResources, onTextChanged);

0 commit comments

Comments
 (0)