From 4a647a3f262f5b899ddc4a42ffb50a9cdc2f9226 Mon Sep 17 00:00:00 2001 From: Mikkel Kongsted Date: Sat, 11 Oct 2025 22:52:23 +0200 Subject: [PATCH] add cut shortcut --- src/index.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/index.js b/src/index.js index 8302a2c..db28790 100644 --- a/src/index.js +++ b/src/index.js @@ -221,3 +221,42 @@ saveKarlkoderButton.onclick = () => { }; toggleSpriteEditorButton.addEventListener("click", () => spriteEditor.toggleEditor()); + +consoleInput.onkeydown = (ev) => { + if (ev.key !== "Enter") return; + + const code = ev.target.value; + ev.target.value = ""; + + codeRunner.evaluateCode(code); +}; + +editor.commands.addCommand({ + name: "cut", + bindKey: { win: "Ctrl-X" }, + exec: function (editor) { + const cutLine = editor.selection.isEmpty(); + const range = cutLine ? editor.selection.getLineRange() : editor.selection.getRange(); + editor._emit("cut", range); + + if (!range.isEmpty()) { + editor.session.remove(range); + } + editor.clearSelection(); + }, + scrollIntoView: "cursor", + multiSelectAction: "forEach", + readOnly: false, +}); + +function copy(text) { + const elem = document.createElement("input"); + elem.value = text; + elem.display = "none"; + document.body.appendChild(elem); + + elem.select(); + document.execCommand("copy"); + + requestAnimationFrame(() => elem.remove()); +}