123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- 'use strict';
- Object.defineProperty(exports, '__esModule', { value: true });
- var view = require('@codemirror/view');
- var state = require('@codemirror/state');
- var language = require('@codemirror/language');
- var commands = require('@codemirror/commands');
- var search = require('@codemirror/search');
- var autocomplete = require('@codemirror/autocomplete');
- var lint = require('@codemirror/lint');
- // (The superfluous function calls around the list of extensions work
- // around current limitations in tree-shaking software.)
- /**
- This is an extension value that just pulls together a number of
- extensions that you might want in a basic editor. It is meant as a
- convenient helper to quickly set up CodeMirror without installing
- and importing a lot of separate packages.
- Specifically, it includes...
- - [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)
- - [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)
- - [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)
- - [the undo history](https://codemirror.net/6/docs/ref/#commands.history)
- - [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)
- - [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)
- - [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)
- - [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)
- - [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)
- - [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)
- - [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)
- - [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)
- - [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)
- - [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)
- - [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)
- - [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)
- - [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)
- - [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)
- - [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)
- (You'll probably want to add some language package to your setup
- too.)
- This extension does not allow customization. The idea is that,
- once you decide you want to configure your editor more precisely,
- you take this package's source (which is just a bunch of imports
- and an array literal), copy it into your own code, and adjust it
- as desired.
- */
- const basicSetup = (() => [
- view.lineNumbers(),
- view.highlightActiveLineGutter(),
- view.highlightSpecialChars(),
- commands.history(),
- language.foldGutter(),
- view.drawSelection(),
- view.dropCursor(),
- state.EditorState.allowMultipleSelections.of(true),
- language.indentOnInput(),
- language.syntaxHighlighting(language.defaultHighlightStyle, { fallback: true }),
- language.bracketMatching(),
- autocomplete.closeBrackets(),
- autocomplete.autocompletion(),
- view.rectangularSelection(),
- view.crosshairCursor(),
- view.highlightActiveLine(),
- search.highlightSelectionMatches(),
- view.keymap.of([
- ...autocomplete.closeBracketsKeymap,
- ...commands.defaultKeymap,
- ...search.searchKeymap,
- ...commands.historyKeymap,
- ...language.foldKeymap,
- ...autocomplete.completionKeymap,
- ...lint.lintKeymap
- ])
- ])();
- /**
- A minimal set of extensions to create a functional editor. Only
- includes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo
- history](https://codemirror.net/6/docs/ref/#commands.history), [special character
- highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection
- drawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight
- style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).
- */
- const minimalSetup = (() => [
- view.highlightSpecialChars(),
- commands.history(),
- view.drawSelection(),
- language.syntaxHighlighting(language.defaultHighlightStyle, { fallback: true }),
- view.keymap.of([
- ...commands.defaultKeymap,
- ...commands.historyKeymap,
- ])
- ])();
- Object.defineProperty(exports, 'EditorView', {
- enumerable: true,
- get: function () { return view.EditorView; }
- });
- exports.basicSetup = basicSetup;
- exports.minimalSetup = minimalSetup;
|