@jupyterlab/codemirror 4.0.0-alpha.2 → 4.0.0-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/codemirror-ipythongfm.d.ts +9 -3
- package/lib/codemirror-ipythongfm.js +52 -30
- package/lib/codemirror-ipythongfm.js.map +1 -1
- package/lib/commands.d.ts +13 -0
- package/lib/commands.js +32 -0
- package/lib/commands.js.map +1 -0
- package/lib/editor.d.ts +48 -279
- package/lib/editor.js +220 -818
- package/lib/editor.js.map +1 -1
- package/lib/extension.d.ts +236 -0
- package/lib/extension.js +687 -0
- package/lib/extension.js.map +1 -0
- package/lib/extensions/customStyle.d.ts +25 -0
- package/lib/extensions/customStyle.js +51 -0
- package/lib/extensions/customStyle.js.map +1 -0
- package/lib/extensions/index.d.ts +3 -0
- package/lib/extensions/index.js +8 -0
- package/lib/extensions/index.js.map +1 -0
- package/lib/extensions/rulers.d.ts +8 -0
- package/lib/extensions/rulers.js +85 -0
- package/lib/extensions/rulers.js.map +1 -0
- package/lib/extensions/ybinding.d.ts +125 -0
- package/lib/extensions/ybinding.js +213 -0
- package/lib/extensions/ybinding.js.map +1 -0
- package/lib/factory.d.ts +15 -5
- package/lib/factory.js +53 -24
- package/lib/factory.js.map +1 -1
- package/lib/index.d.ts +7 -19
- package/lib/index.js +7 -23
- package/lib/index.js.map +1 -1
- package/lib/language.d.ts +96 -0
- package/lib/language.js +1690 -0
- package/lib/language.js.map +1 -0
- package/lib/mimetype.d.ts +3 -0
- package/lib/mimetype.js +16 -5
- package/lib/mimetype.js.map +1 -1
- package/lib/searchprovider.d.ts +197 -0
- package/lib/searchprovider.js +550 -0
- package/lib/searchprovider.js.map +1 -0
- package/lib/theme.d.ts +57 -0
- package/lib/theme.js +194 -0
- package/lib/theme.js.map +1 -0
- package/lib/token.d.ts +375 -0
- package/lib/token.js +18 -0
- package/lib/token.js.map +1 -0
- package/package.json +45 -41
- package/src/codemirror-ipythongfm.ts +109 -0
- package/src/commands.ts +34 -0
- package/src/editor.ts +783 -0
- package/src/extension.ts +878 -0
- package/src/extensions/customStyle.ts +79 -0
- package/src/extensions/index.ts +8 -0
- package/src/extensions/rulers.ts +112 -0
- package/src/extensions/ybinding.ts +267 -0
- package/src/factory.ts +100 -0
- package/src/index.ts +17 -0
- package/src/language.ts +1729 -0
- package/src/mimetype.ts +54 -0
- package/src/searchprovider.ts +700 -0
- package/src/theme.ts +219 -0
- package/src/token.ts +436 -0
- package/src/typings.d.ts +13 -0
- package/style/base.css +22 -162
- package/style/index.css +1 -7
- package/style/index.js +1 -7
- package/lib/codemirror-ipython.d.ts +0 -2
- package/lib/codemirror-ipython.js +0 -30
- package/lib/codemirror-ipython.js.map +0 -1
- package/lib/mode.d.ts +0 -81
- package/lib/mode.js +0 -149
- package/lib/mode.js.map +0 -1
- package/lib/syntaxstatus.d.ts +0 -67
- package/lib/syntaxstatus.js +0 -140
- package/lib/syntaxstatus.js.map +0 -1
- package/lib/tokens.d.ts +0 -18
- package/lib/tokens.js +0 -9
- package/lib/tokens.js.map +0 -1
- package/typings/codemirror/codemirror.d.ts +0 -227
package/style/base.css
CHANGED
|
@@ -3,46 +3,33 @@
|
|
|
3
3
|
| Distributed under the terms of the Modified BSD License.
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
|
-
.
|
|
6
|
+
.cm-editor {
|
|
7
7
|
line-height: var(--jp-code-line-height);
|
|
8
8
|
font-size: var(--jp-code-font-size);
|
|
9
9
|
font-family: var(--jp-code-font-family);
|
|
10
10
|
border: 0;
|
|
11
11
|
border-radius: 0;
|
|
12
12
|
height: auto;
|
|
13
|
+
|
|
13
14
|
/* Changed to auto to autogrow */
|
|
14
15
|
}
|
|
15
16
|
|
|
16
|
-
.
|
|
17
|
+
.cm-editor pre {
|
|
17
18
|
padding: 0 var(--jp-code-padding);
|
|
18
19
|
}
|
|
19
20
|
|
|
20
|
-
.jp-CodeMirrorEditor[data-type='inline'] .
|
|
21
|
+
.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
|
|
21
22
|
background-color: var(--jp-layout-color0);
|
|
22
23
|
color: var(--jp-content-font-color1);
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
/* This causes https://github.com/jupyter/jupyterlab/issues/522 */
|
|
26
|
-
/* May not cause it not because we changed it! */
|
|
27
|
-
.CodeMirror-lines {
|
|
28
|
-
padding: var(--jp-code-padding) 0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.CodeMirror-linenumber {
|
|
32
|
-
padding: 0 8px;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
26
|
.jp-CodeMirrorEditor {
|
|
36
27
|
cursor: text;
|
|
37
28
|
}
|
|
38
29
|
|
|
39
|
-
.jp-CodeMirrorEditor[data-type='inline'] .CodeMirror-cursor {
|
|
40
|
-
border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
30
|
/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
|
|
44
31
|
@media screen and (min-width: 2138px) and (max-width: 4319px) {
|
|
45
|
-
.jp-CodeMirrorEditor[data-type='inline'] .
|
|
32
|
+
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
|
|
46
33
|
border-left: var(--jp-code-cursor-width1) solid
|
|
47
34
|
var(--jp-editor-cursor-color);
|
|
48
35
|
}
|
|
@@ -50,21 +37,16 @@
|
|
|
50
37
|
|
|
51
38
|
/* When zoomed out less than 33% */
|
|
52
39
|
@media screen and (min-width: 4320px) {
|
|
53
|
-
.jp-CodeMirrorEditor[data-type='inline'] .
|
|
40
|
+
.jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
|
|
54
41
|
border-left: var(--jp-code-cursor-width2) solid
|
|
55
42
|
var(--jp-editor-cursor-color);
|
|
56
43
|
}
|
|
57
44
|
}
|
|
58
45
|
|
|
59
|
-
.
|
|
46
|
+
.cm-editor.jp-mod-readOnly .cm-cursor {
|
|
60
47
|
display: none;
|
|
61
48
|
}
|
|
62
49
|
|
|
63
|
-
.CodeMirror-gutters {
|
|
64
|
-
border-right: 1px solid var(--jp-border-color2);
|
|
65
|
-
background-color: var(--jp-layout-color0);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
50
|
.jp-CollaboratorCursor {
|
|
69
51
|
border-left: 5px solid transparent;
|
|
70
52
|
border-right: 5px solid transparent;
|
|
@@ -75,16 +57,16 @@
|
|
|
75
57
|
margin-right: -5px;
|
|
76
58
|
}
|
|
77
59
|
|
|
78
|
-
.
|
|
79
|
-
|
|
80
|
-
color: var(--jp-search-
|
|
60
|
+
.cm-searching,
|
|
61
|
+
.cm-searching span {
|
|
62
|
+
background-color: var(--jp-search-unselected-match-background-color);
|
|
63
|
+
color: var(--jp-search-unselected-match-color);
|
|
81
64
|
}
|
|
82
65
|
|
|
83
|
-
.cm-searching
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
) !important;
|
|
87
|
-
color: var(--jp-search-unselected-match-color) !important;
|
|
66
|
+
.cm-searching::selection,
|
|
67
|
+
.cm-searching span::selection {
|
|
68
|
+
background-color: var(--jp-search-selected-match-background-color) !important;
|
|
69
|
+
color: var(--jp-search-selected-match-color) !important;
|
|
88
70
|
}
|
|
89
71
|
|
|
90
72
|
.cm-trailingspace {
|
|
@@ -93,14 +75,6 @@
|
|
|
93
75
|
background-repeat: repeat-x;
|
|
94
76
|
}
|
|
95
77
|
|
|
96
|
-
.CodeMirror-focused .CodeMirror-selected {
|
|
97
|
-
background-color: var(--jp-editor-selected-focused-background);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.CodeMirror-selected {
|
|
101
|
-
background-color: var(--jp-editor-selected-background);
|
|
102
|
-
}
|
|
103
|
-
|
|
104
78
|
.jp-CollaboratorCursor-hover {
|
|
105
79
|
position: absolute;
|
|
106
80
|
z-index: 1;
|
|
@@ -120,136 +94,22 @@
|
|
|
120
94
|
border-left: 1px dashed var(--jp-border-color2);
|
|
121
95
|
}
|
|
122
96
|
|
|
123
|
-
/**
|
|
124
|
-
* Here is our jupyter theme for CodeMirror syntax highlighting
|
|
125
|
-
* This is used in our marked.js syntax highlighting and CodeMirror itself
|
|
126
|
-
* The string "jupyter" is set in ../codemirror/widget.DEFAULT_CODEMIRROR_THEME
|
|
127
|
-
* This came from the classic notebook, which came form highlight.js/GitHub
|
|
128
|
-
*/
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* CodeMirror themes are handling the background/color in this way. This works
|
|
132
|
-
* fine for CodeMirror editors outside the notebook, but the notebook styles
|
|
133
|
-
* these things differently.
|
|
134
|
-
*/
|
|
135
|
-
.CodeMirror.cm-s-jupyter {
|
|
136
|
-
background: var(--jp-layout-color0);
|
|
137
|
-
color: var(--jp-content-font-color1);
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
/* In the notebook, we want this styling to be handled by its container */
|
|
141
|
-
.jp-CodeConsole .CodeMirror.cm-s-jupyter,
|
|
142
|
-
.jp-Notebook .CodeMirror.cm-s-jupyter {
|
|
143
|
-
background: transparent;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.cm-s-jupyter .CodeMirror-cursor {
|
|
147
|
-
border-left: var(--jp-code-cursor-width0) solid var(--jp-editor-cursor-color);
|
|
148
|
-
}
|
|
149
|
-
.cm-s-jupyter span.cm-keyword {
|
|
150
|
-
color: var(--jp-mirror-editor-keyword-color);
|
|
151
|
-
font-weight: bold;
|
|
152
|
-
}
|
|
153
|
-
.cm-s-jupyter span.cm-atom {
|
|
154
|
-
color: var(--jp-mirror-editor-atom-color);
|
|
155
|
-
}
|
|
156
|
-
.cm-s-jupyter span.cm-number {
|
|
157
|
-
color: var(--jp-mirror-editor-number-color);
|
|
158
|
-
}
|
|
159
|
-
.cm-s-jupyter span.cm-def {
|
|
160
|
-
color: var(--jp-mirror-editor-def-color);
|
|
161
|
-
}
|
|
162
|
-
.cm-s-jupyter span.cm-variable {
|
|
163
|
-
color: var(--jp-mirror-editor-variable-color);
|
|
164
|
-
}
|
|
165
|
-
.cm-s-jupyter span.cm-variable-2 {
|
|
166
|
-
color: var(--jp-mirror-editor-variable-2-color);
|
|
167
|
-
}
|
|
168
|
-
.cm-s-jupyter span.cm-variable-3 {
|
|
169
|
-
color: var(--jp-mirror-editor-variable-3-color);
|
|
170
|
-
}
|
|
171
|
-
.cm-s-jupyter span.cm-punctuation {
|
|
172
|
-
color: var(--jp-mirror-editor-punctuation-color);
|
|
173
|
-
}
|
|
174
|
-
.cm-s-jupyter span.cm-property {
|
|
175
|
-
color: var(--jp-mirror-editor-property-color);
|
|
176
|
-
}
|
|
177
|
-
.cm-s-jupyter span.cm-operator {
|
|
178
|
-
color: var(--jp-mirror-editor-operator-color);
|
|
179
|
-
font-weight: bold;
|
|
180
|
-
}
|
|
181
|
-
.cm-s-jupyter span.cm-comment {
|
|
182
|
-
color: var(--jp-mirror-editor-comment-color);
|
|
183
|
-
font-style: italic;
|
|
184
|
-
}
|
|
185
|
-
.cm-s-jupyter span.cm-string {
|
|
186
|
-
color: var(--jp-mirror-editor-string-color);
|
|
187
|
-
}
|
|
188
|
-
.cm-s-jupyter span.cm-string-2 {
|
|
189
|
-
color: var(--jp-mirror-editor-string-2-color);
|
|
190
|
-
}
|
|
191
|
-
.cm-s-jupyter span.cm-meta {
|
|
192
|
-
color: var(--jp-mirror-editor-meta-color);
|
|
193
|
-
}
|
|
194
|
-
.cm-s-jupyter span.cm-qualifier {
|
|
195
|
-
color: var(--jp-mirror-editor-qualifier-color);
|
|
196
|
-
}
|
|
197
|
-
.cm-s-jupyter span.cm-builtin {
|
|
198
|
-
color: var(--jp-mirror-editor-builtin-color);
|
|
199
|
-
}
|
|
200
|
-
.cm-s-jupyter span.cm-bracket {
|
|
201
|
-
color: var(--jp-mirror-editor-bracket-color);
|
|
202
|
-
}
|
|
203
|
-
.cm-s-jupyter span.cm-tag {
|
|
204
|
-
color: var(--jp-mirror-editor-tag-color);
|
|
205
|
-
}
|
|
206
|
-
.cm-s-jupyter span.cm-attribute {
|
|
207
|
-
color: var(--jp-mirror-editor-attribute-color);
|
|
208
|
-
}
|
|
209
|
-
.cm-s-jupyter span.cm-header {
|
|
210
|
-
color: var(--jp-mirror-editor-header-color);
|
|
211
|
-
}
|
|
212
|
-
.cm-s-jupyter span.cm-quote {
|
|
213
|
-
color: var(--jp-mirror-editor-quote-color);
|
|
214
|
-
}
|
|
215
|
-
.cm-s-jupyter span.cm-link {
|
|
216
|
-
color: var(--jp-mirror-editor-link-color);
|
|
217
|
-
}
|
|
218
|
-
.cm-s-jupyter span.cm-error {
|
|
219
|
-
color: var(--jp-mirror-editor-error-color);
|
|
220
|
-
}
|
|
221
|
-
.cm-s-jupyter span.cm-hr {
|
|
222
|
-
color: #999;
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
.cm-s-jupyter span.cm-tab {
|
|
226
|
-
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAMCAYAAAAkuj5RAAAAAXNSR0IArs4c6QAAAGFJREFUSMft1LsRQFAQheHPowAKoACx3IgEKtaEHujDjORSgWTH/ZOdnZOcM/sgk/kFFWY0qV8foQwS4MKBCS3qR6ixBJvElOobYAtivseIE120FaowJPN75GMu8j/LfMwNjh4HUpwg4LUAAAAASUVORK5CYII=);
|
|
227
|
-
background-position: right;
|
|
228
|
-
background-repeat: no-repeat;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
.cm-s-jupyter .CodeMirror-activeline-background,
|
|
232
|
-
.cm-s-jupyter .CodeMirror-gutter {
|
|
233
|
-
background-color: var(--jp-layout-color2);
|
|
234
|
-
}
|
|
235
|
-
|
|
236
97
|
/* Styles for shared cursors (remote cursor locations and selected ranges) */
|
|
237
|
-
.jp-CodeMirrorEditor .
|
|
98
|
+
.jp-CodeMirrorEditor .cm-ySelectionCaret {
|
|
238
99
|
position: relative;
|
|
239
|
-
border-left:
|
|
100
|
+
border-left: 1px solid black;
|
|
240
101
|
margin-left: -1px;
|
|
241
102
|
margin-right: -1px;
|
|
242
103
|
box-sizing: border-box;
|
|
243
104
|
}
|
|
244
105
|
|
|
245
|
-
.jp-CodeMirrorEditor .
|
|
106
|
+
.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
|
|
246
107
|
white-space: nowrap;
|
|
247
108
|
position: absolute;
|
|
248
109
|
top: -1.15em;
|
|
249
110
|
padding-bottom: 0.05em;
|
|
250
|
-
left: -
|
|
111
|
+
left: -1px;
|
|
251
112
|
font-size: 0.95em;
|
|
252
|
-
background-color: rgb(250, 129, 0);
|
|
253
113
|
font-family: var(--jp-ui-font-family);
|
|
254
114
|
font-weight: bold;
|
|
255
115
|
line-height: normal;
|
|
@@ -257,16 +117,16 @@
|
|
|
257
117
|
color: white;
|
|
258
118
|
padding-left: 2px;
|
|
259
119
|
padding-right: 2px;
|
|
260
|
-
z-index:
|
|
120
|
+
z-index: 101;
|
|
261
121
|
transition: opacity 0.3s ease-in-out;
|
|
262
122
|
}
|
|
263
123
|
|
|
264
|
-
.jp-CodeMirrorEditor .
|
|
124
|
+
.jp-CodeMirrorEditor .cm-ySelectionInfo {
|
|
265
125
|
transition-delay: 0.7s;
|
|
266
126
|
opacity: 0;
|
|
267
127
|
}
|
|
268
128
|
|
|
269
|
-
.jp-CodeMirrorEditor .
|
|
129
|
+
.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
|
|
270
130
|
opacity: 1;
|
|
271
131
|
transition-delay: 0s;
|
|
272
132
|
}
|
package/style/index.css
CHANGED
|
@@ -4,13 +4,7 @@
|
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
|
|
7
|
-
@import url('~@lumino/widgets/style/index.css');
|
|
8
|
-
@import url('~@jupyterlab/ui-components/style/index.css');
|
|
9
|
-
@import url('~@jupyterlab/apputils/style/index.css');
|
|
10
7
|
@import url('~@jupyterlab/codeeditor/style/index.css');
|
|
11
|
-
@import url('~@jupyterlab/
|
|
12
|
-
@import url('~codemirror/lib/codemirror.css');
|
|
13
|
-
@import url('~codemirror/addon/dialog/dialog.css');
|
|
14
|
-
@import url('~codemirror/addon/fold/foldgutter.css');
|
|
8
|
+
@import url('~@jupyterlab/documentsearch/style/index.css');
|
|
15
9
|
|
|
16
10
|
@import url('./base.css');
|
package/style/index.js
CHANGED
|
@@ -4,13 +4,7 @@
|
|
|
4
4
|
|----------------------------------------------------------------------------*/
|
|
5
5
|
|
|
6
6
|
/* This file was auto-generated by ensurePackage() in @jupyterlab/buildutils */
|
|
7
|
-
import '@lumino/widgets/style/index.js';
|
|
8
|
-
import '@jupyterlab/ui-components/style/index.js';
|
|
9
|
-
import '@jupyterlab/apputils/style/index.js';
|
|
10
7
|
import '@jupyterlab/codeeditor/style/index.js';
|
|
11
|
-
import '@jupyterlab/
|
|
12
|
-
import 'codemirror/lib/codemirror.css';
|
|
13
|
-
import 'codemirror/addon/dialog/dialog.css';
|
|
14
|
-
import 'codemirror/addon/fold/foldgutter.css';
|
|
8
|
+
import '@jupyterlab/documentsearch/style/index.js';
|
|
15
9
|
|
|
16
10
|
import './base.css';
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Jupyter Development Team.
|
|
2
|
-
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import CodeMirror from 'codemirror';
|
|
4
|
-
import 'codemirror/mode/meta';
|
|
5
|
-
import 'codemirror/mode/python/python';
|
|
6
|
-
/**
|
|
7
|
-
* Define an IPython codemirror mode.
|
|
8
|
-
*
|
|
9
|
-
* It is a slightly altered Python Mode with a `?` operator.
|
|
10
|
-
*/
|
|
11
|
-
CodeMirror.defineMode('ipython', (config, modeOptions) => {
|
|
12
|
-
const pythonConf = {};
|
|
13
|
-
for (const prop in modeOptions) {
|
|
14
|
-
if (modeOptions.hasOwnProperty(prop)) {
|
|
15
|
-
pythonConf[prop] = modeOptions[prop];
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
pythonConf.name = 'python';
|
|
19
|
-
pythonConf.singleOperators = new RegExp('^[\\+\\-\\*/%&|@\\^~<>!\\?]');
|
|
20
|
-
pythonConf.identifiers = new RegExp('^[_A-Za-z\u00A1-\uFFFF][_A-Za-z0-9\u00A1-\uFFFF]*');
|
|
21
|
-
return CodeMirror.getMode(config, pythonConf);
|
|
22
|
-
}, 'python');
|
|
23
|
-
CodeMirror.defineMIME('text/x-ipython', 'ipython');
|
|
24
|
-
CodeMirror.modeInfo.push({
|
|
25
|
-
ext: [],
|
|
26
|
-
mime: 'text/x-ipython',
|
|
27
|
-
mode: 'ipython',
|
|
28
|
-
name: 'ipython'
|
|
29
|
-
});
|
|
30
|
-
//# sourceMappingURL=codemirror-ipython.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codemirror-ipython.js","sourceRoot":"","sources":["../src/codemirror-ipython.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,+BAA+B,CAAC;AAEvC;;;;GAIG;AACH,UAAU,CAAC,UAAU,CACnB,SAAS,EACT,CAAC,MAAsC,EAAE,WAAiB,EAAE,EAAE;IAC5D,MAAM,UAAU,GAAQ,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC9B,IAAI,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YACpC,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;SACtC;KACF;IACD,UAAU,CAAC,IAAI,GAAG,QAAQ,CAAC;IAC3B,UAAU,CAAC,eAAe,GAAG,IAAI,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACvE,UAAU,CAAC,WAAW,GAAG,IAAI,MAAM,CACjC,mDAAmD,CACpD,CAAC;IACF,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC,EACD,QAAQ,CACT,CAAC;AAEF,UAAU,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AACnD,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;IACvB,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;CAChB,CAAC,CAAC"}
|
package/lib/mode.d.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { JSONValue } from '@lumino/coreutils';
|
|
2
|
-
import 'codemirror/addon/runmode/runmode';
|
|
3
|
-
import 'codemirror/mode/clike/clike';
|
|
4
|
-
import 'codemirror/mode/css/css';
|
|
5
|
-
import 'codemirror/mode/javascript/javascript';
|
|
6
|
-
import 'codemirror/mode/julia/julia';
|
|
7
|
-
import 'codemirror/mode/markdown/markdown';
|
|
8
|
-
import 'codemirror/mode/meta';
|
|
9
|
-
import 'codemirror/mode/r/r';
|
|
10
|
-
import 'codemirror/mode/shell/shell';
|
|
11
|
-
import 'codemirror/mode/sql/sql';
|
|
12
|
-
import './codemirror-ipython';
|
|
13
|
-
import './codemirror-ipythongfm';
|
|
14
|
-
/**
|
|
15
|
-
* The namespace for CodeMirror Mode functionality.
|
|
16
|
-
*/
|
|
17
|
-
export declare namespace Mode {
|
|
18
|
-
/**
|
|
19
|
-
* The interface of a codemirror modeInfo spec.
|
|
20
|
-
*/
|
|
21
|
-
interface ISpec {
|
|
22
|
-
ext?: string[];
|
|
23
|
-
name?: string;
|
|
24
|
-
mode: string;
|
|
25
|
-
mime: string;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* The interface of a codemirror mode spec.
|
|
29
|
-
*/
|
|
30
|
-
interface IMode {
|
|
31
|
-
name: string;
|
|
32
|
-
[key: string]: JSONValue;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* The interface for a codemirror spec resolver.
|
|
36
|
-
*/
|
|
37
|
-
interface ISpecLoader {
|
|
38
|
-
/**
|
|
39
|
-
* A function which returns whether it was successfully loaded
|
|
40
|
-
*/
|
|
41
|
-
(spec: ISpec): Promise<boolean>;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get the raw list of available modes specs.
|
|
45
|
-
*/
|
|
46
|
-
function getModeInfo(): ISpec[];
|
|
47
|
-
/**
|
|
48
|
-
* Running a CodeMirror mode outside of an editor.
|
|
49
|
-
*/
|
|
50
|
-
function run(code: string, mode: string | ISpec, el: HTMLElement): void;
|
|
51
|
-
/**
|
|
52
|
-
* Ensure a codemirror mode is available by name or Codemirror spec.
|
|
53
|
-
*
|
|
54
|
-
* @param mode - The mode to ensure. If it is a string, uses [findBest]
|
|
55
|
-
* to get the appropriate spec.
|
|
56
|
-
*
|
|
57
|
-
* @returns A promise that resolves when the mode is available.
|
|
58
|
-
*/
|
|
59
|
-
function ensure(mode: string | ISpec): Promise<ISpec | null>;
|
|
60
|
-
function addSpecLoader(loader: ISpecLoader, rank: number): void;
|
|
61
|
-
/**
|
|
62
|
-
* Find a codemirror mode by name or CodeMirror spec.
|
|
63
|
-
*/
|
|
64
|
-
function findBest(mode: string | ISpec): ISpec;
|
|
65
|
-
/**
|
|
66
|
-
* Find a codemirror mode by MIME.
|
|
67
|
-
*/
|
|
68
|
-
function findByMIME(mime: string): ISpec;
|
|
69
|
-
/**
|
|
70
|
-
* Find a codemirror mode by name.
|
|
71
|
-
*/
|
|
72
|
-
function findByName(name: string): ISpec;
|
|
73
|
-
/**
|
|
74
|
-
* Find a codemirror mode by filename.
|
|
75
|
-
*/
|
|
76
|
-
function findByFileName(name: string): ISpec;
|
|
77
|
-
/**
|
|
78
|
-
* Find a codemirror mode by extension.
|
|
79
|
-
*/
|
|
80
|
-
function findByExtension(ext: string | string[]): ISpec | null;
|
|
81
|
-
}
|
package/lib/mode.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
// Copyright (c) Jupyter Development Team.
|
|
2
|
-
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { IEditorMimeTypeService } from '@jupyterlab/codeeditor';
|
|
4
|
-
import { PathExt } from '@jupyterlab/coreutils';
|
|
5
|
-
import { ArrayExt } from '@lumino/algorithm';
|
|
6
|
-
import CodeMirror from 'codemirror';
|
|
7
|
-
import 'codemirror/addon/runmode/runmode';
|
|
8
|
-
import 'codemirror/mode/clike/clike';
|
|
9
|
-
import 'codemirror/mode/css/css';
|
|
10
|
-
// Bundle other common modes
|
|
11
|
-
import 'codemirror/mode/javascript/javascript';
|
|
12
|
-
import 'codemirror/mode/julia/julia';
|
|
13
|
-
import 'codemirror/mode/markdown/markdown';
|
|
14
|
-
import 'codemirror/mode/meta';
|
|
15
|
-
import 'codemirror/mode/r/r';
|
|
16
|
-
import 'codemirror/mode/shell/shell';
|
|
17
|
-
import 'codemirror/mode/sql/sql';
|
|
18
|
-
import './codemirror-ipython';
|
|
19
|
-
import './codemirror-ipythongfm';
|
|
20
|
-
/**
|
|
21
|
-
* The namespace for CodeMirror Mode functionality.
|
|
22
|
-
*/
|
|
23
|
-
export var Mode;
|
|
24
|
-
(function (Mode) {
|
|
25
|
-
const specLoaders = [
|
|
26
|
-
{
|
|
27
|
-
// Simplest, cheapest check by mode name.
|
|
28
|
-
loader: async (spec) => CodeMirror.modes.hasOwnProperty(spec.mode),
|
|
29
|
-
rank: 0
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
// Fetch the mode asynchronously.
|
|
33
|
-
loader: function (spec) {
|
|
34
|
-
return new Promise((resolve, reject) => {
|
|
35
|
-
// An arrow function below seems to miscompile in our current webpack to
|
|
36
|
-
// invalid js.
|
|
37
|
-
require([
|
|
38
|
-
`codemirror/mode/${spec.mode}/${spec.mode}.js`
|
|
39
|
-
], function () {
|
|
40
|
-
resolve(true);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
},
|
|
44
|
-
rank: 99
|
|
45
|
-
}
|
|
46
|
-
];
|
|
47
|
-
/**
|
|
48
|
-
* Get the raw list of available modes specs.
|
|
49
|
-
*/
|
|
50
|
-
function getModeInfo() {
|
|
51
|
-
return CodeMirror.modeInfo;
|
|
52
|
-
}
|
|
53
|
-
Mode.getModeInfo = getModeInfo;
|
|
54
|
-
/**
|
|
55
|
-
* Running a CodeMirror mode outside of an editor.
|
|
56
|
-
*/
|
|
57
|
-
function run(code, mode, el) {
|
|
58
|
-
CodeMirror.runMode(code, mode, el);
|
|
59
|
-
}
|
|
60
|
-
Mode.run = run;
|
|
61
|
-
/**
|
|
62
|
-
* Ensure a codemirror mode is available by name or Codemirror spec.
|
|
63
|
-
*
|
|
64
|
-
* @param mode - The mode to ensure. If it is a string, uses [findBest]
|
|
65
|
-
* to get the appropriate spec.
|
|
66
|
-
*
|
|
67
|
-
* @returns A promise that resolves when the mode is available.
|
|
68
|
-
*/
|
|
69
|
-
async function ensure(mode) {
|
|
70
|
-
const spec = findBest(mode);
|
|
71
|
-
for (const specLoader of specLoaders) {
|
|
72
|
-
if (await specLoader.loader(spec)) {
|
|
73
|
-
return spec;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return null;
|
|
77
|
-
}
|
|
78
|
-
Mode.ensure = ensure;
|
|
79
|
-
function addSpecLoader(loader, rank) {
|
|
80
|
-
const item = { loader, rank };
|
|
81
|
-
const index = ArrayExt.upperBound(specLoaders, item, Private.itemCmp);
|
|
82
|
-
ArrayExt.insert(specLoaders, index, item);
|
|
83
|
-
}
|
|
84
|
-
Mode.addSpecLoader = addSpecLoader;
|
|
85
|
-
/**
|
|
86
|
-
* Find a codemirror mode by name or CodeMirror spec.
|
|
87
|
-
*/
|
|
88
|
-
function findBest(mode) {
|
|
89
|
-
var _a;
|
|
90
|
-
const modename = typeof mode === 'string' ? mode : mode.mode || mode.name;
|
|
91
|
-
const mimetype = typeof mode !== 'string' ? mode.mime : modename;
|
|
92
|
-
const ext = typeof mode !== 'string' ? (_a = mode.ext) !== null && _a !== void 0 ? _a : [] : [];
|
|
93
|
-
return (CodeMirror.findModeByName(modename || '') ||
|
|
94
|
-
CodeMirror.findModeByMIME(mimetype || '') ||
|
|
95
|
-
findByExtension(ext) ||
|
|
96
|
-
CodeMirror.findModeByMIME(IEditorMimeTypeService.defaultMimeType) ||
|
|
97
|
-
CodeMirror.findModeByMIME('text/plain'));
|
|
98
|
-
}
|
|
99
|
-
Mode.findBest = findBest;
|
|
100
|
-
/**
|
|
101
|
-
* Find a codemirror mode by MIME.
|
|
102
|
-
*/
|
|
103
|
-
function findByMIME(mime) {
|
|
104
|
-
return CodeMirror.findModeByMIME(mime);
|
|
105
|
-
}
|
|
106
|
-
Mode.findByMIME = findByMIME;
|
|
107
|
-
/**
|
|
108
|
-
* Find a codemirror mode by name.
|
|
109
|
-
*/
|
|
110
|
-
function findByName(name) {
|
|
111
|
-
return CodeMirror.findModeByName(name);
|
|
112
|
-
}
|
|
113
|
-
Mode.findByName = findByName;
|
|
114
|
-
/**
|
|
115
|
-
* Find a codemirror mode by filename.
|
|
116
|
-
*/
|
|
117
|
-
function findByFileName(name) {
|
|
118
|
-
const basename = PathExt.basename(name);
|
|
119
|
-
return CodeMirror.findModeByFileName(basename);
|
|
120
|
-
}
|
|
121
|
-
Mode.findByFileName = findByFileName;
|
|
122
|
-
/**
|
|
123
|
-
* Find a codemirror mode by extension.
|
|
124
|
-
*/
|
|
125
|
-
function findByExtension(ext) {
|
|
126
|
-
if (typeof ext === 'string') {
|
|
127
|
-
return CodeMirror.findModeByExtension(ext);
|
|
128
|
-
}
|
|
129
|
-
for (let i = 0; i < ext.length; i++) {
|
|
130
|
-
const mode = CodeMirror.findModeByExtension(ext[i]);
|
|
131
|
-
if (mode) {
|
|
132
|
-
return mode;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return null;
|
|
136
|
-
}
|
|
137
|
-
Mode.findByExtension = findByExtension;
|
|
138
|
-
})(Mode || (Mode = {}));
|
|
139
|
-
var Private;
|
|
140
|
-
(function (Private) {
|
|
141
|
-
/**
|
|
142
|
-
* A less-than comparison function for the loader rank
|
|
143
|
-
*/
|
|
144
|
-
function itemCmp(first, second) {
|
|
145
|
-
return first.rank - second.rank;
|
|
146
|
-
}
|
|
147
|
-
Private.itemCmp = itemCmp;
|
|
148
|
-
})(Private || (Private = {}));
|
|
149
|
-
//# sourceMappingURL=mode.js.map
|
package/lib/mode.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../src/mode.ts"],"names":[],"mappings":"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"}
|
package/lib/syntaxstatus.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { CodeEditor } from '@jupyterlab/codeeditor';
|
|
2
|
-
import { ITranslator } from '@jupyterlab/translation';
|
|
3
|
-
import { VDomModel, VDomRenderer } from '@jupyterlab/ui-components';
|
|
4
|
-
import { CommandRegistry } from '@lumino/commands';
|
|
5
|
-
/**
|
|
6
|
-
* StatusBar item to change the language syntax highlighting of the file editor.
|
|
7
|
-
*/
|
|
8
|
-
export declare class EditorSyntaxStatus extends VDomRenderer<EditorSyntaxStatus.Model> {
|
|
9
|
-
/**
|
|
10
|
-
* Construct a new VDomRenderer for the status item.
|
|
11
|
-
*/
|
|
12
|
-
constructor(opts: EditorSyntaxStatus.IOptions);
|
|
13
|
-
/**
|
|
14
|
-
* Render the status item.
|
|
15
|
-
*/
|
|
16
|
-
render(): JSX.Element | null;
|
|
17
|
-
/**
|
|
18
|
-
* Create a menu for selecting the mode of the editor.
|
|
19
|
-
*/
|
|
20
|
-
private _handleClick;
|
|
21
|
-
protected translator: ITranslator;
|
|
22
|
-
private _commands;
|
|
23
|
-
private _popup;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* A namespace for EditorSyntax statics.
|
|
27
|
-
*/
|
|
28
|
-
export declare namespace EditorSyntaxStatus {
|
|
29
|
-
/**
|
|
30
|
-
* A VDomModel for the current editor/mode combination.
|
|
31
|
-
*/
|
|
32
|
-
class Model extends VDomModel {
|
|
33
|
-
/**
|
|
34
|
-
* The current mode for the editor. If no editor is present,
|
|
35
|
-
* returns the empty string.
|
|
36
|
-
*/
|
|
37
|
-
get mode(): string;
|
|
38
|
-
/**
|
|
39
|
-
* The current editor for the application editor tracker.
|
|
40
|
-
*/
|
|
41
|
-
get editor(): CodeEditor.IEditor | null;
|
|
42
|
-
set editor(editor: CodeEditor.IEditor | null);
|
|
43
|
-
/**
|
|
44
|
-
* If the editor mode changes, update the model.
|
|
45
|
-
*/
|
|
46
|
-
private _onMIMETypeChange;
|
|
47
|
-
/**
|
|
48
|
-
* Trigger a rerender of the model.
|
|
49
|
-
*/
|
|
50
|
-
private _triggerChange;
|
|
51
|
-
private _mode;
|
|
52
|
-
private _editor;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Options for the EditorSyntax status item.
|
|
56
|
-
*/
|
|
57
|
-
interface IOptions {
|
|
58
|
-
/**
|
|
59
|
-
* The application command registry.
|
|
60
|
-
*/
|
|
61
|
-
commands: CommandRegistry;
|
|
62
|
-
/**
|
|
63
|
-
* The language translator.
|
|
64
|
-
*/
|
|
65
|
-
translator?: ITranslator;
|
|
66
|
-
}
|
|
67
|
-
}
|