Fix py-editor execute code on ctrl-enter (#2385)

* Fix dist path

* Remove defaultKeymap

* Return true from listener

* Put defaultKeymap after custom key map
This commit is contained in:
Jeremy Kawahara
2025-10-07 16:57:14 -04:00
committed by GitHub
parent 100a1e4bc1
commit b609b605f5
2 changed files with 5 additions and 4 deletions

View File

@@ -426,16 +426,17 @@ const init = async (script, type, interpreter) => {
// preserve user indentation, if any // preserve user indentation, if any
const indentation = /^([ \t]+)/m.test(doc) ? RegExp.$1 : " "; const indentation = /^([ \t]+)/m.test(doc) ? RegExp.$1 : " ";
const listener = () => runButton.click(); const listener = () => !runButton.click();
const editor = new EditorView({ const editor = new EditorView({
extensions: [ extensions: [
indentUnit.of(indentation), indentUnit.of(indentation),
new Compartment().of(python()), new Compartment().of(python()),
keymap.of([ keymap.of([
...defaultKeymap,
{ key: "Ctrl-Enter", run: listener, preventDefault: true }, { key: "Ctrl-Enter", run: listener, preventDefault: true },
{ key: "Cmd-Enter", run: listener, preventDefault: true }, { key: "Cmd-Enter", run: listener, preventDefault: true },
{ key: "Shift-Enter", run: listener, preventDefault: true }, { key: "Shift-Enter", run: listener, preventDefault: true },
// Consider removing defaultKeymap as likely redundant with basicSetup
...defaultKeymap,
// @see https://codemirror.net/examples/tab/ // @see https://codemirror.net/examples/tab/
indentWithTab, indentWithTab,
]), ]),

View File

@@ -3,8 +3,8 @@
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="../../dist/core.css"> <link rel="stylesheet" href="../../../dist/core.css">
<script type="module" src="../../dist/core.js"></script> <script type="module" src="../../../dist/core.js"></script>
</head> </head>
<body> <body>
<script type="py-editor"> <script type="py-editor">