From 5e09c3c318a98d43929b14b65505a355071c06c6 Mon Sep 17 00:00:00 2001 From: Roipoussiere Date: Fri, 9 Jun 2023 18:25:36 +0200 Subject: [PATCH] add autocompletion extension from useMemo --- packages/react/src/components/CodeMirror6.jsx | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/react/src/components/CodeMirror6.jsx b/packages/react/src/components/CodeMirror6.jsx index 35a86ae8..651c7c88 100644 --- a/packages/react/src/components/CodeMirror6.jsx +++ b/packages/react/src/components/CodeMirror6.jsx @@ -133,20 +133,24 @@ export default function CodeMirror({ ); const extensions = useMemo(() => { + let _extensions = [...staticExtensions]; let bindings = { vim, emacs, }; - if (bindings[keybindings]) { - return [...staticExtensions, bindings[keybindings]()]; - } - return staticExtensions; - }, [keybindings]); - const setAutoCompletion = (isAutoCompletionEnabled) => - isAutoCompletionEnabled - ? javascriptLanguage.data.of({ autocomplete: strudelAutocomplete }) - : autocompletion({ override: [] }); + if (bindings[keybindings]) { + _extensions.push(bindings[keybindings]()); + } + + if (isAutoCompletionEnabled) { + _extensions.push(javascriptLanguage.data.of({ autocomplete: strudelAutocomplete })); + } else { + _extensions.push(autocompletion({ override: [] })); + } + + return _extensions; + }, [keybindings, isAutoCompletionEnabled]); return (
@@ -156,7 +160,7 @@ export default function CodeMirror({ onChange={handleOnChange} onCreateEditor={handleOnCreateEditor} onUpdate={handleOnUpdate} - extensions={[...extensions, setAutoCompletion(isAutoCompletionEnabled)]} + extensions={extensions} basicSetup={{ lineNumbers: isLineNumbersDisplayed }} />