X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/74b76ecdb924787d0d0f190bd1e384ddf50b1a16..74b4751a1c110b4c824b14369d3a5eea3ad5816a:/resources/js/code/setups.js diff --git a/resources/js/code/setups.js b/resources/js/code/setups.js index 19f8c6c2e..842917285 100644 --- a/resources/js/code/setups.js +++ b/resources/js/code/setups.js @@ -1,22 +1,34 @@ - import {EditorView, keymap, drawSelection, highlightActiveLine, dropCursor, rectangularSelection, lineNumbers, highlightActiveLineGutter} from "@codemirror/view" -import {syntaxHighlighting, bracketMatching} from "@codemirror/language" +import {bracketMatching} from "@codemirror/language" import {defaultKeymap, history, historyKeymap} from "@codemirror/commands" import {EditorState} from "@codemirror/state" +import {getTheme} from "./themes"; -import {defaultLight} from "./themes"; - -export function viewer() { +/** + * @param {Element} parentEl + * @return {(Extension[]|{extension: Extension}|readonly Extension[])[]} + */ +function common(parentEl) { return [ + getTheme(parentEl), lineNumbers(), highlightActiveLineGutter(), drawSelection(), dropCursor(), - // syntaxHighlighting(defaultLight, {fallback: false}), bracketMatching(), rectangularSelection(), highlightActiveLine(), + ]; +} + +/** + * @param {Element} parentEl + * @return {*[]} + */ +export function viewer(parentEl) { + return [ + ...common(parentEl), keymap.of([ ...defaultKeymap, ]), @@ -24,17 +36,14 @@ export function viewer() { ]; } -export function editor(language) { +/** + * @param {Element} parentEl + * @return {*[]} + */ +export function editor(parentEl) { return [ - lineNumbers(), - highlightActiveLineGutter(), + ...common(parentEl), history(), - drawSelection(), - dropCursor(), - syntaxHighlighting(defaultLight, {fallback: true}), - bracketMatching(), - rectangularSelection(), - highlightActiveLine(), keymap.of([ ...defaultKeymap, ...historyKeymap,