import getKeybindingsServiceOverride from '@codingame/monaco-vscode-keybindings-service-override';
import 'monaco-editor/esm/vs/basic-languages/typescript/typescript.contribution.js';
import 'monaco-editor/esm/vs/language/typescript/monaco.contribution.js';
import ReactDOM from 'react-dom/client';
import React, { useState } from 'react';
import { MonacoEditorReactComp } from '@typefox/monaco-editor-react';
import { UserConfig } from 'monaco-editor-wrapper';
import { buildWorkerDefinition } from 'monaco-editor-workers';
buildWorkerDefinition('../../../../node_modules/monaco-editor-workers/dist/workers', import.meta.url, false);
const rootElem = document.getElementById('root')!;
const EditorDemo: React.FC = () => {
const logMessage = 'console.log(\'hello\')';
const [content, setContent] = useState(logMessage);
const userConfig: UserConfig = {
wrapperConfig: {
serviceConfig: {
userServices: {
...getKeybindingsServiceOverride()
},
debugLogging: true
},
editorAppConfig: {
$type: 'classic',
languageId: 'typescript',
useDiffEditor: false,
theme: 'vs-dark',
code: content
}
}
};
const addConsoleMessage = () => {
setContent(`${content}\n${logMessage}`);
};
const onTextChanged = (text: string, isDirty: boolean) => {
console.log(`Dirty? ${isDirty} Content: ${text}`);
};
return (
<>
>
);
};
const comp = ;
const root = ReactDOM.createRoot(rootElem);
root.render(comp);