From 012b1f757bf2f587ae9929f0b555233f1bf003d6 Mon Sep 17 00:00:00 2001 From: Gregory Schier Date: Fri, 18 Aug 2017 09:29:27 -0700 Subject: [PATCH] Prevent modal from closing after escaping autocomplete --- app/ui/components/codemirror/extensions/autocomplete.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/ui/components/codemirror/extensions/autocomplete.js b/app/ui/components/codemirror/extensions/autocomplete.js index 21b8ddc645..5427d424d7 100644 --- a/app/ui/components/codemirror/extensions/autocomplete.js +++ b/app/ui/components/codemirror/extensions/autocomplete.js @@ -129,6 +129,14 @@ CodeMirror.defineOption('environmentAutocomplete', null, (cm, options) => { let keydownDebounce = null; cm.on('keydown', (cm, e) => { + // Close dropdown on Escape if it's open + if (cm.isHintDropdownActive() && e.key === 'Escape') { + cm.closeHint(); + e.preventDefault(); + e.stopPropagation(); + return; + } + // Only operate on one-letter keys. This will filter out // any special keys (Backspace, Enter, etc) if (e.metaKey || e.ctrlKey || e.altKey || e.key.length > 1) {