1
1
import * as React from 'react' ;
2
2
import { useEffect , useImperativeHandle , useState , useRef , useCallback , forwardRef } from 'react' ;
3
-
4
- const CodeMirror = require ( 'codemirror' ) ;
5
3
import 'codemirror/addon/comment/comment' ;
6
4
import 'codemirror/addon/dialog/dialog' ;
7
5
import 'codemirror/addon/edit/closebrackets' ;
@@ -15,6 +13,7 @@ import useLineSorting from './utils/useLineSorting';
15
13
16
14
import 'codemirror/keymap/emacs' ;
17
15
import 'codemirror/keymap/vim' ;
16
+ import 'codemirror/keymap/sublime' ; // Used for swapLineUp and swapLineDown
18
17
19
18
import 'codemirror/mode/gfm/gfm' ;
20
19
import 'codemirror/mode/xml/xml' ;
@@ -26,6 +25,8 @@ import 'codemirror/mode/clike/clike';
26
25
import 'codemirror/mode/diff/diff' ;
27
26
import 'codemirror/mode/sql/sql' ;
28
27
28
+ const CodeMirror = require ( 'codemirror' ) ;
29
+
29
30
export interface CancelledKeys {
30
31
mac : string [ ] ,
31
32
default : string [ ] ,
@@ -134,6 +135,12 @@ function Editor(props: EditorProps, ref: any) {
134
135
extraKeys : { 'Enter' : 'insertListElement' ,
135
136
'Ctrl-/' : 'toggleComment' ,
136
137
'Ctrl-Alt-S' : 'sortSelectedLines' ,
138
+ 'Alt-Up' : 'swapLineUp' ,
139
+ 'Alt-Down' : 'swapLineDown' ,
140
+ 'Cmd-/' : 'toggleComment' ,
141
+ 'Cmd-Opt-S' : 'sortSelectedLines' ,
142
+ 'Opt-Up' : 'swapLineUp' ,
143
+ 'Opt-Down' : 'swapLineDown' ,
137
144
'Tab' : 'smartListIndent' ,
138
145
'Shift-Tab' : 'smartListUnindent' } ,
139
146
} ;
0 commit comments