From 81a8fa2ce3a2220e4e3eb6bb6d3fc41b949e90cd Mon Sep 17 00:00:00 2001 From: Mathias Jakobsen Date: Thu, 20 Apr 2023 11:02:46 +0100 Subject: [PATCH] Merge pull request #12672 from overleaf/ae-emacs-compile-keydown [cm6] Stop propagation of Ctrl-s when Emacs keybindings are enabled GitOrigin-RevId: 32bebefb583ad813931af221cce7498d40fdbaf1 --- .../features/source-editor/extensions/keybindings.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/services/web/frontend/js/features/source-editor/extensions/keybindings.ts b/services/web/frontend/js/features/source-editor/extensions/keybindings.ts index d4e3e772d8..02544251e1 100644 --- a/services/web/frontend/js/features/source-editor/extensions/keybindings.ts +++ b/services/web/frontend/js/features/source-editor/extensions/keybindings.ts @@ -8,6 +8,7 @@ import { import { EmacsHandler } from '@replit/codemirror-emacs' import { CodeMirror } from '@replit/codemirror-vim' import { foldCode, toggleFold, unfoldCode } from '@codemirror/language' +import { EditorView } from '@codemirror/view' import { cursorToBeginningOfVisualLine, cursorToEndOfVisualLine, @@ -174,7 +175,16 @@ const options = [ load: () => import('@replit/codemirror-emacs').then(m => { customiseEmacsOnce() - return m.emacs() + return [ + m.emacs(), + EditorView.domEventHandlers({ + keydown(event) { + if (event.ctrlKey && event.key === 's') { + event.stopPropagation() + } + }, + }), + ] }), }, ]