@jupyterlab/codemirror 4.0.0-alpha.19 → 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 +0 -1
- package/lib/codemirror-ipythongfm.js +0 -8
- 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 +29 -68
- package/lib/editor.js +66 -212
- 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 +45 -37
- package/lib/factory.js.map +1 -1
- package/lib/index.d.ts +7 -20
- package/lib/index.js +7 -24
- 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 +9 -4
- package/lib/mimetype.js.map +1 -1
- package/lib/searchprovider.d.ts +90 -80
- package/lib/searchprovider.js +221 -352
- package/lib/searchprovider.js.map +1 -1
- package/lib/theme.d.ts +57 -0
- package/lib/{editortheme.js → theme.js} +57 -30
- 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 +28 -36
- 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/index.css +0 -3
- package/style/index.js +0 -3
- package/lib/codemirror-ipython.d.ts +0 -1
- package/lib/codemirror-ipython.js +0 -12
- package/lib/codemirror-ipython.js.map +0 -1
- package/lib/editorconfiguration.d.ts +0 -149
- package/lib/editorconfiguration.js +0 -289
- package/lib/editorconfiguration.js.map +0 -1
- package/lib/editortheme.d.ts +0 -41
- package/lib/editortheme.js.map +0 -1
- package/lib/mode.d.ts +0 -88
- package/lib/mode.js +0 -1518
- package/lib/mode.js.map +0 -1
- package/lib/syntaxstatus.d.ts +0 -67
- package/lib/syntaxstatus.js +0 -146
- package/lib/syntaxstatus.js.map +0 -1
package/lib/mode.js
DELETED
|
@@ -1,1518 +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 { LanguageDescription, LanguageSupport, StreamLanguage } from '@codemirror/language';
|
|
6
|
-
import { highlightTree } from '@lezer/highlight';
|
|
7
|
-
// This ensures the language spec for python will be loaded when
|
|
8
|
-
// we instantiate a new editor instance, which is required since
|
|
9
|
-
// python is the default language and we don't want to split
|
|
10
|
-
// the editor constructor because of asynchronous loading.
|
|
11
|
-
import { python } from '@codemirror/lang-python';
|
|
12
|
-
import { jupyterHighlightStyle } from './editortheme';
|
|
13
|
-
export var Mode;
|
|
14
|
-
(function (Mode) {
|
|
15
|
-
function legacy(parser) {
|
|
16
|
-
return new LanguageSupport(StreamLanguage.define(parser));
|
|
17
|
-
}
|
|
18
|
-
Mode.legacy = legacy;
|
|
19
|
-
async function sql(dialectName) {
|
|
20
|
-
const m = await import('@codemirror/lang-sql');
|
|
21
|
-
return m.sql({ dialect: m[dialectName] });
|
|
22
|
-
}
|
|
23
|
-
// Code mirror uses two similar structures, a plain object with optional fields,
|
|
24
|
-
// and a class with the same fields but all mandatory. Maybe adopting the same
|
|
25
|
-
// pattern would be less confusing (although far more verbose)
|
|
26
|
-
function makeSpec(spec) {
|
|
27
|
-
let res = LanguageDescription.of(spec);
|
|
28
|
-
res.mime = spec.mime;
|
|
29
|
-
return res;
|
|
30
|
-
}
|
|
31
|
-
const modeList = [
|
|
32
|
-
makeSpec({
|
|
33
|
-
name: 'C',
|
|
34
|
-
mime: 'text/x-csrc',
|
|
35
|
-
extensions: ['c', 'h', 'ino'],
|
|
36
|
-
async load() {
|
|
37
|
-
const m = await import('@codemirror/lang-cpp');
|
|
38
|
-
return m.cpp();
|
|
39
|
-
}
|
|
40
|
-
}),
|
|
41
|
-
makeSpec({
|
|
42
|
-
name: 'C++',
|
|
43
|
-
mime: 'text/x-c++src',
|
|
44
|
-
extensions: ['cpp', 'c++', 'cc', 'cxx', 'hpp', 'h++', 'hh', 'hxx'],
|
|
45
|
-
async load() {
|
|
46
|
-
const m = await import('@codemirror/lang-cpp');
|
|
47
|
-
return m.cpp();
|
|
48
|
-
}
|
|
49
|
-
}),
|
|
50
|
-
makeSpec({
|
|
51
|
-
name: 'CQL',
|
|
52
|
-
mime: 'text/x-cassandra',
|
|
53
|
-
extensions: ['cql'],
|
|
54
|
-
load() {
|
|
55
|
-
return sql('Cassandra');
|
|
56
|
-
}
|
|
57
|
-
}),
|
|
58
|
-
makeSpec({
|
|
59
|
-
name: 'CSS',
|
|
60
|
-
mime: 'text/css',
|
|
61
|
-
extensions: ['css'],
|
|
62
|
-
async load() {
|
|
63
|
-
const m = await import('@codemirror/lang-css');
|
|
64
|
-
return m.css();
|
|
65
|
-
}
|
|
66
|
-
}),
|
|
67
|
-
makeSpec({
|
|
68
|
-
name: 'HTML',
|
|
69
|
-
alias: ['xhtml'],
|
|
70
|
-
mime: 'text/html',
|
|
71
|
-
extensions: ['html', 'htm', 'handlebars', 'hbs'],
|
|
72
|
-
async load() {
|
|
73
|
-
const m = await import('@codemirror/lang-html');
|
|
74
|
-
return m.html();
|
|
75
|
-
}
|
|
76
|
-
}),
|
|
77
|
-
makeSpec({
|
|
78
|
-
name: 'Java',
|
|
79
|
-
mime: 'text/x-java',
|
|
80
|
-
extensions: ['java'],
|
|
81
|
-
async load() {
|
|
82
|
-
const m = await import('@codemirror/lang-java');
|
|
83
|
-
return m.java();
|
|
84
|
-
}
|
|
85
|
-
}),
|
|
86
|
-
makeSpec({
|
|
87
|
-
name: 'Javascript',
|
|
88
|
-
alias: ['ecmascript', 'js', 'node'],
|
|
89
|
-
mime: [
|
|
90
|
-
'text/javascript',
|
|
91
|
-
'text/ecmascript',
|
|
92
|
-
'application/javascript',
|
|
93
|
-
'application/x-javascript',
|
|
94
|
-
'application/ecmascript'
|
|
95
|
-
],
|
|
96
|
-
extensions: ['js', 'mjs', 'cjs'],
|
|
97
|
-
async load() {
|
|
98
|
-
const m = await import('@codemirror/lang-javascript');
|
|
99
|
-
return m.javascript();
|
|
100
|
-
}
|
|
101
|
-
}),
|
|
102
|
-
makeSpec({
|
|
103
|
-
name: 'JSON',
|
|
104
|
-
alias: ['json5'],
|
|
105
|
-
mime: ['application/json', 'application/x-json'],
|
|
106
|
-
extensions: ['json', 'map'],
|
|
107
|
-
async load() {
|
|
108
|
-
const m = await import('@codemirror/lang-json');
|
|
109
|
-
return m.json();
|
|
110
|
-
}
|
|
111
|
-
}),
|
|
112
|
-
makeSpec({
|
|
113
|
-
name: 'JSX',
|
|
114
|
-
mime: 'text/jsx',
|
|
115
|
-
extensions: ['jsx'],
|
|
116
|
-
async load() {
|
|
117
|
-
const m = await import('@codemirror/lang-javascript');
|
|
118
|
-
return m.javascript({ jsx: true });
|
|
119
|
-
}
|
|
120
|
-
}),
|
|
121
|
-
makeSpec({
|
|
122
|
-
name: 'MariaDB SQL',
|
|
123
|
-
mime: 'text/x-mariadb',
|
|
124
|
-
load() {
|
|
125
|
-
return sql('MariaSQL');
|
|
126
|
-
}
|
|
127
|
-
}),
|
|
128
|
-
makeSpec({
|
|
129
|
-
name: 'Markdown',
|
|
130
|
-
mime: 'text/x-markdown',
|
|
131
|
-
extensions: ['md', 'markdown', 'mkd'],
|
|
132
|
-
async load() {
|
|
133
|
-
const m = await import('@codemirror/lang-markdown');
|
|
134
|
-
return m.markdown({ codeLanguages: modeList });
|
|
135
|
-
}
|
|
136
|
-
}),
|
|
137
|
-
makeSpec({
|
|
138
|
-
name: 'MS SQL',
|
|
139
|
-
mime: 'text/x-mssql',
|
|
140
|
-
load() {
|
|
141
|
-
return sql('MSSQL');
|
|
142
|
-
}
|
|
143
|
-
}),
|
|
144
|
-
makeSpec({
|
|
145
|
-
name: 'MySQL',
|
|
146
|
-
mime: 'text/x-mysql',
|
|
147
|
-
load() {
|
|
148
|
-
return sql('MySQL');
|
|
149
|
-
}
|
|
150
|
-
}),
|
|
151
|
-
makeSpec({
|
|
152
|
-
name: 'PHP',
|
|
153
|
-
mime: [
|
|
154
|
-
'text/x-php',
|
|
155
|
-
'application/x-httpd-php',
|
|
156
|
-
'application/x-httpd-php-open'
|
|
157
|
-
],
|
|
158
|
-
extensions: ['php', 'php3', 'php4', 'php5', 'php7', 'phtml'],
|
|
159
|
-
async load() {
|
|
160
|
-
const m = await import('@codemirror/lang-php');
|
|
161
|
-
return m.php();
|
|
162
|
-
}
|
|
163
|
-
}),
|
|
164
|
-
makeSpec({
|
|
165
|
-
name: 'PLSQL',
|
|
166
|
-
mime: 'text/x-plsql',
|
|
167
|
-
extensions: ['pls'],
|
|
168
|
-
load() {
|
|
169
|
-
return sql('PLSQL');
|
|
170
|
-
}
|
|
171
|
-
}),
|
|
172
|
-
makeSpec({
|
|
173
|
-
name: 'PostgreSQL',
|
|
174
|
-
mime: 'text/x-pgsql',
|
|
175
|
-
load() {
|
|
176
|
-
return sql('PostgreSQL');
|
|
177
|
-
}
|
|
178
|
-
}),
|
|
179
|
-
makeSpec({
|
|
180
|
-
name: 'Python',
|
|
181
|
-
mime: 'text/x-python',
|
|
182
|
-
extensions: ['BUILD', 'bzl', 'py', 'pyw'],
|
|
183
|
-
filename: /^(BUCK|BUILD)$/,
|
|
184
|
-
load() {
|
|
185
|
-
return Promise.resolve(python());
|
|
186
|
-
}
|
|
187
|
-
}),
|
|
188
|
-
makeSpec({
|
|
189
|
-
name: 'Rust',
|
|
190
|
-
mime: 'text/x-rustsrc',
|
|
191
|
-
extensions: ['rs'],
|
|
192
|
-
async load() {
|
|
193
|
-
const m = await import('@codemirror/lang-rust');
|
|
194
|
-
return m.rust();
|
|
195
|
-
}
|
|
196
|
-
}),
|
|
197
|
-
makeSpec({
|
|
198
|
-
name: 'SQL',
|
|
199
|
-
mime: 'text/x-sql',
|
|
200
|
-
extensions: ['sql'],
|
|
201
|
-
load() {
|
|
202
|
-
return sql('StandardSQL');
|
|
203
|
-
}
|
|
204
|
-
}),
|
|
205
|
-
makeSpec({
|
|
206
|
-
name: 'SQLite',
|
|
207
|
-
mime: 'text/x-sqlite',
|
|
208
|
-
load() {
|
|
209
|
-
return sql('SQLite');
|
|
210
|
-
}
|
|
211
|
-
}),
|
|
212
|
-
makeSpec({
|
|
213
|
-
name: 'TSX',
|
|
214
|
-
alias: ['TypeScript-JSX'],
|
|
215
|
-
mime: 'text/typescript-jsx',
|
|
216
|
-
extensions: ['tsx'],
|
|
217
|
-
async load() {
|
|
218
|
-
const m = await import('@codemirror/lang-javascript');
|
|
219
|
-
return m.javascript({ jsx: true, typescript: true });
|
|
220
|
-
}
|
|
221
|
-
}),
|
|
222
|
-
makeSpec({
|
|
223
|
-
name: 'TypeScript',
|
|
224
|
-
alias: ['ts'],
|
|
225
|
-
mime: 'application/typescript',
|
|
226
|
-
extensions: ['ts'],
|
|
227
|
-
async load() {
|
|
228
|
-
const m = await import('@codemirror/lang-javascript');
|
|
229
|
-
return m.javascript({ typescript: true });
|
|
230
|
-
}
|
|
231
|
-
}),
|
|
232
|
-
makeSpec({
|
|
233
|
-
name: 'WebAssembly',
|
|
234
|
-
mime: 'text/webassembly',
|
|
235
|
-
extensions: ['wat', 'wast'],
|
|
236
|
-
async load() {
|
|
237
|
-
const m = await import('@codemirror/lang-wast');
|
|
238
|
-
return m.wast();
|
|
239
|
-
}
|
|
240
|
-
}),
|
|
241
|
-
makeSpec({
|
|
242
|
-
name: 'XML',
|
|
243
|
-
alias: ['rss', 'wsdl', 'xsd'],
|
|
244
|
-
mime: ['application/xml', 'text/xml'],
|
|
245
|
-
extensions: ['xml', 'xsl', 'xsd', 'svg'],
|
|
246
|
-
async load() {
|
|
247
|
-
const m = await import('@codemirror/lang-xml');
|
|
248
|
-
return m.xml();
|
|
249
|
-
}
|
|
250
|
-
}),
|
|
251
|
-
// Legacy modes ported from CodeMirror 5
|
|
252
|
-
makeSpec({
|
|
253
|
-
name: 'APL',
|
|
254
|
-
mime: 'text/apl',
|
|
255
|
-
extensions: ['dyalog', 'apl'],
|
|
256
|
-
async load() {
|
|
257
|
-
const m = await import('@codemirror/legacy-modes/mode/apl');
|
|
258
|
-
return legacy(m.apl);
|
|
259
|
-
}
|
|
260
|
-
}),
|
|
261
|
-
makeSpec({
|
|
262
|
-
name: 'PGP',
|
|
263
|
-
alias: ['asciiarmor'],
|
|
264
|
-
mime: [
|
|
265
|
-
'application/pgp',
|
|
266
|
-
'application/pgp-encrypted',
|
|
267
|
-
'application/pgp-keys',
|
|
268
|
-
'application/pgp-signature'
|
|
269
|
-
],
|
|
270
|
-
extensions: ['asc', 'pgp', 'sig'],
|
|
271
|
-
async load() {
|
|
272
|
-
const m = await import('@codemirror/legacy-modes/mode/asciiarmor');
|
|
273
|
-
return legacy(m.asciiArmor);
|
|
274
|
-
}
|
|
275
|
-
}),
|
|
276
|
-
makeSpec({
|
|
277
|
-
name: 'ASN.1',
|
|
278
|
-
mime: 'text/x-ttcn-asn',
|
|
279
|
-
extensions: ['asn', 'asn1'],
|
|
280
|
-
async load() {
|
|
281
|
-
const m = await import('@codemirror/legacy-modes/mode/asn1');
|
|
282
|
-
return legacy(m.asn1({}));
|
|
283
|
-
}
|
|
284
|
-
}),
|
|
285
|
-
makeSpec({
|
|
286
|
-
name: 'Asterisk',
|
|
287
|
-
mime: 'text/x-asterisk',
|
|
288
|
-
filename: /^extensions\.conf$/i,
|
|
289
|
-
async load() {
|
|
290
|
-
const m = await import('@codemirror/legacy-modes/mode/asterisk');
|
|
291
|
-
return legacy(m.asterisk);
|
|
292
|
-
}
|
|
293
|
-
}),
|
|
294
|
-
makeSpec({
|
|
295
|
-
name: 'Brainfuck',
|
|
296
|
-
mime: 'text/x-brainfuck',
|
|
297
|
-
extensions: ['b', 'bf'],
|
|
298
|
-
async load() {
|
|
299
|
-
const m = await import('@codemirror/legacy-modes/mode/brainfuck');
|
|
300
|
-
return legacy(m.brainfuck);
|
|
301
|
-
}
|
|
302
|
-
}),
|
|
303
|
-
makeSpec({
|
|
304
|
-
name: 'Cobol',
|
|
305
|
-
mime: 'text/x-cobol',
|
|
306
|
-
extensions: ['cob', 'cpy'],
|
|
307
|
-
async load() {
|
|
308
|
-
const m = await import('@codemirror/legacy-modes/mode/cobol');
|
|
309
|
-
return legacy(m.cobol);
|
|
310
|
-
}
|
|
311
|
-
}),
|
|
312
|
-
makeSpec({
|
|
313
|
-
name: 'C#',
|
|
314
|
-
alias: ['csharp', 'cs'],
|
|
315
|
-
mime: 'text/x-csharp',
|
|
316
|
-
extensions: ['cs'],
|
|
317
|
-
async load() {
|
|
318
|
-
const m = await import('@codemirror/legacy-modes/mode/clike');
|
|
319
|
-
return legacy(m.csharp);
|
|
320
|
-
}
|
|
321
|
-
}),
|
|
322
|
-
makeSpec({
|
|
323
|
-
name: 'Clojure',
|
|
324
|
-
mime: 'text/x-clojure',
|
|
325
|
-
extensions: ['clj', 'cljc', 'cljx'],
|
|
326
|
-
async load() {
|
|
327
|
-
const m = await import('@codemirror/legacy-modes/mode/clojure');
|
|
328
|
-
return legacy(m.clojure);
|
|
329
|
-
}
|
|
330
|
-
}),
|
|
331
|
-
makeSpec({
|
|
332
|
-
name: 'ClojureScript',
|
|
333
|
-
mime: 'text/x-clojurescript',
|
|
334
|
-
extensions: ['cljs'],
|
|
335
|
-
async load() {
|
|
336
|
-
const m = await import('@codemirror/legacy-modes/mode/clojure');
|
|
337
|
-
return legacy(m.clojure);
|
|
338
|
-
}
|
|
339
|
-
}),
|
|
340
|
-
makeSpec({
|
|
341
|
-
name: 'Closure Stylesheets (GSS)',
|
|
342
|
-
mime: 'text/x-gss',
|
|
343
|
-
extensions: ['gss'],
|
|
344
|
-
async load() {
|
|
345
|
-
const m = await import('@codemirror/legacy-modes/mode/css');
|
|
346
|
-
return legacy(m.gss);
|
|
347
|
-
}
|
|
348
|
-
}),
|
|
349
|
-
makeSpec({
|
|
350
|
-
name: 'CMake',
|
|
351
|
-
mime: 'text/x-cmake',
|
|
352
|
-
extensions: ['cmake', 'cmake.in'],
|
|
353
|
-
filename: /^CMakeLists\.txt$/,
|
|
354
|
-
async load() {
|
|
355
|
-
const m = await import('@codemirror/legacy-modes/mode/cmake');
|
|
356
|
-
return legacy(m.cmake);
|
|
357
|
-
}
|
|
358
|
-
}),
|
|
359
|
-
makeSpec({
|
|
360
|
-
name: 'CoffeeScript',
|
|
361
|
-
alias: ['coffee', 'coffee-script'],
|
|
362
|
-
mime: [
|
|
363
|
-
'application/vnd.coffeescript',
|
|
364
|
-
'text/coffeescript',
|
|
365
|
-
'text/x-coffeescript'
|
|
366
|
-
],
|
|
367
|
-
extensions: ['coffee'],
|
|
368
|
-
async load() {
|
|
369
|
-
const m = await import('@codemirror/legacy-modes/mode/coffeescript');
|
|
370
|
-
return legacy(m.coffeeScript);
|
|
371
|
-
}
|
|
372
|
-
}),
|
|
373
|
-
makeSpec({
|
|
374
|
-
name: 'Common Lisp',
|
|
375
|
-
alias: ['lisp'],
|
|
376
|
-
mime: 'text/x-common-lisp',
|
|
377
|
-
extensions: ['cl', 'lisp', 'el'],
|
|
378
|
-
async load() {
|
|
379
|
-
const m = await import('@codemirror/legacy-modes/mode/commonlisp');
|
|
380
|
-
return legacy(m.commonLisp);
|
|
381
|
-
}
|
|
382
|
-
}),
|
|
383
|
-
makeSpec({
|
|
384
|
-
name: 'Cypher',
|
|
385
|
-
mime: 'application/x-cypher-query',
|
|
386
|
-
extensions: ['cyp', 'cypher'],
|
|
387
|
-
async load() {
|
|
388
|
-
const m = await import('@codemirror/legacy-modes/mode/cypher');
|
|
389
|
-
return legacy(m.cypher);
|
|
390
|
-
}
|
|
391
|
-
}),
|
|
392
|
-
makeSpec({
|
|
393
|
-
name: 'Cython',
|
|
394
|
-
mime: 'text/x-cython',
|
|
395
|
-
extensions: ['pyx', 'pxd', 'pxi'],
|
|
396
|
-
async load() {
|
|
397
|
-
const m = await import('@codemirror/legacy-modes/mode/python');
|
|
398
|
-
return legacy(m.cython);
|
|
399
|
-
}
|
|
400
|
-
}),
|
|
401
|
-
makeSpec({
|
|
402
|
-
name: 'Crystal',
|
|
403
|
-
mime: 'text/x-crystal',
|
|
404
|
-
extensions: ['cr'],
|
|
405
|
-
async load() {
|
|
406
|
-
const m = await import('@codemirror/legacy-modes/mode/crystal');
|
|
407
|
-
return legacy(m.crystal);
|
|
408
|
-
}
|
|
409
|
-
}),
|
|
410
|
-
makeSpec({
|
|
411
|
-
name: 'D',
|
|
412
|
-
mime: 'text/x-d',
|
|
413
|
-
extensions: ['d'],
|
|
414
|
-
async load() {
|
|
415
|
-
const m = await import('@codemirror/legacy-modes/mode/d');
|
|
416
|
-
return legacy(m.d);
|
|
417
|
-
}
|
|
418
|
-
}),
|
|
419
|
-
makeSpec({
|
|
420
|
-
name: 'Dart',
|
|
421
|
-
mime: ['application/dart', 'text/x-dart'],
|
|
422
|
-
extensions: ['dart'],
|
|
423
|
-
async load() {
|
|
424
|
-
const m = await import('@codemirror/legacy-modes/mode/clike');
|
|
425
|
-
return legacy(m.dart);
|
|
426
|
-
}
|
|
427
|
-
}),
|
|
428
|
-
makeSpec({
|
|
429
|
-
name: 'diff',
|
|
430
|
-
mime: 'text/x-diff',
|
|
431
|
-
extensions: ['diff', 'patch'],
|
|
432
|
-
async load() {
|
|
433
|
-
const m = await import('@codemirror/legacy-modes/mode/diff');
|
|
434
|
-
return legacy(m.diff);
|
|
435
|
-
}
|
|
436
|
-
}),
|
|
437
|
-
makeSpec({
|
|
438
|
-
name: 'Dockerfile',
|
|
439
|
-
mime: 'text/x-dockerfile',
|
|
440
|
-
filename: /^Dockerfile$/,
|
|
441
|
-
async load() {
|
|
442
|
-
const m = await import('@codemirror/legacy-modes/mode/dockerfile');
|
|
443
|
-
return legacy(m.dockerFile);
|
|
444
|
-
}
|
|
445
|
-
}),
|
|
446
|
-
makeSpec({
|
|
447
|
-
name: 'DTD',
|
|
448
|
-
mime: 'application/xml-dtd',
|
|
449
|
-
extensions: ['dtd'],
|
|
450
|
-
async load() {
|
|
451
|
-
const m = await import('@codemirror/legacy-modes/mode/dtd');
|
|
452
|
-
return legacy(m.dtd);
|
|
453
|
-
}
|
|
454
|
-
}),
|
|
455
|
-
makeSpec({
|
|
456
|
-
name: 'Dylan',
|
|
457
|
-
mime: 'text/x-dylan',
|
|
458
|
-
extensions: ['dylan', 'dyl', 'intr'],
|
|
459
|
-
async load() {
|
|
460
|
-
const m = await import('@codemirror/legacy-modes/mode/dylan');
|
|
461
|
-
return legacy(m.dylan);
|
|
462
|
-
}
|
|
463
|
-
}),
|
|
464
|
-
makeSpec({
|
|
465
|
-
name: 'EBNF',
|
|
466
|
-
mime: 'text/x-ebnf',
|
|
467
|
-
async load() {
|
|
468
|
-
const m = await import('@codemirror/legacy-modes/mode/ebnf');
|
|
469
|
-
return legacy(m.ebnf);
|
|
470
|
-
}
|
|
471
|
-
}),
|
|
472
|
-
makeSpec({
|
|
473
|
-
name: 'ECL',
|
|
474
|
-
mime: 'text/x-ecl',
|
|
475
|
-
extensions: ['ecl'],
|
|
476
|
-
async load() {
|
|
477
|
-
const m = await import('@codemirror/legacy-modes/mode/ecl');
|
|
478
|
-
return legacy(m.ecl);
|
|
479
|
-
}
|
|
480
|
-
}),
|
|
481
|
-
makeSpec({
|
|
482
|
-
name: 'edn',
|
|
483
|
-
mime: 'application/edn',
|
|
484
|
-
extensions: ['edn'],
|
|
485
|
-
async load() {
|
|
486
|
-
const m = await import('@codemirror/legacy-modes/mode/clojure');
|
|
487
|
-
return legacy(m.clojure);
|
|
488
|
-
}
|
|
489
|
-
}),
|
|
490
|
-
makeSpec({
|
|
491
|
-
name: 'Eiffel',
|
|
492
|
-
mime: 'text/x-eiffel',
|
|
493
|
-
extensions: ['e'],
|
|
494
|
-
async load() {
|
|
495
|
-
const m = await import('@codemirror/legacy-modes/mode/eiffel');
|
|
496
|
-
return legacy(m.eiffel);
|
|
497
|
-
}
|
|
498
|
-
}),
|
|
499
|
-
makeSpec({
|
|
500
|
-
name: 'Elm',
|
|
501
|
-
mime: 'text/x-elm',
|
|
502
|
-
extensions: ['elm'],
|
|
503
|
-
async load() {
|
|
504
|
-
const m = await import('@codemirror/legacy-modes/mode/elm');
|
|
505
|
-
return legacy(m.elm);
|
|
506
|
-
}
|
|
507
|
-
}),
|
|
508
|
-
makeSpec({
|
|
509
|
-
name: 'Erlang',
|
|
510
|
-
mime: 'text/x-erlang',
|
|
511
|
-
extensions: ['erl'],
|
|
512
|
-
async load() {
|
|
513
|
-
const m = await import('@codemirror/legacy-modes/mode/erlang');
|
|
514
|
-
return legacy(m.erlang);
|
|
515
|
-
}
|
|
516
|
-
}),
|
|
517
|
-
makeSpec({
|
|
518
|
-
name: 'Esper',
|
|
519
|
-
mime: 'text/x-esper',
|
|
520
|
-
async load() {
|
|
521
|
-
const m = await import('@codemirror/legacy-modes/mode/sql');
|
|
522
|
-
return legacy(m.esper);
|
|
523
|
-
}
|
|
524
|
-
}),
|
|
525
|
-
makeSpec({
|
|
526
|
-
name: 'Factor',
|
|
527
|
-
mime: 'text/x-factor',
|
|
528
|
-
extensions: ['factor'],
|
|
529
|
-
async load() {
|
|
530
|
-
const m = await import('@codemirror/legacy-modes/mode/factor');
|
|
531
|
-
return legacy(m.factor);
|
|
532
|
-
}
|
|
533
|
-
}),
|
|
534
|
-
makeSpec({
|
|
535
|
-
name: 'FCL',
|
|
536
|
-
mime: 'text/x-fcl',
|
|
537
|
-
async load() {
|
|
538
|
-
const m = await import('@codemirror/legacy-modes/mode/fcl');
|
|
539
|
-
return legacy(m.fcl);
|
|
540
|
-
}
|
|
541
|
-
}),
|
|
542
|
-
makeSpec({
|
|
543
|
-
name: 'Forth',
|
|
544
|
-
mime: 'text/x-forth',
|
|
545
|
-
extensions: ['forth', 'fth', '4th'],
|
|
546
|
-
async load() {
|
|
547
|
-
const m = await import('@codemirror/legacy-modes/mode/forth');
|
|
548
|
-
return legacy(m.forth);
|
|
549
|
-
}
|
|
550
|
-
}),
|
|
551
|
-
makeSpec({
|
|
552
|
-
name: 'Fortran',
|
|
553
|
-
mime: 'text/x-fortran',
|
|
554
|
-
extensions: ['f', 'for', 'f77', 'f90', 'f95'],
|
|
555
|
-
async load() {
|
|
556
|
-
const m = await import('@codemirror/legacy-modes/mode/fortran');
|
|
557
|
-
return legacy(m.fortran);
|
|
558
|
-
}
|
|
559
|
-
}),
|
|
560
|
-
makeSpec({
|
|
561
|
-
name: 'F#',
|
|
562
|
-
alias: ['fsharp'],
|
|
563
|
-
mime: 'text/x-fsharp',
|
|
564
|
-
extensions: ['fs'],
|
|
565
|
-
async load() {
|
|
566
|
-
const m = await import('@codemirror/legacy-modes/mode/mllike');
|
|
567
|
-
return legacy(m.fSharp);
|
|
568
|
-
}
|
|
569
|
-
}),
|
|
570
|
-
makeSpec({
|
|
571
|
-
name: 'Gas',
|
|
572
|
-
mime: 'text/x-gas',
|
|
573
|
-
extensions: ['s'],
|
|
574
|
-
async load() {
|
|
575
|
-
const m = await import('@codemirror/legacy-modes/mode/gas');
|
|
576
|
-
return legacy(m.gas);
|
|
577
|
-
}
|
|
578
|
-
}),
|
|
579
|
-
makeSpec({
|
|
580
|
-
name: 'Gherkin',
|
|
581
|
-
mime: 'text/x-feature',
|
|
582
|
-
extensions: ['feature'],
|
|
583
|
-
async load() {
|
|
584
|
-
const m = await import('@codemirror/legacy-modes/mode/gherkin');
|
|
585
|
-
return legacy(m.gherkin);
|
|
586
|
-
}
|
|
587
|
-
}),
|
|
588
|
-
makeSpec({
|
|
589
|
-
name: 'Go',
|
|
590
|
-
mime: 'text/x-go',
|
|
591
|
-
extensions: ['go'],
|
|
592
|
-
async load() {
|
|
593
|
-
const m = await import('@codemirror/legacy-modes/mode/go');
|
|
594
|
-
return legacy(m.go);
|
|
595
|
-
}
|
|
596
|
-
}),
|
|
597
|
-
makeSpec({
|
|
598
|
-
name: 'Groovy',
|
|
599
|
-
mime: 'text/x-groovy',
|
|
600
|
-
extensions: ['groovy', 'gradle'],
|
|
601
|
-
filename: /^Jenkinsfile$/,
|
|
602
|
-
async load() {
|
|
603
|
-
const m = await import('@codemirror/legacy-modes/mode/groovy');
|
|
604
|
-
return legacy(m.groovy);
|
|
605
|
-
}
|
|
606
|
-
}),
|
|
607
|
-
makeSpec({
|
|
608
|
-
name: 'Haskell',
|
|
609
|
-
mime: 'text/x-haskell',
|
|
610
|
-
extensions: ['hs'],
|
|
611
|
-
async load() {
|
|
612
|
-
const m = await import('@codemirror/legacy-modes/mode/haskell');
|
|
613
|
-
return legacy(m.haskell);
|
|
614
|
-
}
|
|
615
|
-
}),
|
|
616
|
-
makeSpec({
|
|
617
|
-
name: 'Haxe',
|
|
618
|
-
mime: 'text/x-haxe',
|
|
619
|
-
extensions: ['hx'],
|
|
620
|
-
async load() {
|
|
621
|
-
const m = await import('@codemirror/legacy-modes/mode/haxe');
|
|
622
|
-
return legacy(m.haxe);
|
|
623
|
-
}
|
|
624
|
-
}),
|
|
625
|
-
makeSpec({
|
|
626
|
-
name: 'HXML',
|
|
627
|
-
mime: 'text/x-hxml',
|
|
628
|
-
extensions: ['hxml'],
|
|
629
|
-
async load() {
|
|
630
|
-
const m = await import('@codemirror/legacy-modes/mode/haxe');
|
|
631
|
-
return legacy(m.hxml);
|
|
632
|
-
}
|
|
633
|
-
}),
|
|
634
|
-
makeSpec({
|
|
635
|
-
name: 'HTTP',
|
|
636
|
-
mime: 'message/http',
|
|
637
|
-
async load() {
|
|
638
|
-
const m = await import('@codemirror/legacy-modes/mode/http');
|
|
639
|
-
return legacy(m.http);
|
|
640
|
-
}
|
|
641
|
-
}),
|
|
642
|
-
makeSpec({
|
|
643
|
-
name: 'IDL',
|
|
644
|
-
mime: 'text/x-idl',
|
|
645
|
-
extensions: ['pro'],
|
|
646
|
-
async load() {
|
|
647
|
-
const m = await import('@codemirror/legacy-modes/mode/idl');
|
|
648
|
-
return legacy(m.idl);
|
|
649
|
-
}
|
|
650
|
-
}),
|
|
651
|
-
makeSpec({
|
|
652
|
-
name: 'JSON-LD',
|
|
653
|
-
alias: ['jsonld'],
|
|
654
|
-
mime: 'application/ld+json',
|
|
655
|
-
extensions: ['jsonld'],
|
|
656
|
-
async load() {
|
|
657
|
-
const m = await import('@codemirror/legacy-modes/mode/javascript');
|
|
658
|
-
return legacy(m.jsonld);
|
|
659
|
-
}
|
|
660
|
-
}),
|
|
661
|
-
makeSpec({
|
|
662
|
-
name: 'Jinja2',
|
|
663
|
-
mime: 'text/jinja2',
|
|
664
|
-
extensions: ['j2', 'jinja', 'jinja2'],
|
|
665
|
-
async load() {
|
|
666
|
-
const m = await import('@codemirror/legacy-modes/mode/jinja2');
|
|
667
|
-
return legacy(m.jinja2);
|
|
668
|
-
}
|
|
669
|
-
}),
|
|
670
|
-
makeSpec({
|
|
671
|
-
name: 'Julia',
|
|
672
|
-
mime: 'text/x-julia',
|
|
673
|
-
extensions: ['jl'],
|
|
674
|
-
async load() {
|
|
675
|
-
const m = await import('@codemirror/legacy-modes/mode/julia');
|
|
676
|
-
return legacy(m.julia);
|
|
677
|
-
}
|
|
678
|
-
}),
|
|
679
|
-
makeSpec({
|
|
680
|
-
name: 'Kotlin',
|
|
681
|
-
mime: 'text/x-kotlin',
|
|
682
|
-
extensions: ['kt'],
|
|
683
|
-
async load() {
|
|
684
|
-
const m = await import('@codemirror/legacy-modes/mode/clike');
|
|
685
|
-
return legacy(m.kotlin);
|
|
686
|
-
}
|
|
687
|
-
}),
|
|
688
|
-
makeSpec({
|
|
689
|
-
name: 'LESS',
|
|
690
|
-
mime: 'text/x-less',
|
|
691
|
-
extensions: ['less'],
|
|
692
|
-
async load() {
|
|
693
|
-
const m = await import('@codemirror/legacy-modes/mode/css');
|
|
694
|
-
return legacy(m.less);
|
|
695
|
-
}
|
|
696
|
-
}),
|
|
697
|
-
makeSpec({
|
|
698
|
-
name: 'LiveScript',
|
|
699
|
-
alias: ['ls'],
|
|
700
|
-
mime: 'text/x-livescript',
|
|
701
|
-
extensions: ['ls'],
|
|
702
|
-
async load() {
|
|
703
|
-
const m = await import('@codemirror/legacy-modes/mode/livescript');
|
|
704
|
-
return legacy(m.liveScript);
|
|
705
|
-
}
|
|
706
|
-
}),
|
|
707
|
-
makeSpec({
|
|
708
|
-
name: 'Lua',
|
|
709
|
-
mime: 'text/x-lua',
|
|
710
|
-
extensions: ['lua'],
|
|
711
|
-
async load() {
|
|
712
|
-
const m = await import('@codemirror/legacy-modes/mode/lua');
|
|
713
|
-
return legacy(m.lua);
|
|
714
|
-
}
|
|
715
|
-
}),
|
|
716
|
-
makeSpec({
|
|
717
|
-
name: 'mIRC',
|
|
718
|
-
mime: 'text/mirc',
|
|
719
|
-
async load() {
|
|
720
|
-
const m = await import('@codemirror/legacy-modes/mode/mirc');
|
|
721
|
-
return legacy(m.mirc);
|
|
722
|
-
}
|
|
723
|
-
}),
|
|
724
|
-
makeSpec({
|
|
725
|
-
name: 'Mathematica',
|
|
726
|
-
mime: 'text/x-mathematica',
|
|
727
|
-
extensions: ['m', 'nb', 'wl', 'wls'],
|
|
728
|
-
async load() {
|
|
729
|
-
const m = await import('@codemirror/legacy-modes/mode/mathematica');
|
|
730
|
-
return legacy(m.mathematica);
|
|
731
|
-
}
|
|
732
|
-
}),
|
|
733
|
-
makeSpec({
|
|
734
|
-
name: 'Modelica',
|
|
735
|
-
mime: 'text/x-modelica',
|
|
736
|
-
extensions: ['mo'],
|
|
737
|
-
async load() {
|
|
738
|
-
const m = await import('@codemirror/legacy-modes/mode/modelica');
|
|
739
|
-
return legacy(m.modelica);
|
|
740
|
-
}
|
|
741
|
-
}),
|
|
742
|
-
makeSpec({
|
|
743
|
-
name: 'MUMPS',
|
|
744
|
-
mime: 'text/x-mumps',
|
|
745
|
-
extensions: ['mps'],
|
|
746
|
-
async load() {
|
|
747
|
-
const m = await import('@codemirror/legacy-modes/mode/mumps');
|
|
748
|
-
return legacy(m.mumps);
|
|
749
|
-
}
|
|
750
|
-
}),
|
|
751
|
-
makeSpec({
|
|
752
|
-
name: 'mbox',
|
|
753
|
-
mime: 'application/mbox',
|
|
754
|
-
extensions: ['mbox'],
|
|
755
|
-
async load() {
|
|
756
|
-
const m = await import('@codemirror/legacy-modes/mode/mbox');
|
|
757
|
-
return legacy(m.mbox);
|
|
758
|
-
}
|
|
759
|
-
}),
|
|
760
|
-
makeSpec({
|
|
761
|
-
name: 'Nginx',
|
|
762
|
-
mime: 'text/x-nginx-conf',
|
|
763
|
-
filename: /nginx.*\.conf$/i,
|
|
764
|
-
async load() {
|
|
765
|
-
const m = await import('@codemirror/legacy-modes/mode/nginx');
|
|
766
|
-
return legacy(m.nginx);
|
|
767
|
-
}
|
|
768
|
-
}),
|
|
769
|
-
makeSpec({
|
|
770
|
-
name: 'NSIS',
|
|
771
|
-
mime: 'text/x-nsis',
|
|
772
|
-
extensions: ['nsh', 'nsi'],
|
|
773
|
-
async load() {
|
|
774
|
-
const m = await import('@codemirror/legacy-modes/mode/nsis');
|
|
775
|
-
return legacy(m.nsis);
|
|
776
|
-
}
|
|
777
|
-
}),
|
|
778
|
-
makeSpec({
|
|
779
|
-
name: 'NTriples',
|
|
780
|
-
mime: ['application/n-triples', 'application/n-quads', 'text/n-triples'],
|
|
781
|
-
extensions: ['nt', 'nq'],
|
|
782
|
-
async load() {
|
|
783
|
-
const m = await import('@codemirror/legacy-modes/mode/ntriples');
|
|
784
|
-
return legacy(m.ntriples);
|
|
785
|
-
}
|
|
786
|
-
}),
|
|
787
|
-
makeSpec({
|
|
788
|
-
name: 'Objective-C',
|
|
789
|
-
alias: ['objective-c', 'objc'],
|
|
790
|
-
mime: 'text/x-objectivec',
|
|
791
|
-
extensions: ['m'],
|
|
792
|
-
async load() {
|
|
793
|
-
const m = await import('@codemirror/legacy-modes/mode/clike');
|
|
794
|
-
return legacy(m.objectiveC);
|
|
795
|
-
}
|
|
796
|
-
}),
|
|
797
|
-
makeSpec({
|
|
798
|
-
name: 'Objective-C++',
|
|
799
|
-
alias: ['objective-c++', 'objc++'],
|
|
800
|
-
mime: 'text/x-objectivec++',
|
|
801
|
-
extensions: ['mm'],
|
|
802
|
-
async load() {
|
|
803
|
-
const m = await import('@codemirror/legacy-modes/mode/clike');
|
|
804
|
-
return legacy(m.objectiveCpp);
|
|
805
|
-
}
|
|
806
|
-
}),
|
|
807
|
-
makeSpec({
|
|
808
|
-
name: 'OCaml',
|
|
809
|
-
mime: 'text/x-ocaml',
|
|
810
|
-
extensions: ['ml', 'mli', 'mll', 'mly'],
|
|
811
|
-
async load() {
|
|
812
|
-
const m = await import('@codemirror/legacy-modes/mode/mllike');
|
|
813
|
-
return legacy(m.oCaml);
|
|
814
|
-
}
|
|
815
|
-
}),
|
|
816
|
-
makeSpec({
|
|
817
|
-
name: 'Octave',
|
|
818
|
-
mime: 'text/x-octave',
|
|
819
|
-
extensions: ['m'],
|
|
820
|
-
async load() {
|
|
821
|
-
const m = await import('@codemirror/legacy-modes/mode/octave');
|
|
822
|
-
return legacy(m.octave);
|
|
823
|
-
}
|
|
824
|
-
}),
|
|
825
|
-
makeSpec({
|
|
826
|
-
name: 'Oz',
|
|
827
|
-
mime: 'text/x-oz',
|
|
828
|
-
extensions: ['oz'],
|
|
829
|
-
async load() {
|
|
830
|
-
const m = await import('@codemirror/legacy-modes/mode/oz');
|
|
831
|
-
return legacy(m.oz);
|
|
832
|
-
}
|
|
833
|
-
}),
|
|
834
|
-
makeSpec({
|
|
835
|
-
name: 'Pascal',
|
|
836
|
-
mime: 'text/x-pascal',
|
|
837
|
-
extensions: ['p', 'pas'],
|
|
838
|
-
async load() {
|
|
839
|
-
const m = await import('@codemirror/legacy-modes/mode/pascal');
|
|
840
|
-
return legacy(m.pascal);
|
|
841
|
-
}
|
|
842
|
-
}),
|
|
843
|
-
makeSpec({
|
|
844
|
-
name: 'Perl',
|
|
845
|
-
mime: 'text/x-perl',
|
|
846
|
-
extensions: ['pl', 'pm'],
|
|
847
|
-
async load() {
|
|
848
|
-
const m = await import('@codemirror/legacy-modes/mode/perl');
|
|
849
|
-
return legacy(m.perl);
|
|
850
|
-
}
|
|
851
|
-
}),
|
|
852
|
-
makeSpec({
|
|
853
|
-
name: 'Pig',
|
|
854
|
-
mime: 'text/x-pig',
|
|
855
|
-
extensions: ['pig'],
|
|
856
|
-
async load() {
|
|
857
|
-
const m = await import('@codemirror/legacy-modes/mode/pig');
|
|
858
|
-
return legacy(m.pig);
|
|
859
|
-
}
|
|
860
|
-
}),
|
|
861
|
-
makeSpec({
|
|
862
|
-
name: 'PowerShell',
|
|
863
|
-
mime: 'application/x-powershell',
|
|
864
|
-
extensions: ['ps1', 'psd1', 'psm1'],
|
|
865
|
-
async load() {
|
|
866
|
-
const m = await import('@codemirror/legacy-modes/mode/powershell');
|
|
867
|
-
return legacy(m.powerShell);
|
|
868
|
-
}
|
|
869
|
-
}),
|
|
870
|
-
makeSpec({
|
|
871
|
-
name: 'Properties files',
|
|
872
|
-
alias: ['ini', 'properties'],
|
|
873
|
-
mime: 'text/x-properties',
|
|
874
|
-
extensions: ['properties', 'ini', 'in'],
|
|
875
|
-
async load() {
|
|
876
|
-
const m = await import('@codemirror/legacy-modes/mode/properties');
|
|
877
|
-
return legacy(m.properties);
|
|
878
|
-
}
|
|
879
|
-
}),
|
|
880
|
-
makeSpec({
|
|
881
|
-
name: 'ProtoBuf',
|
|
882
|
-
mime: 'text/x-protobuf',
|
|
883
|
-
extensions: ['proto'],
|
|
884
|
-
async load() {
|
|
885
|
-
const m = await import('@codemirror/legacy-modes/mode/protobuf');
|
|
886
|
-
return legacy(m.protobuf);
|
|
887
|
-
}
|
|
888
|
-
}),
|
|
889
|
-
makeSpec({
|
|
890
|
-
name: 'Puppet',
|
|
891
|
-
mime: 'text/x-puppet',
|
|
892
|
-
extensions: ['pp'],
|
|
893
|
-
async load() {
|
|
894
|
-
const m = await import('@codemirror/legacy-modes/mode/puppet');
|
|
895
|
-
return legacy(m.puppet);
|
|
896
|
-
}
|
|
897
|
-
}),
|
|
898
|
-
makeSpec({
|
|
899
|
-
name: 'Q',
|
|
900
|
-
mime: 'text/x-q',
|
|
901
|
-
extensions: ['q'],
|
|
902
|
-
async load() {
|
|
903
|
-
const m = await import('@codemirror/legacy-modes/mode/q');
|
|
904
|
-
return legacy(m.q);
|
|
905
|
-
}
|
|
906
|
-
}),
|
|
907
|
-
makeSpec({
|
|
908
|
-
name: 'R',
|
|
909
|
-
alias: ['rscript'],
|
|
910
|
-
mime: 'text/x-rsrc',
|
|
911
|
-
extensions: ['r', 'R'],
|
|
912
|
-
async load() {
|
|
913
|
-
const m = await import('@codemirror/legacy-modes/mode/r');
|
|
914
|
-
return legacy(m.r);
|
|
915
|
-
}
|
|
916
|
-
}),
|
|
917
|
-
makeSpec({
|
|
918
|
-
name: 'RPM Changes',
|
|
919
|
-
mime: 'text/x-rpm-changes',
|
|
920
|
-
async load() {
|
|
921
|
-
const m = await import('@codemirror/legacy-modes/mode/rpm');
|
|
922
|
-
return legacy(m.rpmChanges);
|
|
923
|
-
}
|
|
924
|
-
}),
|
|
925
|
-
makeSpec({
|
|
926
|
-
name: 'RPM Spec',
|
|
927
|
-
mime: 'text/x-rpm-spec',
|
|
928
|
-
extensions: ['spec'],
|
|
929
|
-
async load() {
|
|
930
|
-
const m = await import('@codemirror/legacy-modes/mode/rpm');
|
|
931
|
-
return legacy(m.rpmSpec);
|
|
932
|
-
}
|
|
933
|
-
}),
|
|
934
|
-
makeSpec({
|
|
935
|
-
name: 'Ruby',
|
|
936
|
-
alias: ['jruby', 'macruby', 'rake', 'rb', 'rbx'],
|
|
937
|
-
mime: 'text/x-ruby',
|
|
938
|
-
extensions: ['rb'],
|
|
939
|
-
async load() {
|
|
940
|
-
const m = await import('@codemirror/legacy-modes/mode/ruby');
|
|
941
|
-
return legacy(m.ruby);
|
|
942
|
-
}
|
|
943
|
-
}),
|
|
944
|
-
makeSpec({
|
|
945
|
-
name: 'SAS',
|
|
946
|
-
mime: 'text/x-sas',
|
|
947
|
-
extensions: ['sas'],
|
|
948
|
-
async load() {
|
|
949
|
-
const m = await import('@codemirror/legacy-modes/mode/sas');
|
|
950
|
-
return legacy(m.sas);
|
|
951
|
-
}
|
|
952
|
-
}),
|
|
953
|
-
makeSpec({
|
|
954
|
-
name: 'Scala',
|
|
955
|
-
mime: 'text/x-scala',
|
|
956
|
-
extensions: ['scala'],
|
|
957
|
-
async load() {
|
|
958
|
-
const m = await import('@codemirror/legacy-modes/mode/clike');
|
|
959
|
-
return legacy(m.scala);
|
|
960
|
-
}
|
|
961
|
-
}),
|
|
962
|
-
makeSpec({
|
|
963
|
-
name: 'Scheme',
|
|
964
|
-
mime: 'text/x-scheme',
|
|
965
|
-
extensions: ['scm', 'ss'],
|
|
966
|
-
async load() {
|
|
967
|
-
const m = await import('@codemirror/legacy-modes/mode/scheme');
|
|
968
|
-
return legacy(m.scheme);
|
|
969
|
-
}
|
|
970
|
-
}),
|
|
971
|
-
makeSpec({
|
|
972
|
-
name: 'SCSS',
|
|
973
|
-
mime: 'text/x-scss',
|
|
974
|
-
extensions: ['scss'],
|
|
975
|
-
async load() {
|
|
976
|
-
const m = await import('@codemirror/legacy-modes/mode/css');
|
|
977
|
-
return legacy(m.sCSS);
|
|
978
|
-
}
|
|
979
|
-
}),
|
|
980
|
-
makeSpec({
|
|
981
|
-
name: 'Shell',
|
|
982
|
-
alias: ['bash', 'sh', 'zsh'],
|
|
983
|
-
mime: ['text/x-sh', 'application/x-sh'],
|
|
984
|
-
extensions: ['sh', 'ksh', 'bash'],
|
|
985
|
-
filename: /^PKGBUILD$/,
|
|
986
|
-
async load() {
|
|
987
|
-
const m = await import('@codemirror/legacy-modes/mode/shell');
|
|
988
|
-
return legacy(m.shell);
|
|
989
|
-
}
|
|
990
|
-
}),
|
|
991
|
-
makeSpec({
|
|
992
|
-
name: 'Sieve',
|
|
993
|
-
mime: 'application/sieve',
|
|
994
|
-
extensions: ['siv', 'sieve'],
|
|
995
|
-
async load() {
|
|
996
|
-
const m = await import('@codemirror/legacy-modes/mode/sieve');
|
|
997
|
-
return legacy(m.sieve);
|
|
998
|
-
}
|
|
999
|
-
}),
|
|
1000
|
-
makeSpec({
|
|
1001
|
-
name: 'Smalltalk',
|
|
1002
|
-
mime: 'text/x-stsrc',
|
|
1003
|
-
extensions: ['st'],
|
|
1004
|
-
async load() {
|
|
1005
|
-
const m = await import('@codemirror/legacy-modes/mode/smalltalk');
|
|
1006
|
-
return legacy(m.smalltalk);
|
|
1007
|
-
}
|
|
1008
|
-
}),
|
|
1009
|
-
makeSpec({
|
|
1010
|
-
name: 'Solr',
|
|
1011
|
-
mime: 'text/x-solr',
|
|
1012
|
-
async load() {
|
|
1013
|
-
const m = await import('@codemirror/legacy-modes/mode/solr');
|
|
1014
|
-
return legacy(m.solr);
|
|
1015
|
-
}
|
|
1016
|
-
}),
|
|
1017
|
-
makeSpec({
|
|
1018
|
-
name: 'SML',
|
|
1019
|
-
mime: 'text/x-sml',
|
|
1020
|
-
extensions: ['sml', 'sig', 'fun', 'smackspec'],
|
|
1021
|
-
async load() {
|
|
1022
|
-
const m = await import('@codemirror/legacy-modes/mode/mllike');
|
|
1023
|
-
return legacy(m.sml);
|
|
1024
|
-
}
|
|
1025
|
-
}),
|
|
1026
|
-
makeSpec({
|
|
1027
|
-
name: 'SPARQL',
|
|
1028
|
-
alias: ['sparul'],
|
|
1029
|
-
mime: 'application/sparql-query',
|
|
1030
|
-
extensions: ['rq', 'sparql'],
|
|
1031
|
-
async load() {
|
|
1032
|
-
const m = await import('@codemirror/legacy-modes/mode/sparql');
|
|
1033
|
-
return legacy(m.sparql);
|
|
1034
|
-
}
|
|
1035
|
-
}),
|
|
1036
|
-
makeSpec({
|
|
1037
|
-
name: 'Spreadsheet',
|
|
1038
|
-
alias: ['excel', 'formula'],
|
|
1039
|
-
mime: 'text/x-spreadsheet',
|
|
1040
|
-
async load() {
|
|
1041
|
-
const m = await import('@codemirror/legacy-modes/mode/spreadsheet');
|
|
1042
|
-
return legacy(m.spreadsheet);
|
|
1043
|
-
}
|
|
1044
|
-
}),
|
|
1045
|
-
makeSpec({
|
|
1046
|
-
name: 'SQL',
|
|
1047
|
-
mime: 'text/x-sql',
|
|
1048
|
-
extensions: ['sql'],
|
|
1049
|
-
async load() {
|
|
1050
|
-
const m = await import('@codemirror/legacy-modes/mode/sql');
|
|
1051
|
-
return legacy(m.standardSQL);
|
|
1052
|
-
}
|
|
1053
|
-
}),
|
|
1054
|
-
makeSpec({
|
|
1055
|
-
name: 'SQLite',
|
|
1056
|
-
mime: 'text/x-sqlite',
|
|
1057
|
-
async load() {
|
|
1058
|
-
const m = await import('@codemirror/legacy-modes/mode/sql');
|
|
1059
|
-
return legacy(m.sqlite);
|
|
1060
|
-
}
|
|
1061
|
-
}),
|
|
1062
|
-
makeSpec({
|
|
1063
|
-
name: 'Squirrel',
|
|
1064
|
-
mime: 'text/x-squirrel',
|
|
1065
|
-
extensions: ['nut'],
|
|
1066
|
-
async load() {
|
|
1067
|
-
const m = await import('@codemirror/legacy-modes/mode/clike');
|
|
1068
|
-
return legacy(m.squirrel);
|
|
1069
|
-
}
|
|
1070
|
-
}),
|
|
1071
|
-
makeSpec({
|
|
1072
|
-
name: 'Stylus',
|
|
1073
|
-
mime: 'text/x-styl',
|
|
1074
|
-
extensions: ['styl'],
|
|
1075
|
-
async load() {
|
|
1076
|
-
const m = await import('@codemirror/legacy-modes/mode/stylus');
|
|
1077
|
-
return legacy(m.stylus);
|
|
1078
|
-
}
|
|
1079
|
-
}),
|
|
1080
|
-
makeSpec({
|
|
1081
|
-
name: 'Swift',
|
|
1082
|
-
mime: 'text/x-swift',
|
|
1083
|
-
extensions: ['swift'],
|
|
1084
|
-
async load() {
|
|
1085
|
-
const m = await import('@codemirror/legacy-modes/mode/swift');
|
|
1086
|
-
return legacy(m.swift);
|
|
1087
|
-
}
|
|
1088
|
-
}),
|
|
1089
|
-
makeSpec({
|
|
1090
|
-
name: 'sTeX',
|
|
1091
|
-
mime: 'text/x-stex',
|
|
1092
|
-
async load() {
|
|
1093
|
-
const m = await import('@codemirror/legacy-modes/mode/stex');
|
|
1094
|
-
return legacy(m.stex);
|
|
1095
|
-
}
|
|
1096
|
-
}),
|
|
1097
|
-
makeSpec({
|
|
1098
|
-
name: 'LaTeX',
|
|
1099
|
-
alias: ['tex'],
|
|
1100
|
-
mime: 'text/x-latex',
|
|
1101
|
-
extensions: ['text', 'ltx', 'tex'],
|
|
1102
|
-
async load() {
|
|
1103
|
-
const m = await import('@codemirror/legacy-modes/mode/stex');
|
|
1104
|
-
return legacy(m.stex);
|
|
1105
|
-
}
|
|
1106
|
-
}),
|
|
1107
|
-
makeSpec({
|
|
1108
|
-
name: 'SystemVerilog',
|
|
1109
|
-
mime: 'text/x-systemverilog',
|
|
1110
|
-
extensions: ['v', 'sv', 'svh'],
|
|
1111
|
-
async load() {
|
|
1112
|
-
const m = await import('@codemirror/legacy-modes/mode/verilog');
|
|
1113
|
-
return legacy(m.verilog);
|
|
1114
|
-
}
|
|
1115
|
-
}),
|
|
1116
|
-
makeSpec({
|
|
1117
|
-
name: 'Tcl',
|
|
1118
|
-
mime: 'text/x-tcl',
|
|
1119
|
-
extensions: ['tcl'],
|
|
1120
|
-
async load() {
|
|
1121
|
-
const m = await import('@codemirror/legacy-modes/mode/tcl');
|
|
1122
|
-
return legacy(m.tcl);
|
|
1123
|
-
}
|
|
1124
|
-
}),
|
|
1125
|
-
makeSpec({
|
|
1126
|
-
name: 'Textile',
|
|
1127
|
-
mime: 'text/x-textile',
|
|
1128
|
-
extensions: ['textile'],
|
|
1129
|
-
async load() {
|
|
1130
|
-
const m = await import('@codemirror/legacy-modes/mode/textile');
|
|
1131
|
-
return legacy(m.textile);
|
|
1132
|
-
}
|
|
1133
|
-
}),
|
|
1134
|
-
makeSpec({
|
|
1135
|
-
name: 'TiddlyWiki',
|
|
1136
|
-
mime: 'text/x-tiddlywiki',
|
|
1137
|
-
async load() {
|
|
1138
|
-
const m = await import('@codemirror/legacy-modes/mode/tiddlywiki');
|
|
1139
|
-
return legacy(m.tiddlyWiki);
|
|
1140
|
-
}
|
|
1141
|
-
}),
|
|
1142
|
-
makeSpec({
|
|
1143
|
-
name: 'Tiki wiki',
|
|
1144
|
-
mime: 'text/tiki',
|
|
1145
|
-
async load() {
|
|
1146
|
-
const m = await import('@codemirror/legacy-modes/mode/tiki');
|
|
1147
|
-
return legacy(m.tiki);
|
|
1148
|
-
}
|
|
1149
|
-
}),
|
|
1150
|
-
makeSpec({
|
|
1151
|
-
name: 'TOML',
|
|
1152
|
-
mime: 'text/x-toml',
|
|
1153
|
-
extensions: ['toml'],
|
|
1154
|
-
async load() {
|
|
1155
|
-
const m = await import('@codemirror/legacy-modes/mode/toml');
|
|
1156
|
-
return legacy(m.toml);
|
|
1157
|
-
}
|
|
1158
|
-
}),
|
|
1159
|
-
makeSpec({
|
|
1160
|
-
name: 'troff',
|
|
1161
|
-
mime: 'text/troff',
|
|
1162
|
-
extensions: ['1', '2', '3', '4', '5', '6', '7', '8', '9'],
|
|
1163
|
-
async load() {
|
|
1164
|
-
const m = await import('@codemirror/legacy-modes/mode/troff');
|
|
1165
|
-
return legacy(m.troff);
|
|
1166
|
-
}
|
|
1167
|
-
}),
|
|
1168
|
-
makeSpec({
|
|
1169
|
-
name: 'TTCN',
|
|
1170
|
-
mime: 'text/x-ttcn',
|
|
1171
|
-
extensions: ['ttcn', 'ttcn3', 'ttcnpp'],
|
|
1172
|
-
async load() {
|
|
1173
|
-
const m = await import('@codemirror/legacy-modes/mode/ttcn');
|
|
1174
|
-
return legacy(m.ttcn);
|
|
1175
|
-
}
|
|
1176
|
-
}),
|
|
1177
|
-
makeSpec({
|
|
1178
|
-
name: 'TTCN_CFG',
|
|
1179
|
-
mime: 'text/x-ttcn-cfg',
|
|
1180
|
-
extensions: ['cfg'],
|
|
1181
|
-
async load() {
|
|
1182
|
-
const m = await import('@codemirror/legacy-modes/mode/ttcn-cfg');
|
|
1183
|
-
return legacy(m.ttcnCfg);
|
|
1184
|
-
}
|
|
1185
|
-
}),
|
|
1186
|
-
makeSpec({
|
|
1187
|
-
name: 'Turtle',
|
|
1188
|
-
mime: 'text/turtle',
|
|
1189
|
-
extensions: ['ttl'],
|
|
1190
|
-
async load() {
|
|
1191
|
-
const m = await import('@codemirror/legacy-modes/mode/turtle');
|
|
1192
|
-
return legacy(m.turtle);
|
|
1193
|
-
}
|
|
1194
|
-
}),
|
|
1195
|
-
makeSpec({
|
|
1196
|
-
name: 'Web IDL',
|
|
1197
|
-
mime: 'text/x-webidl',
|
|
1198
|
-
extensions: ['webidl'],
|
|
1199
|
-
async load() {
|
|
1200
|
-
const m = await import('@codemirror/legacy-modes/mode/webidl');
|
|
1201
|
-
return legacy(m.webIDL);
|
|
1202
|
-
}
|
|
1203
|
-
}),
|
|
1204
|
-
makeSpec({
|
|
1205
|
-
name: 'VB.NET',
|
|
1206
|
-
mime: 'text/x-vb',
|
|
1207
|
-
extensions: ['vb'],
|
|
1208
|
-
async load() {
|
|
1209
|
-
const m = await import('@codemirror/legacy-modes/mode/vb');
|
|
1210
|
-
return legacy(m.vb);
|
|
1211
|
-
}
|
|
1212
|
-
}),
|
|
1213
|
-
makeSpec({
|
|
1214
|
-
name: 'VBScript',
|
|
1215
|
-
mime: 'text/vbscript',
|
|
1216
|
-
extensions: ['vbs'],
|
|
1217
|
-
async load() {
|
|
1218
|
-
const m = await import('@codemirror/legacy-modes/mode/vbscript');
|
|
1219
|
-
return legacy(m.vbScript);
|
|
1220
|
-
}
|
|
1221
|
-
}),
|
|
1222
|
-
makeSpec({
|
|
1223
|
-
name: 'Velocity',
|
|
1224
|
-
mime: 'text/velocity',
|
|
1225
|
-
extensions: ['vtl'],
|
|
1226
|
-
async load() {
|
|
1227
|
-
const m = await import('@codemirror/legacy-modes/mode/velocity');
|
|
1228
|
-
return legacy(m.velocity);
|
|
1229
|
-
}
|
|
1230
|
-
}),
|
|
1231
|
-
makeSpec({
|
|
1232
|
-
name: 'Verilog',
|
|
1233
|
-
mime: 'text/x-verilog',
|
|
1234
|
-
extensions: ['v'],
|
|
1235
|
-
async load() {
|
|
1236
|
-
const m = await import('@codemirror/legacy-modes/mode/verilog');
|
|
1237
|
-
return legacy(m.verilog);
|
|
1238
|
-
}
|
|
1239
|
-
}),
|
|
1240
|
-
makeSpec({
|
|
1241
|
-
name: 'VHDL',
|
|
1242
|
-
mime: 'text/x-vhdl',
|
|
1243
|
-
extensions: ['vhd', 'vhdl'],
|
|
1244
|
-
async load() {
|
|
1245
|
-
const m = await import('@codemirror/legacy-modes/mode/vhdl');
|
|
1246
|
-
return legacy(m.vhdl);
|
|
1247
|
-
}
|
|
1248
|
-
}),
|
|
1249
|
-
makeSpec({
|
|
1250
|
-
name: 'XQuery',
|
|
1251
|
-
mime: 'application/xquery',
|
|
1252
|
-
extensions: ['xy', 'xquery'],
|
|
1253
|
-
async load() {
|
|
1254
|
-
const m = await import('@codemirror/legacy-modes/mode/xquery');
|
|
1255
|
-
return legacy(m.xQuery);
|
|
1256
|
-
}
|
|
1257
|
-
}),
|
|
1258
|
-
makeSpec({
|
|
1259
|
-
name: 'Yacas',
|
|
1260
|
-
mime: 'text/x-yacas',
|
|
1261
|
-
extensions: ['ys'],
|
|
1262
|
-
async load() {
|
|
1263
|
-
const m = await import('@codemirror/legacy-modes/mode/yacas');
|
|
1264
|
-
return legacy(m.yacas);
|
|
1265
|
-
}
|
|
1266
|
-
}),
|
|
1267
|
-
makeSpec({
|
|
1268
|
-
name: 'YAML',
|
|
1269
|
-
alias: ['yml'],
|
|
1270
|
-
mime: ['text/x-yaml', 'text/yaml'],
|
|
1271
|
-
extensions: ['yaml', 'yml'],
|
|
1272
|
-
async load() {
|
|
1273
|
-
const m = await import('@codemirror/legacy-modes/mode/yaml');
|
|
1274
|
-
return legacy(m.yaml);
|
|
1275
|
-
}
|
|
1276
|
-
}),
|
|
1277
|
-
makeSpec({
|
|
1278
|
-
name: 'Z80',
|
|
1279
|
-
mime: 'text/x-z80',
|
|
1280
|
-
extensions: ['z80'],
|
|
1281
|
-
async load() {
|
|
1282
|
-
const m = await import('@codemirror/legacy-modes/mode/z80');
|
|
1283
|
-
return legacy(m.z80);
|
|
1284
|
-
}
|
|
1285
|
-
}),
|
|
1286
|
-
makeSpec({
|
|
1287
|
-
name: 'mscgen',
|
|
1288
|
-
mime: 'text/x-mscgen',
|
|
1289
|
-
extensions: ['mscgen', 'mscin', 'msc'],
|
|
1290
|
-
async load() {
|
|
1291
|
-
const m = await import('@codemirror/legacy-modes/mode/mscgen');
|
|
1292
|
-
return legacy(m.mscgen);
|
|
1293
|
-
}
|
|
1294
|
-
}),
|
|
1295
|
-
makeSpec({
|
|
1296
|
-
name: 'xu',
|
|
1297
|
-
mime: 'text/x-xu',
|
|
1298
|
-
extensions: ['xu'],
|
|
1299
|
-
async load() {
|
|
1300
|
-
const m = await import('@codemirror/legacy-modes/mode/mscgen');
|
|
1301
|
-
return legacy(m.xu);
|
|
1302
|
-
}
|
|
1303
|
-
}),
|
|
1304
|
-
makeSpec({
|
|
1305
|
-
name: 'msgenny',
|
|
1306
|
-
mime: 'text/x-msgenny',
|
|
1307
|
-
extensions: ['msgenny'],
|
|
1308
|
-
async load() {
|
|
1309
|
-
const m = await import('@codemirror/legacy-modes/mode/mscgen');
|
|
1310
|
-
return legacy(m.msgenny);
|
|
1311
|
-
}
|
|
1312
|
-
})
|
|
1313
|
-
];
|
|
1314
|
-
/**
|
|
1315
|
-
* Get the raw list of available modes specs.
|
|
1316
|
-
*
|
|
1317
|
-
* @alpha
|
|
1318
|
-
* @returns The available modes
|
|
1319
|
-
*/
|
|
1320
|
-
function getModeInfo() {
|
|
1321
|
-
return modeList;
|
|
1322
|
-
}
|
|
1323
|
-
Mode.getModeInfo = getModeInfo;
|
|
1324
|
-
/**
|
|
1325
|
-
* Find a codemirror mode by MIME.
|
|
1326
|
-
*
|
|
1327
|
-
* @alpha
|
|
1328
|
-
* @param mime Mime type to look for
|
|
1329
|
-
* @returns The mode or null
|
|
1330
|
-
*/
|
|
1331
|
-
function findByMIME(mime) {
|
|
1332
|
-
if (Array.isArray(mime)) {
|
|
1333
|
-
for (let i = 0; i < mime.length; i++) {
|
|
1334
|
-
const spec = findByMIME(mime[i]);
|
|
1335
|
-
if (spec)
|
|
1336
|
-
return spec;
|
|
1337
|
-
}
|
|
1338
|
-
return null;
|
|
1339
|
-
}
|
|
1340
|
-
mime = mime.toLowerCase();
|
|
1341
|
-
for (let i = 0; i < modeList.length; i++) {
|
|
1342
|
-
let info = modeList[i];
|
|
1343
|
-
if (Array.isArray(info.mime)) {
|
|
1344
|
-
for (let j = 0; j < info.mime.length; j++) {
|
|
1345
|
-
if (info.mime[j] == mime) {
|
|
1346
|
-
return info;
|
|
1347
|
-
}
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
else if (info.mime == mime) {
|
|
1351
|
-
return info;
|
|
1352
|
-
}
|
|
1353
|
-
}
|
|
1354
|
-
if (/\+xml$/.test(mime))
|
|
1355
|
-
return findByMIME('application/xml');
|
|
1356
|
-
if (/\+json$/.test(mime))
|
|
1357
|
-
return findByMIME('application/json');
|
|
1358
|
-
return null;
|
|
1359
|
-
}
|
|
1360
|
-
Mode.findByMIME = findByMIME;
|
|
1361
|
-
/**
|
|
1362
|
-
* Find a codemirror mode by name.
|
|
1363
|
-
*
|
|
1364
|
-
* @alpha
|
|
1365
|
-
* @param name The mode name
|
|
1366
|
-
* @returns The mode or null
|
|
1367
|
-
*/
|
|
1368
|
-
function findByName(name) {
|
|
1369
|
-
name = name.toLowerCase();
|
|
1370
|
-
for (let i = 0; i < modeList.length; i++) {
|
|
1371
|
-
let info = modeList[i];
|
|
1372
|
-
if (info.name.toLowerCase() == name)
|
|
1373
|
-
return info;
|
|
1374
|
-
if (info.alias) {
|
|
1375
|
-
for (let j = 0; j < info.alias.length; j++) {
|
|
1376
|
-
if (info.alias[j].toLowerCase() == name) {
|
|
1377
|
-
return info;
|
|
1378
|
-
}
|
|
1379
|
-
}
|
|
1380
|
-
}
|
|
1381
|
-
}
|
|
1382
|
-
return null;
|
|
1383
|
-
}
|
|
1384
|
-
Mode.findByName = findByName;
|
|
1385
|
-
/**
|
|
1386
|
-
* Find a codemirror mode by extension.
|
|
1387
|
-
*
|
|
1388
|
-
* @alpha
|
|
1389
|
-
* @param ext The extension name
|
|
1390
|
-
* @returns The mode or null
|
|
1391
|
-
*/
|
|
1392
|
-
function findByExtension(ext) {
|
|
1393
|
-
if (Array.isArray(ext)) {
|
|
1394
|
-
for (let i = 0; i < ext.length; i++) {
|
|
1395
|
-
const spec = findByExtension(ext[i]);
|
|
1396
|
-
if (spec)
|
|
1397
|
-
return spec;
|
|
1398
|
-
}
|
|
1399
|
-
return null;
|
|
1400
|
-
}
|
|
1401
|
-
ext = ext.toLowerCase();
|
|
1402
|
-
for (let i = 0; i < modeList.length; i++) {
|
|
1403
|
-
let info = modeList[i];
|
|
1404
|
-
for (let j = 0; j < info.extensions.length; j++) {
|
|
1405
|
-
if (info.extensions[j].toLowerCase() == ext) {
|
|
1406
|
-
return info;
|
|
1407
|
-
}
|
|
1408
|
-
}
|
|
1409
|
-
}
|
|
1410
|
-
return null;
|
|
1411
|
-
}
|
|
1412
|
-
Mode.findByExtension = findByExtension;
|
|
1413
|
-
/**
|
|
1414
|
-
* Find a codemirror mode by filename.
|
|
1415
|
-
*
|
|
1416
|
-
* @param name File name
|
|
1417
|
-
* @returns The mode or null
|
|
1418
|
-
*/
|
|
1419
|
-
function findByFileName(name) {
|
|
1420
|
-
const basename = PathExt.basename(name);
|
|
1421
|
-
for (let i = 0; i < modeList.length; i++) {
|
|
1422
|
-
let info = modeList[i];
|
|
1423
|
-
if (info.filename && info.filename.test(basename)) {
|
|
1424
|
-
return info;
|
|
1425
|
-
}
|
|
1426
|
-
}
|
|
1427
|
-
let dot = basename.lastIndexOf('.');
|
|
1428
|
-
let ext = dot > -1 && basename.substring(dot + 1, basename.length);
|
|
1429
|
-
if (ext) {
|
|
1430
|
-
return findByExtension(ext);
|
|
1431
|
-
}
|
|
1432
|
-
return null;
|
|
1433
|
-
}
|
|
1434
|
-
Mode.findByFileName = findByFileName;
|
|
1435
|
-
/**
|
|
1436
|
-
* Find a codemirror mode by name or CodeMirror spec.
|
|
1437
|
-
*
|
|
1438
|
-
* @alpha
|
|
1439
|
-
* @param mode The CodeMirror mode
|
|
1440
|
-
* @param fallback Whether to fallback to default mimetype spec or not
|
|
1441
|
-
* @returns The mode or null
|
|
1442
|
-
*/
|
|
1443
|
-
function findBest(mode, fallback = true) {
|
|
1444
|
-
var _a, _b, _c, _d;
|
|
1445
|
-
const modename = typeof mode === 'string' ? mode : mode.name;
|
|
1446
|
-
const mimetype = typeof mode !== 'string' ? mode.mime : modename;
|
|
1447
|
-
const ext = typeof mode !== 'string' ? (_a = mode.extensions) !== null && _a !== void 0 ? _a : [] : [];
|
|
1448
|
-
return ((_d = (_c = (_b = (modename ? findByName(modename) : null)) !== null && _b !== void 0 ? _b : (mimetype ? findByMIME(mimetype) : null)) !== null && _c !== void 0 ? _c : findByExtension(ext)) !== null && _d !== void 0 ? _d : (fallback ? findByMIME(IEditorMimeTypeService.defaultMimeType) : null));
|
|
1449
|
-
}
|
|
1450
|
-
Mode.findBest = findBest;
|
|
1451
|
-
/**
|
|
1452
|
-
* Ensure a codemirror mode is available by name or Codemirror spec.
|
|
1453
|
-
*
|
|
1454
|
-
* @param mode - The mode to ensure. If it is a string, uses [findBest]
|
|
1455
|
-
* to get the appropriate spec.
|
|
1456
|
-
*
|
|
1457
|
-
* @returns A promise that resolves when the mode is available.
|
|
1458
|
-
*/
|
|
1459
|
-
async function ensure(mode) {
|
|
1460
|
-
const spec = findBest(mode);
|
|
1461
|
-
if (spec) {
|
|
1462
|
-
spec.support = await spec.load();
|
|
1463
|
-
return spec;
|
|
1464
|
-
}
|
|
1465
|
-
return null;
|
|
1466
|
-
}
|
|
1467
|
-
Mode.ensure = ensure;
|
|
1468
|
-
/**
|
|
1469
|
-
* Register a new mode for CodeMirror
|
|
1470
|
-
*
|
|
1471
|
-
* @alpha
|
|
1472
|
-
* @param mode Mode to register
|
|
1473
|
-
*/
|
|
1474
|
-
function registerModeInfo(mode) {
|
|
1475
|
-
const info = findBest(mode, false);
|
|
1476
|
-
if (info) {
|
|
1477
|
-
throw new Error(`${mode.mime} already registered`);
|
|
1478
|
-
}
|
|
1479
|
-
modeList.push(makeSpec(mode));
|
|
1480
|
-
}
|
|
1481
|
-
Mode.registerModeInfo = registerModeInfo;
|
|
1482
|
-
/**
|
|
1483
|
-
* Parse and style a string.
|
|
1484
|
-
*
|
|
1485
|
-
* @alpha
|
|
1486
|
-
* @param code Code to highlight
|
|
1487
|
-
* @param mode Code mode
|
|
1488
|
-
* @param el HTML element into which the highlighted code will be inserted
|
|
1489
|
-
*/
|
|
1490
|
-
function run(code, mode, el) {
|
|
1491
|
-
var _a;
|
|
1492
|
-
const language = (_a = mode === null || mode === void 0 ? void 0 : mode.support) === null || _a === void 0 ? void 0 : _a.language;
|
|
1493
|
-
if (!language) {
|
|
1494
|
-
el.appendChild(document.createTextNode(code));
|
|
1495
|
-
return;
|
|
1496
|
-
}
|
|
1497
|
-
const tree = language.parser.parse(code);
|
|
1498
|
-
// position state required because unstyled tokens are not emitted
|
|
1499
|
-
// in highlightTree
|
|
1500
|
-
let pos = 0;
|
|
1501
|
-
highlightTree(tree, jupyterHighlightStyle, (from, to, classes) => {
|
|
1502
|
-
if (from > pos) {
|
|
1503
|
-
// No style applied to the token between pos and from
|
|
1504
|
-
el.appendChild(document.createTextNode(code.slice(pos, from)));
|
|
1505
|
-
}
|
|
1506
|
-
const sp = el.appendChild(document.createElement('span'));
|
|
1507
|
-
sp.className = classes;
|
|
1508
|
-
sp.appendChild(document.createTextNode(code.slice(from, to)));
|
|
1509
|
-
pos = to;
|
|
1510
|
-
});
|
|
1511
|
-
if (pos < tree.length - 1) {
|
|
1512
|
-
// No style applied on the trailing text
|
|
1513
|
-
el.appendChild(document.createTextNode(code.slice(pos, tree.length)));
|
|
1514
|
-
}
|
|
1515
|
-
}
|
|
1516
|
-
Mode.run = run;
|
|
1517
|
-
})(Mode || (Mode = {}));
|
|
1518
|
-
//# sourceMappingURL=mode.js.map
|