gradio/js/code/shared/extensions.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

49 lines
1.1 KiB
TypeScript
Raw Normal View History

import type { Extension } from "@codemirror/state";
import {
lineNumbers,
highlightSpecialChars,
drawSelection,
rectangularSelection,
crosshairCursor,
keymap
} from "@codemirror/view";
export { EditorView } from "@codemirror/view";
import { EditorState } from "@codemirror/state";
import {
foldGutter,
indentOnInput,
syntaxHighlighting,
defaultHighlightStyle,
foldKeymap
} from "@codemirror/language";
import { history, defaultKeymap, historyKeymap } from "@codemirror/commands";
import {
closeBrackets,
closeBracketsKeymap,
completionKeymap
} from "@codemirror/autocomplete";
import { lintKeymap } from "@codemirror/lint";
export const basicSetup: Extension = /*@__PURE__*/ ((): Extension[] => [
lineNumbers(),
highlightSpecialChars(),
history(),
foldGutter(),
drawSelection(),
EditorState.allowMultipleSelections.of(true),
indentOnInput(),
syntaxHighlighting(defaultHighlightStyle, { fallback: true }),
closeBrackets(),
rectangularSelection(),
crosshairCursor(),
keymap.of([
...closeBracketsKeymap,
...defaultKeymap,
...historyKeymap,
...foldKeymap,
...completionKeymap,
...lintKeymap
])
])();