| |
| |
| import type { Extension } from '@codemirror/state'; |
| import { |
| highlightActiveLineGutter, |
| highlightSpecialChars, |
| drawSelection, |
| dropCursor, |
| rectangularSelection, |
| crosshairCursor, |
| highlightActiveLine, |
| keymap |
| } from '@codemirror/view'; |
| export { EditorView } from '@codemirror/view'; |
| import { EditorState } from '@codemirror/state'; |
| import { |
| indentOnInput, |
| syntaxHighlighting, |
| defaultHighlightStyle, |
| bracketMatching, |
| foldKeymap |
| } from '@codemirror/language'; |
| import { history, defaultKeymap, historyKeymap } from '@codemirror/commands'; |
| import { |
| closeBrackets, |
| autocompletion, |
| closeBracketsKeymap, |
| completionKeymap |
| } from '@codemirror/autocomplete'; |
| import { indentationMarkers } from './indentationMarkers'; |
|
|
| export const basicSetup: Extension = (() => [ |
| highlightActiveLineGutter(), |
| highlightSpecialChars(), |
| history(), |
| drawSelection(), |
| dropCursor(), |
| EditorState.allowMultipleSelections.of(true), |
| indentOnInput(), |
| syntaxHighlighting(defaultHighlightStyle, { fallback: true }), |
| bracketMatching(), |
| closeBrackets(), |
| autocompletion(), |
| rectangularSelection(), |
| crosshairCursor(), |
| highlightActiveLine(), |
| keymap.of([ |
| ...closeBracketsKeymap, |
| ...defaultKeymap, |
| ...historyKeymap, |
| ...foldKeymap, |
| ...completionKeymap |
| ]), |
| indentationMarkers({ |
| highlightActiveBlock: false |
| }) |
| ])(); |
|
|