Skip to content

Commit

Permalink
feat: optimize codemirror bundle
Browse files Browse the repository at this point in the history
  • Loading branch information
ginkoid committed Sep 29, 2023
1 parent 8557c7f commit b00e698
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 9 deletions.
12 changes: 3 additions & 9 deletions client/app.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import { basicSetup, EditorView } from 'codemirror'
import { StreamLanguage } from '@codemirror/language'
import { stex } from '@codemirror/legacy-modes/mode/stex'
import { keymap } from '@codemirror/view'
import { indentWithTab } from '@codemirror/commands'
import { EditorView } from 'codemirror'
import extensions from './codemirror'
import './app.css'
import preamble from '../render/preamble.tex'

Expand Down Expand Up @@ -105,10 +102,7 @@ void (async () => {
const view = new EditorView({
doc: localStorage.content || initialValue,
extensions: [
basicSetup,
EditorView.lineWrapping,
keymap.of([indentWithTab]),
StreamLanguage.define(stex),
extensions,
EditorView.updateListener.of((update) => {
if (update.docChanged) {
handleInput(update.state.doc.toString())
Expand Down
47 changes: 47 additions & 0 deletions client/codemirror.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import { StreamLanguage } from '@codemirror/language'
import { stex } from '@codemirror/legacy-modes/mode/stex'
import { indentWithTab } from '@codemirror/commands'
import {
EditorView,
lineNumbers,
highlightActiveLineGutter,
highlightSpecialChars,
drawSelection,
rectangularSelection,
crosshairCursor,
highlightActiveLine,
keymap,
} from '@codemirror/view'
import { EditorState } from '@codemirror/state'
import {
indentOnInput,
syntaxHighlighting,
defaultHighlightStyle,
bracketMatching,
} from '@codemirror/language'
import { history, defaultKeymap, historyKeymap } from '@codemirror/commands'
import { closeBrackets, closeBracketsKeymap } from '@codemirror/autocomplete'

export default [
lineNumbers(),
highlightActiveLineGutter(),
highlightSpecialChars(),
history(),
drawSelection(),
EditorState.allowMultipleSelections.of(true),
indentOnInput(),
syntaxHighlighting(defaultHighlightStyle, { fallback: true }),
bracketMatching(),
closeBrackets(),
rectangularSelection(),
crosshairCursor(),
highlightActiveLine(),
keymap.of([
...closeBracketsKeymap,
...defaultKeymap,
...historyKeymap,
indentWithTab,
]),
EditorView.lineWrapping,
StreamLanguage.define(stex),
]

0 comments on commit b00e698

Please sign in to comment.