diff --git a/src/lib/app_components/e_app_codemirror_v5.svelte b/src/lib/app_components/e_app_codemirror_v5.svelte index 3e194d1e..16b431e5 100644 --- a/src/lib/app_components/e_app_codemirror_v5.svelte +++ b/src/lib/app_components/e_app_codemirror_v5.svelte @@ -86,6 +86,13 @@ theme_mode == 'dark' ? cm_modules.oneDark : cm_modules.EditorView.baseTheme(), cm_modules.EditorView.contentAttributes.of({ spellcheck: 'true' }), // Enable spell check + // Sync document changes back to Svelte + cm_modules.EditorView.updateListener.of((update: any) => { + if (update.docChanged) { + new_content = update.state.doc.toString(); + } + }), + // Conditional extensions based on props editable ? cm_modules.EditorView.editable.of(true) : null, readonly ? cm_modules.EditorState.readOnly.of(true) : null, @@ -103,13 +110,7 @@ doc: content, extensions: editor_extensions }), - parent: editor_element, - dispatch: (transaction: any) => { - editorView.update([transaction]); - if (transaction.docChanged) { - new_content = editorView.state.doc.toString(); - } - } + parent: editor_element }); }