diff --git a/packages/codemirror/codemirror.mjs b/packages/codemirror/codemirror.mjs index d28bf95d1..05e26242e 100644 --- a/packages/codemirror/codemirror.mjs +++ b/packages/codemirror/codemirror.mjs @@ -345,6 +345,18 @@ export class StrudelMirror { clear() { this.onStartRepl && document.removeEventListener('start-repl', this.onStartRepl); } + getCursorLocation() { + return this.editor.state.selection.main.head; + } + setCursorLocation(col) { + return this.editor.dispatch({ selection: { anchor: col } }); + } + appendCode(code) { + const cursor = this.getCursorLocation(); + this.setCode(this.code + code); + this.setCursorLocation(cursor); + } + } function parseBooleans(value) {