|
1 | | -import React from 'react' |
2 | 1 | import CodeMirror from 'codemirror' |
3 | | -import debounce from 'lodash.debounce' |
4 | | -import {attach, forward, createEffect} from 'effector' |
5 | | -import {createGate, useGate} from 'effector-react' |
6 | | - |
7 | | -import './mode/jsx' |
8 | | - |
9 | | -import 'codemirror/addon/lint/lint.css' |
10 | | -import 'codemirror/addon/lint/lint' |
11 | 2 | import 'codemirror/addon/comment/comment' |
12 | | -import 'codemirror/addon/wrap/hardwrap' |
13 | | -import 'codemirror/addon/fold/foldgutter' |
14 | 3 | import 'codemirror/addon/fold/brace-fold' |
15 | 4 | import 'codemirror/addon/fold/comment-fold' |
16 | | -import 'codemirror/keymap/sublime' |
| 5 | +import 'codemirror/addon/fold/foldgutter' |
17 | 6 | import 'codemirror/addon/fold/foldgutter.css' |
| 7 | +import 'codemirror/addon/lint/lint' |
| 8 | +import 'codemirror/addon/lint/lint.css' |
| 9 | +import 'codemirror/addon/wrap/hardwrap' |
| 10 | +import 'codemirror/keymap/sublime' |
| 11 | +import {attach, forward, createEffect} from 'effector' |
| 12 | +import {createGate, useGate} from 'effector-react' |
| 13 | +import debounce from 'lodash.debounce' |
| 14 | +import React from 'react' |
18 | 15 |
|
19 | | -import {mode, sourceCode} from './state' |
20 | 16 | import {codeMarkLine, codeSetCursor, codeCursorActivity, changeSources} from '.' |
| 17 | + |
21 | 18 | import {codeMirrorConfig} from './codeMirrorConfig' |
| 19 | +import './mode/jsx' |
| 20 | +import {$mode, $sourceCode} from './state' |
22 | 21 |
|
23 | 22 | export let codeMirror: CodeMirror.EditorFromTextArea |
24 | 23 |
|
25 | 24 | const CodeMirrorGate = createGate<{}>() |
26 | 25 |
|
27 | | -mode.updates.watch(mode => { |
| 26 | +$mode.updates.watch(mode => { |
28 | 27 | codeMirror.setOption('mode', mode) |
29 | 28 | }) |
30 | 29 |
|
31 | | -sourceCode.updates.watch(code => { |
| 30 | +$sourceCode.updates.watch(code => { |
32 | 31 | if (codeMirror.getValue() !== code) { |
33 | 32 | codeMirror.setValue(code) |
34 | 33 | } |
@@ -90,7 +89,7 @@ const setupCodeMirrorFx = createEffect( |
90 | 89 | forward({ |
91 | 90 | from: CodeMirrorGate.open, |
92 | 91 | to: attach({ |
93 | | - source: {code: sourceCode, mode}, |
| 92 | + source: {code: $sourceCode, mode: $mode}, |
94 | 93 | effect: setupCodeMirrorFx, |
95 | 94 | }), |
96 | 95 | }) |
|
0 commit comments