From 473d7bd88ca6523f75c2ca138895e7999ad1bf5c Mon Sep 17 00:00:00 2001 From: Ross Andrews Date: Fri, 3 May 2024 21:07:45 -0500 Subject: [PATCH] Fixed a bug with codemirror saving changes --- vweb/src/forge_editor.jsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/vweb/src/forge_editor.jsx b/vweb/src/forge_editor.jsx index 2038c59..6d38915 100644 --- a/vweb/src/forge_editor.jsx +++ b/vweb/src/forge_editor.jsx @@ -7,7 +7,7 @@ import {StreamLanguage} from '@codemirror/language' import {gruvboxDark} from 'cm6-theme-gruvbox-dark' import ForgeHighlighter from './forge_highlighter' -export default function ForgeEditor({ src, updateSrc }) { +export default function ForgeEditor({ src, updateSrc, fileName }) { const editor = useRef(null) const container = useRef(null) @@ -19,13 +19,16 @@ export default function ForgeEditor({ src, updateSrc }) { keymap.of([indentWithTab]), gruvboxDark, EditorView.updateListener.of((update) => { - updateSrc(update.state.doc.text.join('\n')) + updateSrc(update.state.doc.toString()) }), StreamLanguage.define(ForgeHighlighter) ], parent: container.current }) - }, []) + + // Destroy the editor when we re-fire this, which is when the filename changes + return () => (container.current && container.current.children[0].remove()) + }, [fileName]) return
}