@jupyterlab/codemirror 4.0.0-rc.0 → 4.0.0
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/editor.d.ts +0 -1
- package/lib/editor.js +20 -27
- package/lib/editor.js.map +1 -1
- package/lib/extension.js +1 -1
- package/lib/extension.js.map +1 -1
- package/lib/extensions/index.d.ts +1 -0
- package/lib/extensions/index.js +1 -0
- package/lib/extensions/index.js.map +1 -1
- package/lib/extensions/ipython-md.d.ts +9 -0
- package/lib/extensions/ipython-md.js +110 -0
- package/lib/extensions/ipython-md.js.map +1 -0
- package/lib/searchprovider.d.ts +56 -8
- package/lib/searchprovider.js +103 -43
- package/lib/searchprovider.js.map +1 -1
- package/package.json +9 -8
- package/src/editor.ts +20 -26
- package/src/extension.ts +1 -1
- package/src/extensions/index.ts +1 -0
- package/src/extensions/ipython-md.ts +158 -0
- package/src/searchprovider.ts +154 -46
- package/style/base.css +10 -6
- package/lib/codemirror-ipythongfm.d.ts +0 -9
- package/lib/codemirror-ipythongfm.js +0 -108
- package/lib/codemirror-ipythongfm.js.map +0 -1
- package/src/codemirror-ipythongfm.ts +0 -109
package/lib/searchprovider.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { StateEffect, StateField } from '@codemirror/state';
|
|
3
|
+
import { EditorSelection, StateEffect, StateField } from '@codemirror/state';
|
|
4
4
|
import { Decoration, EditorView } from '@codemirror/view';
|
|
5
5
|
import { GenericSearchProvider, TextSearchEngine } from '@jupyterlab/documentsearch';
|
|
6
6
|
import { Signal } from '@lumino/signaling';
|
|
@@ -114,7 +114,7 @@ export class EditorSearchProvider {
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
/**
|
|
117
|
-
* Set whether search should be limitted to specified selection.
|
|
117
|
+
* Set whether search should be limitted to specified text selection.
|
|
118
118
|
*/
|
|
119
119
|
async setSearchSelection(selection) {
|
|
120
120
|
if (this._inSelection === selection) {
|
|
@@ -124,6 +124,19 @@ export class EditorSearchProvider {
|
|
|
124
124
|
await this.updateCodeMirror(this.model.sharedModel.getSource());
|
|
125
125
|
this._stateChanged.emit();
|
|
126
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Set whether user selection should be protected from modifications.
|
|
129
|
+
*
|
|
130
|
+
* If disabled, the selection will be updated on search and on editor focus
|
|
131
|
+
* to cover the current match. We need to protect selection from modifications
|
|
132
|
+
* for both: search in text and search in cells; since `setSearchSelection`
|
|
133
|
+
* is only telling us about search in text, we need to have an additional
|
|
134
|
+
* way to signal that either search in text or in cells is active, or for
|
|
135
|
+
* any other reason selection range should be protected.
|
|
136
|
+
*/
|
|
137
|
+
setProtectSelection(v) {
|
|
138
|
+
this.cmHandler.protectSelection = v;
|
|
139
|
+
}
|
|
127
140
|
/**
|
|
128
141
|
* Initialize the search using the provided options. Should update the UI
|
|
129
142
|
* to highlight all matches and "select" the first match.
|
|
@@ -152,13 +165,12 @@ export class EditorSearchProvider {
|
|
|
152
165
|
*
|
|
153
166
|
* @returns The next match if there is one.
|
|
154
167
|
*/
|
|
155
|
-
async highlightNext(loop = true,
|
|
168
|
+
async highlightNext(loop = true, options) {
|
|
156
169
|
if (this.matchesCount === 0 || !this.isActive) {
|
|
157
170
|
this.currentIndex = null;
|
|
158
171
|
}
|
|
159
172
|
else {
|
|
160
|
-
|
|
161
|
-
let match = await this.cmHandler.highlightNext(fromCursor);
|
|
173
|
+
let match = await this.cmHandler.highlightNext(options);
|
|
162
174
|
if (match) {
|
|
163
175
|
this.currentIndex = this.cmHandler.currentIndex;
|
|
164
176
|
}
|
|
@@ -177,13 +189,12 @@ export class EditorSearchProvider {
|
|
|
177
189
|
*
|
|
178
190
|
* @returns The previous match if there is one.
|
|
179
191
|
*/
|
|
180
|
-
async highlightPrevious(loop = true,
|
|
192
|
+
async highlightPrevious(loop = true, options) {
|
|
181
193
|
if (this.matchesCount === 0 || !this.isActive) {
|
|
182
194
|
this.currentIndex = null;
|
|
183
195
|
}
|
|
184
196
|
else {
|
|
185
|
-
|
|
186
|
-
let match = await this.cmHandler.highlightPrevious(fromCursor);
|
|
197
|
+
let match = await this.cmHandler.highlightPrevious(options);
|
|
187
198
|
if (match) {
|
|
188
199
|
this.currentIndex = this.cmHandler.currentIndex;
|
|
189
200
|
}
|
|
@@ -315,7 +326,11 @@ export class EditorSearchProvider {
|
|
|
315
326
|
// A special case to always have a current match when in line selection mode.
|
|
316
327
|
if (this.cmHandler.currentIndex === null &&
|
|
317
328
|
this.cmHandler.matches.length > 0) {
|
|
318
|
-
await this.cmHandler.highlightNext(
|
|
329
|
+
await this.cmHandler.highlightNext({
|
|
330
|
+
from: 'selection',
|
|
331
|
+
select: false,
|
|
332
|
+
scroll: false
|
|
333
|
+
});
|
|
319
334
|
}
|
|
320
335
|
this.currentIndex = this.cmHandler.currentIndex;
|
|
321
336
|
}
|
|
@@ -336,9 +351,9 @@ export class EditorSearchProvider {
|
|
|
336
351
|
*
|
|
337
352
|
* **NOTES:**
|
|
338
353
|
* - to retain the selection visibility `drawSelection` extension is needed.
|
|
339
|
-
* - highlighting starts from the cursor (if editor is focused
|
|
340
|
-
* or `
|
|
341
|
-
* otherwise.
|
|
354
|
+
* - highlighting starts from the cursor (if editor is focused and `from` is set
|
|
355
|
+
* to `'auto'`, cursor moved, or `from` argument is set to `'selection'` or
|
|
356
|
+
* `'selection-start'`), or from last "current" match otherwise.
|
|
342
357
|
* - `currentIndex` is the (readonly) source of truth for the current match.
|
|
343
358
|
*/
|
|
344
359
|
export class CodeMirrorSearchHighlighter {
|
|
@@ -378,6 +393,8 @@ export class CodeMirrorSearchHighlighter {
|
|
|
378
393
|
if (ef.is(this._highlightEffect)) {
|
|
379
394
|
const e = ef;
|
|
380
395
|
if (e.value.matches.length) {
|
|
396
|
+
// Note: nesting will vary; sometimes `.cm-searching` will be
|
|
397
|
+
// inside `.jp-current-match`, sometime the other way round.
|
|
381
398
|
highlights = highlights.update({
|
|
382
399
|
add: e.value.matches.map(m => this._highlightMark.range(m.position, m.position + m.text.length)),
|
|
383
400
|
// filter out old marks
|
|
@@ -401,6 +418,12 @@ export class CodeMirrorSearchHighlighter {
|
|
|
401
418
|
},
|
|
402
419
|
provide: f => EditorView.decorations.from(f)
|
|
403
420
|
});
|
|
421
|
+
this._domEventHandlers = EditorView.domEventHandlers({
|
|
422
|
+
focus: () => {
|
|
423
|
+
// Set cursor on active match when editor gets focused.
|
|
424
|
+
this._selectCurrentMatch();
|
|
425
|
+
}
|
|
426
|
+
});
|
|
404
427
|
}
|
|
405
428
|
/**
|
|
406
429
|
* The current index of the selected match.
|
|
@@ -420,7 +443,16 @@ export class CodeMirrorSearchHighlighter {
|
|
|
420
443
|
this._currentIndex > this._matches.length) {
|
|
421
444
|
this._currentIndex = this._matches.length > 0 ? 0 : null;
|
|
422
445
|
}
|
|
423
|
-
this._highlightCurrentMatch(
|
|
446
|
+
this._highlightCurrentMatch({ select: false });
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Whether the cursor/selection should not be modified.
|
|
450
|
+
*/
|
|
451
|
+
get protectSelection() {
|
|
452
|
+
return this._protectSelection;
|
|
453
|
+
}
|
|
454
|
+
set protectSelection(v) {
|
|
455
|
+
this._protectSelection = v;
|
|
424
456
|
}
|
|
425
457
|
/**
|
|
426
458
|
* Clear all highlighted matches
|
|
@@ -447,9 +479,10 @@ export class CodeMirrorSearchHighlighter {
|
|
|
447
479
|
*
|
|
448
480
|
* @returns The next match if available
|
|
449
481
|
*/
|
|
450
|
-
highlightNext(
|
|
451
|
-
|
|
452
|
-
this.
|
|
482
|
+
highlightNext(options) {
|
|
483
|
+
var _a;
|
|
484
|
+
this._currentIndex = this._findNext(false, (_a = options === null || options === void 0 ? void 0 : options.from) !== null && _a !== void 0 ? _a : 'auto');
|
|
485
|
+
this._highlightCurrentMatch(options);
|
|
453
486
|
return Promise.resolve(this._currentIndex !== null
|
|
454
487
|
? this._matches[this._currentIndex]
|
|
455
488
|
: undefined);
|
|
@@ -459,9 +492,10 @@ export class CodeMirrorSearchHighlighter {
|
|
|
459
492
|
*
|
|
460
493
|
* @returns The previous match if available
|
|
461
494
|
*/
|
|
462
|
-
highlightPrevious(
|
|
463
|
-
|
|
464
|
-
this.
|
|
495
|
+
highlightPrevious(options) {
|
|
496
|
+
var _a;
|
|
497
|
+
this._currentIndex = this._findNext(true, (_a = options === null || options === void 0 ? void 0 : options.from) !== null && _a !== void 0 ? _a : 'auto');
|
|
498
|
+
this._highlightCurrentMatch(options);
|
|
465
499
|
return Promise.resolve(this._currentIndex !== null
|
|
466
500
|
? this._matches[this._currentIndex]
|
|
467
501
|
: undefined);
|
|
@@ -480,10 +514,23 @@ export class CodeMirrorSearchHighlighter {
|
|
|
480
514
|
if (this._currentIndex !== null) {
|
|
481
515
|
this._highlightCurrentMatch();
|
|
482
516
|
}
|
|
517
|
+
this._cm.editor.dispatch({
|
|
518
|
+
effects: StateEffect.appendConfig.of(this._domEventHandlers)
|
|
519
|
+
});
|
|
483
520
|
this._refresh();
|
|
484
521
|
}
|
|
485
522
|
}
|
|
486
|
-
_selectCurrentMatch() {
|
|
523
|
+
_selectCurrentMatch(scroll = true) {
|
|
524
|
+
// This method has two responsibilities:
|
|
525
|
+
// 1) Scroll the current match into the view - useful for long lines,
|
|
526
|
+
// and file editors with more lines that fit on the screen
|
|
527
|
+
// 2) When user has focus on the editor (not search box) and presses
|
|
528
|
+
// ctrl + g/ctrl + shift + g to jump to next match they want their
|
|
529
|
+
// cursor to jump too.
|
|
530
|
+
// We execute (1) and (2) together as CodeMirror has a special code path
|
|
531
|
+
// to handle both in a single dispatch.
|
|
532
|
+
// The (2) case is inapplicable to search in selection mode, as it would
|
|
533
|
+
// invalidate the query selection, so in that case we only execute (1).
|
|
487
534
|
const match = this._current;
|
|
488
535
|
if (!match) {
|
|
489
536
|
return;
|
|
@@ -491,21 +538,32 @@ export class CodeMirrorSearchHighlighter {
|
|
|
491
538
|
if (!this._cm) {
|
|
492
539
|
return;
|
|
493
540
|
}
|
|
494
|
-
const selection = this._cm.editor.state.selection.main;
|
|
495
|
-
if (selection.from === match.position &&
|
|
496
|
-
selection.to === match.position + match.text.length) {
|
|
497
|
-
return;
|
|
498
|
-
}
|
|
499
541
|
const cursor = {
|
|
500
542
|
anchor: match.position,
|
|
501
543
|
head: match.position + match.text.length
|
|
502
544
|
};
|
|
503
|
-
this._cm.editor.
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
545
|
+
const selection = this._cm.editor.state.selection.main;
|
|
546
|
+
if ((selection.from === match.position &&
|
|
547
|
+
selection.to === match.position + match.text.length) ||
|
|
548
|
+
this._protectSelection) {
|
|
549
|
+
// Correct selection is already set or search is restricted to selection:
|
|
550
|
+
// scroll without changing the selection.
|
|
551
|
+
if (scroll) {
|
|
552
|
+
this._cm.editor.dispatch({
|
|
553
|
+
effects: EditorView.scrollIntoView(EditorSelection.range(cursor.anchor, cursor.head))
|
|
554
|
+
});
|
|
555
|
+
return;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
else {
|
|
559
|
+
this._cm.editor.dispatch({
|
|
560
|
+
selection: cursor,
|
|
561
|
+
scrollIntoView: scroll
|
|
562
|
+
});
|
|
563
|
+
}
|
|
507
564
|
}
|
|
508
|
-
_highlightCurrentMatch(
|
|
565
|
+
_highlightCurrentMatch(options) {
|
|
566
|
+
var _a, _b, _c;
|
|
509
567
|
if (!this._cm) {
|
|
510
568
|
// no-op
|
|
511
569
|
return;
|
|
@@ -514,13 +572,15 @@ export class CodeMirrorSearchHighlighter {
|
|
|
514
572
|
if (this._currentIndex !== null) {
|
|
515
573
|
const match = this.matches[this._currentIndex];
|
|
516
574
|
this._current = match;
|
|
517
|
-
//
|
|
518
|
-
|
|
575
|
+
// We do not change selection nor scroll if:
|
|
576
|
+
// - user is selecting text,
|
|
577
|
+
// - document was modified
|
|
578
|
+
if ((_a = options === null || options === void 0 ? void 0 : options.select) !== null && _a !== void 0 ? _a : true) {
|
|
519
579
|
if (this._cm.hasFocus()) {
|
|
520
580
|
// If editor is focused we actually set the cursor on the match.
|
|
521
|
-
this._selectCurrentMatch();
|
|
581
|
+
this._selectCurrentMatch((_b = options === null || options === void 0 ? void 0 : options.scroll) !== null && _b !== void 0 ? _b : true);
|
|
522
582
|
}
|
|
523
|
-
else {
|
|
583
|
+
else if ((_c = options === null || options === void 0 ? void 0 : options.scroll) !== null && _c !== void 0 ? _c : true) {
|
|
524
584
|
// otherwise we just scroll to preserve the selection.
|
|
525
585
|
this._cm.editor.dispatch({
|
|
526
586
|
effects: EditorView.scrollIntoView(match.position)
|
|
@@ -546,26 +606,26 @@ export class CodeMirrorSearchHighlighter {
|
|
|
546
606
|
];
|
|
547
607
|
if (!this._cm.state.field(this._highlightField, false)) {
|
|
548
608
|
effects.push(StateEffect.appendConfig.of([this._highlightField]));
|
|
549
|
-
// set cursor on active match when editor gets focused
|
|
550
|
-
const focusExtension = EditorView.domEventHandlers({
|
|
551
|
-
focus: () => {
|
|
552
|
-
this._selectCurrentMatch();
|
|
553
|
-
}
|
|
554
|
-
});
|
|
555
|
-
effects.push(StateEffect.appendConfig.of([focusExtension]));
|
|
556
609
|
}
|
|
557
610
|
this._cm.editor.dispatch({ effects });
|
|
558
611
|
}
|
|
559
|
-
_findNext(reverse,
|
|
612
|
+
_findNext(reverse, from = 'auto') {
|
|
560
613
|
if (this._matches.length === 0) {
|
|
561
614
|
// No-op
|
|
562
615
|
return null;
|
|
563
616
|
}
|
|
564
617
|
let lastPosition = 0;
|
|
565
|
-
if (this._cm.hasFocus() ||
|
|
618
|
+
if ((from === 'auto' && this._cm.hasFocus()) || from === 'selection') {
|
|
566
619
|
const cursor = this._cm.state.selection.main;
|
|
567
620
|
lastPosition = reverse ? cursor.anchor : cursor.head;
|
|
568
621
|
}
|
|
622
|
+
else if (from === 'selection-start') {
|
|
623
|
+
const cursor = this._cm.state.selection.main;
|
|
624
|
+
lastPosition = Math.min(cursor.anchor, cursor.head);
|
|
625
|
+
}
|
|
626
|
+
else if (from === 'start') {
|
|
627
|
+
lastPosition = 0;
|
|
628
|
+
}
|
|
569
629
|
else if (this._current) {
|
|
570
630
|
lastPosition = reverse
|
|
571
631
|
? this._current.position
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchprovider.js","sourceRoot":"","sources":["../src/searchprovider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"searchprovider.js","sourceRoot":"","sources":["../src/searchprovider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/codemirror",
|
|
3
|
-
"version": "4.0.0
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "JupyterLab - CodeMirror Editor Provider",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -59,27 +59,28 @@
|
|
|
59
59
|
"@codemirror/state": "^6.2.0",
|
|
60
60
|
"@codemirror/view": "^6.9.6",
|
|
61
61
|
"@jupyter/ydoc": "^1.0.2",
|
|
62
|
-
"@jupyterlab/codeeditor": "^4.0.0
|
|
63
|
-
"@jupyterlab/coreutils": "^6.0.0
|
|
64
|
-
"@jupyterlab/documentsearch": "^4.0.0
|
|
65
|
-
"@jupyterlab/nbformat": "^4.0.0
|
|
66
|
-
"@jupyterlab/translation": "^4.0.0
|
|
62
|
+
"@jupyterlab/codeeditor": "^4.0.0",
|
|
63
|
+
"@jupyterlab/coreutils": "^6.0.0",
|
|
64
|
+
"@jupyterlab/documentsearch": "^4.0.0",
|
|
65
|
+
"@jupyterlab/nbformat": "^4.0.0",
|
|
66
|
+
"@jupyterlab/translation": "^4.0.0",
|
|
67
67
|
"@lezer/common": "^1.0.2",
|
|
68
68
|
"@lezer/generator": "^1.2.2",
|
|
69
69
|
"@lezer/highlight": "^1.1.4",
|
|
70
|
+
"@lezer/markdown": "^1.0.2",
|
|
70
71
|
"@lumino/coreutils": "^2.1.1",
|
|
71
72
|
"@lumino/disposable": "^2.1.1",
|
|
72
73
|
"@lumino/signaling": "^2.1.1",
|
|
73
74
|
"yjs": "^13.5.40"
|
|
74
75
|
},
|
|
75
76
|
"devDependencies": {
|
|
76
|
-
"@jupyterlab/testing": "^4.0.0
|
|
77
|
+
"@jupyterlab/testing": "^4.0.0",
|
|
77
78
|
"@lezer/generator": "^1.2.2",
|
|
78
79
|
"@lezer/lr": "^1.3.3",
|
|
79
80
|
"@types/jest": "^29.2.0",
|
|
80
81
|
"jest": "^29.2.0",
|
|
81
82
|
"rimraf": "~3.0.0",
|
|
82
|
-
"typedoc": "~0.24.
|
|
83
|
+
"typedoc": "~0.24.7",
|
|
83
84
|
"typescript": "~5.0.4"
|
|
84
85
|
},
|
|
85
86
|
"publishConfig": {
|
package/src/editor.ts
CHANGED
|
@@ -18,7 +18,6 @@ import { CodeEditor } from '@jupyterlab/codeeditor';
|
|
|
18
18
|
import { SyntaxNodeRef } from '@lezer/common';
|
|
19
19
|
import { UUID } from '@lumino/coreutils';
|
|
20
20
|
import { Signal } from '@lumino/signaling';
|
|
21
|
-
import './codemirror-ipythongfm';
|
|
22
21
|
import { ExtensionsHandler } from './extension';
|
|
23
22
|
import { EditorLanguageRegistry } from './language';
|
|
24
23
|
import {
|
|
@@ -492,16 +491,14 @@ export class CodeMirrorEditor implements CodeEditor.IEditor {
|
|
|
492
491
|
const tree = ensureSyntaxTree(this.state, this.doc.length);
|
|
493
492
|
if (tree) {
|
|
494
493
|
tree.iterate({
|
|
495
|
-
enter: (
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
494
|
+
enter: (ref: SyntaxNodeRef) => {
|
|
495
|
+
if (ref.node.firstChild === null) {
|
|
496
|
+
tokens.push({
|
|
497
|
+
value: this.state.sliceDoc(ref.from, ref.to),
|
|
498
|
+
offset: ref.from,
|
|
499
|
+
type: ref.name
|
|
500
|
+
});
|
|
499
501
|
}
|
|
500
|
-
tokens.push({
|
|
501
|
-
value: this.state.sliceDoc(node.from, node.to),
|
|
502
|
-
offset: node.from,
|
|
503
|
-
type: node.name
|
|
504
|
-
});
|
|
505
502
|
return true;
|
|
506
503
|
}
|
|
507
504
|
});
|
|
@@ -517,32 +514,29 @@ export class CodeMirrorEditor implements CodeEditor.IEditor {
|
|
|
517
514
|
let token: CodeEditor.IToken | null = null;
|
|
518
515
|
if (tree) {
|
|
519
516
|
tree.iterate({
|
|
520
|
-
enter: (
|
|
521
|
-
// If
|
|
522
|
-
if (
|
|
517
|
+
enter: (ref: SyntaxNodeRef) => {
|
|
518
|
+
// If a token has already been discovered, stop iterating.
|
|
519
|
+
if (token) {
|
|
520
|
+
return false;
|
|
521
|
+
}
|
|
522
|
+
// If it is not a leaf, keep iterating.
|
|
523
|
+
if (ref.node.firstChild) {
|
|
523
524
|
return true;
|
|
524
525
|
}
|
|
525
|
-
|
|
526
|
+
// If the relevant leaf token has been found, stop iterating.
|
|
527
|
+
if (offset >= ref.from && offset <= ref.to) {
|
|
526
528
|
token = {
|
|
527
|
-
value: this.state.sliceDoc(
|
|
528
|
-
offset:
|
|
529
|
-
type:
|
|
529
|
+
value: this.state.sliceDoc(ref.from, ref.to),
|
|
530
|
+
offset: ref.from,
|
|
531
|
+
type: ref.name
|
|
530
532
|
};
|
|
531
|
-
// We have just found the relevant leaf token, no need to iterate further
|
|
532
533
|
return false;
|
|
533
534
|
}
|
|
534
535
|
return true;
|
|
535
536
|
}
|
|
536
537
|
});
|
|
537
538
|
}
|
|
538
|
-
|
|
539
|
-
return token;
|
|
540
|
-
} else {
|
|
541
|
-
return {
|
|
542
|
-
value: '',
|
|
543
|
-
offset: offset
|
|
544
|
-
};
|
|
545
|
-
}
|
|
539
|
+
return token || { offset, value: '' };
|
|
546
540
|
}
|
|
547
541
|
|
|
548
542
|
/**
|
package/src/extension.ts
CHANGED
|
@@ -597,7 +597,7 @@ export namespace EditorExtensionRegistry {
|
|
|
597
597
|
} = {}
|
|
598
598
|
): ReadonlyArray<Readonly<IEditorExtensionFactory<any>>> {
|
|
599
599
|
const { themes, translator } = options;
|
|
600
|
-
const trans = (translator ?? nullTranslator).load('
|
|
600
|
+
const trans = (translator ?? nullTranslator).load('jupyterlab');
|
|
601
601
|
const extensions: IEditorExtensionFactory<any>[] = [
|
|
602
602
|
Object.freeze({
|
|
603
603
|
name: 'autoClosingBrackets',
|
package/src/extensions/index.ts
CHANGED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
// Copyright (c) Jupyter Development Team.
|
|
2
|
+
// Distributed under the terms of the Modified BSD License.
|
|
3
|
+
|
|
4
|
+
import { parseMixed, Parser } from '@lezer/common';
|
|
5
|
+
import { tags } from '@lezer/highlight';
|
|
6
|
+
import {
|
|
7
|
+
DelimiterType,
|
|
8
|
+
InlineContext,
|
|
9
|
+
MarkdownConfig,
|
|
10
|
+
NodeSpec
|
|
11
|
+
} from '@lezer/markdown';
|
|
12
|
+
|
|
13
|
+
// Mathematical expression delimiters
|
|
14
|
+
const INLINE_MATH_DOLLAR = 'InlineMathDollar';
|
|
15
|
+
const INLINE_MATH_BRACKET = 'InlineMathBracket';
|
|
16
|
+
const BLOCK_MATH_DOLLAR = 'BlockMathDollar';
|
|
17
|
+
const BLOCK_MATH_BRACKET = 'BlockMathBracket';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Lengh of the delimiter for a math expression
|
|
21
|
+
*/
|
|
22
|
+
const DELIMITER_LENGTH: Record<string, number> = {
|
|
23
|
+
[INLINE_MATH_DOLLAR]: 1,
|
|
24
|
+
[INLINE_MATH_BRACKET]: 3,
|
|
25
|
+
[BLOCK_MATH_DOLLAR]: 2,
|
|
26
|
+
[BLOCK_MATH_BRACKET]: 3
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Delimiters for math expressions
|
|
31
|
+
*/
|
|
32
|
+
// Delimiters must be defined as constant because they are used in object match tests
|
|
33
|
+
const DELIMITERS = Object.keys(DELIMITER_LENGTH).reduce<
|
|
34
|
+
Record<string, DelimiterType>
|
|
35
|
+
>((agg, name) => {
|
|
36
|
+
agg[name] = { mark: `${name}Mark`, resolve: name };
|
|
37
|
+
return agg;
|
|
38
|
+
}, {});
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Define an IPython mathematical expression parser for Markdown.
|
|
42
|
+
*
|
|
43
|
+
* @param latexParser CodeMirror {@link Parser} for LaTeX mathematical expression
|
|
44
|
+
* @returns Markdown extension
|
|
45
|
+
*/
|
|
46
|
+
export function parseMathIPython(latexParser?: Parser): MarkdownConfig {
|
|
47
|
+
const defineNodes = new Array<NodeSpec>();
|
|
48
|
+
Object.keys(DELIMITER_LENGTH).forEach(name => {
|
|
49
|
+
defineNodes.push(
|
|
50
|
+
{
|
|
51
|
+
name,
|
|
52
|
+
style: tags.emphasis
|
|
53
|
+
},
|
|
54
|
+
{ name: `${name}Mark`, style: tags.processingInstruction }
|
|
55
|
+
);
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
defineNodes,
|
|
59
|
+
parseInline: [
|
|
60
|
+
{
|
|
61
|
+
name: BLOCK_MATH_DOLLAR,
|
|
62
|
+
parse(cx: InlineContext, next: number, pos: number): number {
|
|
63
|
+
if (next != 36 /* '$' */ || cx.char(pos + 1) != 36) {
|
|
64
|
+
return -1;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return cx.addDelimiter(
|
|
68
|
+
DELIMITERS[BLOCK_MATH_DOLLAR],
|
|
69
|
+
pos,
|
|
70
|
+
pos + DELIMITER_LENGTH[BLOCK_MATH_DOLLAR],
|
|
71
|
+
true,
|
|
72
|
+
true
|
|
73
|
+
);
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: INLINE_MATH_DOLLAR,
|
|
78
|
+
parse(cx: InlineContext, next: number, pos: number): number {
|
|
79
|
+
if (next != 36 /* '$' */ || cx.char(pos + 1) == 36) {
|
|
80
|
+
return -1;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return cx.addDelimiter(
|
|
84
|
+
DELIMITERS[INLINE_MATH_DOLLAR],
|
|
85
|
+
pos,
|
|
86
|
+
pos + DELIMITER_LENGTH[INLINE_MATH_DOLLAR],
|
|
87
|
+
true,
|
|
88
|
+
true
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
// Inline expression wrapped in \\( ... \\)
|
|
93
|
+
{
|
|
94
|
+
name: INLINE_MATH_BRACKET,
|
|
95
|
+
before: 'Escape', // Search for this delimiter before the escape character
|
|
96
|
+
parse(cx: InlineContext, next: number, pos: number): number {
|
|
97
|
+
if (
|
|
98
|
+
next != 92 /* '\' */ ||
|
|
99
|
+
cx.char(pos + 1) != 92 ||
|
|
100
|
+
![40 /* '(' */, 41 /* ')' */].includes(cx.char(pos + 2))
|
|
101
|
+
) {
|
|
102
|
+
return -1;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return cx.addDelimiter(
|
|
106
|
+
DELIMITERS[INLINE_MATH_BRACKET],
|
|
107
|
+
pos,
|
|
108
|
+
pos + DELIMITER_LENGTH[INLINE_MATH_BRACKET],
|
|
109
|
+
cx.char(pos + 2) == 40,
|
|
110
|
+
cx.char(pos + 2) == 41
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
// Block expression wrapped in \\[ ... \\]
|
|
115
|
+
{
|
|
116
|
+
name: BLOCK_MATH_BRACKET,
|
|
117
|
+
before: 'Escape', // Search for this delimiter before the escape character
|
|
118
|
+
parse(cx: InlineContext, next: number, pos: number): number {
|
|
119
|
+
if (
|
|
120
|
+
next != 92 /* '\' */ ||
|
|
121
|
+
cx.char(pos + 1) != 92 ||
|
|
122
|
+
![91 /* '[' */, 93 /* ']' */].includes(cx.char(pos + 2))
|
|
123
|
+
) {
|
|
124
|
+
return -1;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return cx.addDelimiter(
|
|
128
|
+
DELIMITERS[BLOCK_MATH_BRACKET],
|
|
129
|
+
pos,
|
|
130
|
+
pos + DELIMITER_LENGTH[BLOCK_MATH_BRACKET],
|
|
131
|
+
cx.char(pos + 2) == 91,
|
|
132
|
+
cx.char(pos + 2) == 93
|
|
133
|
+
);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
],
|
|
137
|
+
wrap: latexParser
|
|
138
|
+
? parseMixed((node, input) => {
|
|
139
|
+
// Test if the node type is one of the math expression
|
|
140
|
+
const delimiterLength = DELIMITER_LENGTH[node.type.name];
|
|
141
|
+
if (delimiterLength) {
|
|
142
|
+
return {
|
|
143
|
+
parser: latexParser,
|
|
144
|
+
// Remove delimiter from LaTeX parser otherwise it won't be highlighted
|
|
145
|
+
overlay: [
|
|
146
|
+
{
|
|
147
|
+
from: node.from + delimiterLength,
|
|
148
|
+
to: node.to - delimiterLength
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return null;
|
|
155
|
+
})
|
|
156
|
+
: undefined
|
|
157
|
+
};
|
|
158
|
+
}
|