Fixed a bug with codemirror saving changes
This commit is contained in:
@@ -7,7 +7,7 @@ import {StreamLanguage} from '@codemirror/language'
|
|||||||
import {gruvboxDark} from 'cm6-theme-gruvbox-dark'
|
import {gruvboxDark} from 'cm6-theme-gruvbox-dark'
|
||||||
import ForgeHighlighter from './forge_highlighter'
|
import ForgeHighlighter from './forge_highlighter'
|
||||||
|
|
||||||
export default function ForgeEditor({ src, updateSrc }) {
|
export default function ForgeEditor({ src, updateSrc, fileName }) {
|
||||||
const editor = useRef(null)
|
const editor = useRef(null)
|
||||||
const container = useRef(null)
|
const container = useRef(null)
|
||||||
|
|
||||||
@@ -19,13 +19,16 @@ export default function ForgeEditor({ src, updateSrc }) {
|
|||||||
keymap.of([indentWithTab]),
|
keymap.of([indentWithTab]),
|
||||||
gruvboxDark,
|
gruvboxDark,
|
||||||
EditorView.updateListener.of((update) => {
|
EditorView.updateListener.of((update) => {
|
||||||
updateSrc(update.state.doc.text.join('\n'))
|
updateSrc(update.state.doc.toString())
|
||||||
}),
|
}),
|
||||||
StreamLanguage.define(ForgeHighlighter)
|
StreamLanguage.define(ForgeHighlighter)
|
||||||
],
|
],
|
||||||
parent: container.current
|
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 <div className='editor' ref={container}/>
|
return <div className='editor' ref={container}/>
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user