@jupyterlab/codemirror 4.0.0-alpha.20 → 4.0.0-alpha.21
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/extension.js +11 -2
- package/lib/extension.js.map +1 -1
- package/lib/extensions/ybinding.d.ts +6 -2
- package/lib/extensions/ybinding.js +18 -2
- package/lib/extensions/ybinding.js.map +1 -1
- package/lib/searchprovider.d.ts +27 -5
- package/lib/searchprovider.js +154 -64
- package/lib/searchprovider.js.map +1 -1
- package/package.json +12 -12
- package/src/extension.ts +14 -2
- package/src/extensions/ybinding.ts +31 -3
- package/src/searchprovider.ts +190 -77
- package/style/base.css +16 -4
package/lib/searchprovider.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
// Copyright (c) Jupyter Development Team.
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
|
-
import { JSONExt } from '@lumino/coreutils';
|
|
4
3
|
import { StateEffect, StateField } from '@codemirror/state';
|
|
5
4
|
import { Decoration, EditorView } from '@codemirror/view';
|
|
6
5
|
import { GenericSearchProvider, TextSearchEngine } from '@jupyterlab/documentsearch';
|
|
@@ -22,6 +21,7 @@ export class EditorSearchProvider {
|
|
|
22
21
|
*/
|
|
23
22
|
this.query = null;
|
|
24
23
|
this._isActive = true;
|
|
24
|
+
this._inSelection = null;
|
|
25
25
|
this._isDisposed = false;
|
|
26
26
|
this._cmHandler = null;
|
|
27
27
|
this.currentIndex = null;
|
|
@@ -100,9 +100,10 @@ export class EditorSearchProvider {
|
|
|
100
100
|
* @param v New value
|
|
101
101
|
*/
|
|
102
102
|
async setIsActive(v) {
|
|
103
|
-
if (this._isActive
|
|
104
|
-
|
|
103
|
+
if (this._isActive === v) {
|
|
104
|
+
return;
|
|
105
105
|
}
|
|
106
|
+
this._isActive = v;
|
|
106
107
|
if (this._isActive) {
|
|
107
108
|
if (this.query !== null) {
|
|
108
109
|
await this.startQuery(this.query, this.filters);
|
|
@@ -112,6 +113,17 @@ export class EditorSearchProvider {
|
|
|
112
113
|
await this.endQuery();
|
|
113
114
|
}
|
|
114
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Set whether search should be limitted to specified selection.
|
|
118
|
+
*/
|
|
119
|
+
async setSearchSelection(selection) {
|
|
120
|
+
if (this._inSelection === selection) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this._inSelection = selection;
|
|
124
|
+
await this.updateCodeMirror(this.model.sharedModel.getSource());
|
|
125
|
+
this._stateChanged.emit();
|
|
126
|
+
}
|
|
115
127
|
/**
|
|
116
128
|
* Initialize the search using the provided options. Should update the UI
|
|
117
129
|
* to highlight all matches and "select" the first match.
|
|
@@ -131,6 +143,7 @@ export class EditorSearchProvider {
|
|
|
131
143
|
* Stop the search and clean any UI elements.
|
|
132
144
|
*/
|
|
133
145
|
async endQuery() {
|
|
146
|
+
await this.clearHighlight();
|
|
134
147
|
await this.cmHandler.endQuery();
|
|
135
148
|
this.currentIndex = null;
|
|
136
149
|
}
|
|
@@ -139,17 +152,20 @@ export class EditorSearchProvider {
|
|
|
139
152
|
*
|
|
140
153
|
* @returns The next match if there is one.
|
|
141
154
|
*/
|
|
142
|
-
async highlightNext(loop = true) {
|
|
155
|
+
async highlightNext(loop = true, fromCursor = false) {
|
|
143
156
|
if (this.matchesCount === 0 || !this.isActive) {
|
|
144
157
|
this.currentIndex = null;
|
|
145
158
|
}
|
|
146
159
|
else {
|
|
147
|
-
// This starts from the cursor position
|
|
148
|
-
let match = await this.cmHandler.highlightNext();
|
|
160
|
+
// This starts from the cursor position if `fromCursor` is true
|
|
161
|
+
let match = await this.cmHandler.highlightNext(fromCursor);
|
|
149
162
|
if (match) {
|
|
150
163
|
this.currentIndex = this.cmHandler.currentIndex;
|
|
151
164
|
}
|
|
152
165
|
else {
|
|
166
|
+
// Note: the loop logic is only used in single-editor (e.g. file editor)
|
|
167
|
+
// provider sub-classes, notebook has it's own loop logic and ignores
|
|
168
|
+
// `currentIndex` as set here.
|
|
153
169
|
this.currentIndex = loop ? 0 : null;
|
|
154
170
|
}
|
|
155
171
|
return match;
|
|
@@ -161,13 +177,13 @@ export class EditorSearchProvider {
|
|
|
161
177
|
*
|
|
162
178
|
* @returns The previous match if there is one.
|
|
163
179
|
*/
|
|
164
|
-
async highlightPrevious(loop = true) {
|
|
180
|
+
async highlightPrevious(loop = true, fromCursor = false) {
|
|
165
181
|
if (this.matchesCount === 0 || !this.isActive) {
|
|
166
182
|
this.currentIndex = null;
|
|
167
183
|
}
|
|
168
184
|
else {
|
|
169
|
-
// This starts from the cursor position
|
|
170
|
-
let match = await this.cmHandler.highlightPrevious();
|
|
185
|
+
// This starts from the cursor position if `fromCursor` is true
|
|
186
|
+
let match = await this.cmHandler.highlightPrevious(fromCursor);
|
|
171
187
|
if (match) {
|
|
172
188
|
this.currentIndex = this.cmHandler.currentIndex;
|
|
173
189
|
}
|
|
@@ -183,6 +199,13 @@ export class EditorSearchProvider {
|
|
|
183
199
|
*
|
|
184
200
|
* If no match is selected, it won't do anything.
|
|
185
201
|
*
|
|
202
|
+
* The caller of this method is expected to call `highlightNext` if after
|
|
203
|
+
* calling `replaceCurrentMatch()` attribute `this.currentIndex` is null.
|
|
204
|
+
* It is necesary to let the caller handle highlighting because this
|
|
205
|
+
* method is used in composition pattern (search engine of notebook cells)
|
|
206
|
+
* and highligthing on the composer (notebook) level needs to switch to next
|
|
207
|
+
* engine (cell) with matches.
|
|
208
|
+
*
|
|
186
209
|
* @param newText The replacement text.
|
|
187
210
|
* @returns Whether a replace occurred.
|
|
188
211
|
*/
|
|
@@ -193,17 +216,17 @@ export class EditorSearchProvider {
|
|
|
193
216
|
let occurred = false;
|
|
194
217
|
if (this.currentIndex !== null &&
|
|
195
218
|
this.currentIndex < this.cmHandler.matches.length) {
|
|
196
|
-
const editor = this.editor;
|
|
197
|
-
const selection = editor.state.sliceDoc(editor.state.selection.main.from, editor.state.selection.main.to);
|
|
198
219
|
const match = this.getCurrentMatch();
|
|
199
|
-
// If cursor is
|
|
200
|
-
if (
|
|
220
|
+
// If cursor there is no match selected, highlight the next match
|
|
221
|
+
if (!match) {
|
|
201
222
|
this.currentIndex = null;
|
|
202
|
-
// The next will be highlighted as a consequence of this returning false
|
|
203
223
|
}
|
|
204
224
|
else {
|
|
205
225
|
this.cmHandler.matches.splice(this.currentIndex, 1);
|
|
206
|
-
this.currentIndex =
|
|
226
|
+
this.currentIndex =
|
|
227
|
+
this.currentIndex < this.cmHandler.matches.length
|
|
228
|
+
? Math.max(this.currentIndex - 1, 0)
|
|
229
|
+
: null;
|
|
207
230
|
const substitutedText = (options === null || options === void 0 ? void 0 : options.regularExpression)
|
|
208
231
|
? match.text.replace(this.query, newText)
|
|
209
232
|
: newText;
|
|
@@ -283,7 +306,22 @@ export class EditorSearchProvider {
|
|
|
283
306
|
*/
|
|
284
307
|
async updateCodeMirror(content) {
|
|
285
308
|
if (this.query !== null && this.isActive) {
|
|
286
|
-
|
|
309
|
+
const allMatches = await TextSearchEngine.search(this.query, content);
|
|
310
|
+
if (this._inSelection) {
|
|
311
|
+
const editor = this.editor;
|
|
312
|
+
const start = editor.getOffsetAt(this._inSelection.start);
|
|
313
|
+
const end = editor.getOffsetAt(this._inSelection.end);
|
|
314
|
+
this.cmHandler.matches = allMatches.filter(match => match.position >= start && match.position <= end);
|
|
315
|
+
// A special case to always have a current match when in line selection mode.
|
|
316
|
+
if (this.cmHandler.currentIndex === null &&
|
|
317
|
+
this.cmHandler.matches.length > 0) {
|
|
318
|
+
await this.cmHandler.highlightNext(true, false);
|
|
319
|
+
}
|
|
320
|
+
this.currentIndex = this.cmHandler.currentIndex;
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
this.cmHandler.matches = allMatches;
|
|
324
|
+
}
|
|
287
325
|
}
|
|
288
326
|
else {
|
|
289
327
|
this.cmHandler.matches = [];
|
|
@@ -295,6 +333,13 @@ export class EditorSearchProvider {
|
|
|
295
333
|
*
|
|
296
334
|
* Highlighted texts (aka `matches`) must be provided through
|
|
297
335
|
* the `matches` attributes.
|
|
336
|
+
*
|
|
337
|
+
* **NOTES:**
|
|
338
|
+
* - to retain the selection visibility `drawSelection` extension is needed.
|
|
339
|
+
* - highlighting starts from the cursor (if editor is focused, cursor moved,
|
|
340
|
+
* or `fromCursor` argument is set to `true`), or from last "current" match
|
|
341
|
+
* otherwise.
|
|
342
|
+
* - `currentIndex` is the (readonly) source of truth for the current match.
|
|
298
343
|
*/
|
|
299
344
|
export class CodeMirrorSearchHighlighter {
|
|
300
345
|
/**
|
|
@@ -303,18 +348,26 @@ export class CodeMirrorSearchHighlighter {
|
|
|
303
348
|
* @param editor The CodeMirror editor
|
|
304
349
|
*/
|
|
305
350
|
constructor(editor) {
|
|
351
|
+
this._current = null;
|
|
306
352
|
this._cm = editor;
|
|
307
353
|
this._matches = new Array();
|
|
308
354
|
this._currentIndex = null;
|
|
309
355
|
this._highlightEffect = StateEffect.define({
|
|
310
|
-
map: (value, mapping) =>
|
|
311
|
-
|
|
356
|
+
map: (value, mapping) => {
|
|
357
|
+
const transform = (v) => ({
|
|
312
358
|
text: v.text,
|
|
313
359
|
position: mapping.mapPos(v.position)
|
|
314
|
-
})
|
|
315
|
-
|
|
360
|
+
});
|
|
361
|
+
return {
|
|
362
|
+
matches: value.matches.map(transform),
|
|
363
|
+
currentMatch: value.currentMatch
|
|
364
|
+
? transform(value.currentMatch)
|
|
365
|
+
: null
|
|
366
|
+
};
|
|
367
|
+
}
|
|
316
368
|
});
|
|
317
369
|
this._highlightMark = Decoration.mark({ class: 'cm-searching' });
|
|
370
|
+
this._currentMark = Decoration.mark({ class: 'jp-current-match' });
|
|
318
371
|
this._highlightField = StateField.define({
|
|
319
372
|
create: () => {
|
|
320
373
|
return Decoration.none;
|
|
@@ -330,6 +383,14 @@ export class CodeMirrorSearchHighlighter {
|
|
|
330
383
|
// filter out old marks
|
|
331
384
|
filter: () => false
|
|
332
385
|
});
|
|
386
|
+
highlights = highlights.update({
|
|
387
|
+
add: e.value.currentMatch
|
|
388
|
+
? [
|
|
389
|
+
this._currentMark.range(e.value.currentMatch.position, e.value.currentMatch.position +
|
|
390
|
+
e.value.currentMatch.text.length)
|
|
391
|
+
]
|
|
392
|
+
: []
|
|
393
|
+
});
|
|
333
394
|
}
|
|
334
395
|
else {
|
|
335
396
|
highlights = Decoration.none;
|
|
@@ -354,10 +415,12 @@ export class CodeMirrorSearchHighlighter {
|
|
|
354
415
|
return this._matches;
|
|
355
416
|
}
|
|
356
417
|
set matches(v) {
|
|
357
|
-
|
|
358
|
-
|
|
418
|
+
this._matches = v;
|
|
419
|
+
if (this._currentIndex !== null &&
|
|
420
|
+
this._currentIndex > this._matches.length) {
|
|
421
|
+
this._currentIndex = this._matches.length > 0 ? 0 : null;
|
|
359
422
|
}
|
|
360
|
-
this.
|
|
423
|
+
this._highlightCurrentMatch(true);
|
|
361
424
|
}
|
|
362
425
|
/**
|
|
363
426
|
* Clear all highlighted matches
|
|
@@ -374,16 +437,8 @@ export class CodeMirrorSearchHighlighter {
|
|
|
374
437
|
this._matches = [];
|
|
375
438
|
if (this._cm) {
|
|
376
439
|
this._cm.editor.dispatch({
|
|
377
|
-
effects: this._highlightEffect.of({ matches: [] })
|
|
440
|
+
effects: this._highlightEffect.of({ matches: [], currentMatch: null })
|
|
378
441
|
});
|
|
379
|
-
const selection = this._cm.state.selection.main;
|
|
380
|
-
const from = selection.from;
|
|
381
|
-
const to = selection.to;
|
|
382
|
-
// Setting a reverse selection to allow search-as-you-type to maintain the
|
|
383
|
-
// current selected match. See comment in _findNext for more details.
|
|
384
|
-
if (from !== to) {
|
|
385
|
-
this._cm.editor.dispatch({ selection: { anchor: to, head: from } });
|
|
386
|
-
}
|
|
387
442
|
}
|
|
388
443
|
return Promise.resolve();
|
|
389
444
|
}
|
|
@@ -392,9 +447,9 @@ export class CodeMirrorSearchHighlighter {
|
|
|
392
447
|
*
|
|
393
448
|
* @returns The next match if available
|
|
394
449
|
*/
|
|
395
|
-
highlightNext() {
|
|
396
|
-
this._currentIndex = this._findNext(false);
|
|
397
|
-
this._highlightCurrentMatch();
|
|
450
|
+
highlightNext(fromCursor = false, doNotModifySelection = false) {
|
|
451
|
+
this._currentIndex = this._findNext(false, fromCursor);
|
|
452
|
+
this._highlightCurrentMatch(doNotModifySelection);
|
|
398
453
|
return Promise.resolve(this._currentIndex !== null
|
|
399
454
|
? this._matches[this._currentIndex]
|
|
400
455
|
: undefined);
|
|
@@ -404,8 +459,8 @@ export class CodeMirrorSearchHighlighter {
|
|
|
404
459
|
*
|
|
405
460
|
* @returns The previous match if available
|
|
406
461
|
*/
|
|
407
|
-
highlightPrevious() {
|
|
408
|
-
this._currentIndex = this._findNext(true);
|
|
462
|
+
highlightPrevious(fromCursor = false) {
|
|
463
|
+
this._currentIndex = this._findNext(true, fromCursor);
|
|
409
464
|
this._highlightCurrentMatch();
|
|
410
465
|
return Promise.resolve(this._currentIndex !== null
|
|
411
466
|
? this._matches[this._currentIndex]
|
|
@@ -422,13 +477,35 @@ export class CodeMirrorSearchHighlighter {
|
|
|
422
477
|
}
|
|
423
478
|
else {
|
|
424
479
|
this._cm = editor;
|
|
425
|
-
this._refresh();
|
|
426
480
|
if (this._currentIndex !== null) {
|
|
427
481
|
this._highlightCurrentMatch();
|
|
428
482
|
}
|
|
483
|
+
this._refresh();
|
|
429
484
|
}
|
|
430
485
|
}
|
|
431
|
-
|
|
486
|
+
_selectCurrentMatch() {
|
|
487
|
+
const match = this._current;
|
|
488
|
+
if (!match) {
|
|
489
|
+
return;
|
|
490
|
+
}
|
|
491
|
+
if (!this._cm) {
|
|
492
|
+
return;
|
|
493
|
+
}
|
|
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
|
+
const cursor = {
|
|
500
|
+
anchor: match.position,
|
|
501
|
+
head: match.position + match.text.length
|
|
502
|
+
};
|
|
503
|
+
this._cm.editor.dispatch({
|
|
504
|
+
selection: cursor,
|
|
505
|
+
scrollIntoView: true
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
_highlightCurrentMatch(doNotModifySelection = false) {
|
|
432
509
|
if (!this._cm) {
|
|
433
510
|
// no-op
|
|
434
511
|
return;
|
|
@@ -436,19 +513,25 @@ export class CodeMirrorSearchHighlighter {
|
|
|
436
513
|
// Highlight the current index
|
|
437
514
|
if (this._currentIndex !== null) {
|
|
438
515
|
const match = this.matches[this._currentIndex];
|
|
439
|
-
this.
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
516
|
+
this._current = match;
|
|
517
|
+
// Do not change selection/scroll if user is selecting
|
|
518
|
+
if (!doNotModifySelection) {
|
|
519
|
+
if (this._cm.hasFocus()) {
|
|
520
|
+
// If editor is focused we actually set the cursor on the match.
|
|
521
|
+
this._selectCurrentMatch();
|
|
522
|
+
}
|
|
523
|
+
else {
|
|
524
|
+
// otherwise we just scroll to preserve the selection.
|
|
525
|
+
this._cm.editor.dispatch({
|
|
526
|
+
effects: EditorView.scrollIntoView(match.position)
|
|
527
|
+
});
|
|
528
|
+
}
|
|
529
|
+
}
|
|
447
530
|
}
|
|
448
531
|
else {
|
|
449
|
-
|
|
450
|
-
this._cm.editor.dispatch({ selection: { anchor: 0 } });
|
|
532
|
+
this._current = null;
|
|
451
533
|
}
|
|
534
|
+
this._refresh();
|
|
452
535
|
}
|
|
453
536
|
_refresh() {
|
|
454
537
|
if (!this._cm) {
|
|
@@ -456,31 +539,38 @@ export class CodeMirrorSearchHighlighter {
|
|
|
456
539
|
return;
|
|
457
540
|
}
|
|
458
541
|
let effects = [
|
|
459
|
-
this._highlightEffect.of({
|
|
542
|
+
this._highlightEffect.of({
|
|
543
|
+
matches: this.matches,
|
|
544
|
+
currentMatch: this._current
|
|
545
|
+
})
|
|
460
546
|
];
|
|
461
547
|
if (!this._cm.state.field(this._highlightField, false)) {
|
|
462
548
|
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]));
|
|
463
556
|
}
|
|
464
557
|
this._cm.editor.dispatch({ effects });
|
|
465
558
|
}
|
|
466
|
-
_findNext(reverse) {
|
|
559
|
+
_findNext(reverse, fromCursor = false) {
|
|
467
560
|
if (this._matches.length === 0) {
|
|
468
561
|
// No-op
|
|
469
562
|
return null;
|
|
470
563
|
}
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
// the search always proceeds from the 'anchor' position, which is at the 'from'.
|
|
482
|
-
const cursor = this._cm.state.selection.main;
|
|
483
|
-
let lastPosition = reverse ? cursor.anchor : cursor.head;
|
|
564
|
+
let lastPosition = 0;
|
|
565
|
+
if (this._cm.hasFocus() || fromCursor) {
|
|
566
|
+
const cursor = this._cm.state.selection.main;
|
|
567
|
+
lastPosition = reverse ? cursor.anchor : cursor.head;
|
|
568
|
+
}
|
|
569
|
+
else if (this._current) {
|
|
570
|
+
lastPosition = reverse
|
|
571
|
+
? this._current.position
|
|
572
|
+
: this._current.position + this._current.text.length;
|
|
573
|
+
}
|
|
484
574
|
if (lastPosition === 0 && reverse && this.currentIndex === null) {
|
|
485
575
|
// The default position is (0, 0) but we want to start from the end in that case
|
|
486
576
|
lastPosition = this._cm.doc.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchprovider.js","sourceRoot":"","sources":["../src/searchprovider.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAgC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAmB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAiB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,qBAAqB,EAIrB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;GAEG;AACH,MAAM,OAAgB,oBAAoB;IAIxC;;OAEG;IACH;QA8TA;;WAEG;QACO,iBAAY,GAAkB,IAAI,CAAC;QAK7C;;WAEG;QACO,UAAK,GAAkB,IAAI,CAAC;QAG9B,cAAS,GAAG,IAAI,CAAC;QACjB,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAuC,IAAI,CAAC;QA7U5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAA4B,IAAI,CAAC,CAAC;IACnE,CAAC;IACD;;OAEG;IACH,IAAc,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,2BAA2B,CAC/C,IAAI,CAAC,MAA0B,CAChC,CAAC;SACH;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAWD;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAEhC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,CAAU;QAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBACvB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACjD;SACF;aAAM;YACL,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;SACvB;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,KAAoB,EAAE,OAAkB;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,eAAe;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI;QAC7B,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,uCAAuC;YACvC,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI;QACjC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,uCAAuC;YACvC,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;YACrD,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACzD;YACD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,mBAAmB,CACjB,OAAe,EACf,IAAc,EACd,OAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IACE,IAAI,CAAC,YAAY,KAAK,IAAI;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EACjD;YACA,MAAM,MAAM,GAAG,IAAI,CAAC,MAA0B,CAAC;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CACrC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAChC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC/B,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,4DAA4D;YAC5D,IAAI,SAAS,MAAK,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,CAAA,EAAE;gBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,wEAAwE;aACzE;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,MAAM,eAAe,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;oBAChD,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,EAAE,OAAO,CAAC;oBAC3C,CAAC,CAAC,OAAO,CAAC;gBACZ,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;oBACtC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;oBACjE,CAAC,CAAC,eAAe,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CACjC,KAAM,CAAC,QAAQ,EACf,KAAM,CAAC,QAAQ,GAAG,KAAM,CAAC,IAAI,CAAC,MAAM,EACpC,UAAU,CACX,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;aACjB;SACF;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CACf,OAAe,EACf,OAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAkB,CAAC;YACvC,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,MAAM,eAAe,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;gBAChD,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,EAAE,OAAO,CAAC;gBAC3C,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;gBACtC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;gBACjE,CAAC,CAAC,eAAe,CAAC;YACpB,MAAM,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,CAAC;YAClE,OAAO,GAAG,GAAG,CAAC;YACd,OAAO,OAAO,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACtE;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACO,eAAe;QACvB,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,IAAI,KAAK,GAA6B,SAAS,CAAC;YAChD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrD,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACnD;YACD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,oBAAoB,CAClC,OAAoB,EACpB,OAAqB;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3B;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC9C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxC,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,CACpD,IAAI,CAAC,KAAK,EACV,OAAO,CACR,CAAC;SACH;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;SAC7B;IACH,CAAC;CAmBF;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA2B;IACtC;;;;OAIG;IACH,YAAY,MAA+B;QACzC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAgB,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAA8B;YACtE,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACrC,CAAC,CAAC;aACJ,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QAEjE,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAM,CAAgB;YACtD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,UAAU,CAAC,IAAI,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE;gBAClC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACjD,KAAK,IAAI,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE;oBAClC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;wBAChC,MAAM,CAAC,GAAG,EAA8C,CAAC;wBACzD,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;4BAC1B,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gCAC7B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAC3B,CACF;gCACD,uBAAuB;gCACvB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;6BACpB,CAAC,CAAC;yBACJ;6BAAM;4BACL,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;yBAC9B;qBACF;iBACF;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,CAAiB;QAC3B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAe,EAAE,CAAQ,CAAC,EAAE;YACtD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SACnB;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;aACnD,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAChD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;YAC5B,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;YACxB,0EAA0E;YAC1E,qEAAqE;YACrE,IAAI,IAAI,KAAK,EAAE,EAAE;gBACf,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;aACrE;SACF;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,aAAa;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,CAAC,aAAa,KAAK,IAAI;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,CAAC,aAAa,KAAK,IAAI;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAwB;QAChC,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;YAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;gBAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;SACF;IACH,CAAC;IAEO,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,QAAQ;YACR,OAAO;SACR;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvB,SAAS,EAAE;oBACT,MAAM,EAAE,KAAK,CAAC,QAAQ;oBACtB,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;iBACzC;gBACD,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;SACJ;aAAM;YACL,qCAAqC;YACrC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;SACxD;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,QAAQ;YACR,OAAO;SACR;QAED,IAAI,OAAO,GAA2B;YACpC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;SACpD,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE;YACvD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SACnE;QACD,IAAI,CAAC,GAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,SAAS,CAAC,OAAgB;QAChC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,QAAQ;YACR,OAAO,IAAI,CAAC;SACb;QACD,6EAA6E;QAC7E,0EAA0E;QAC1E,6EAA6E;QAC7E,+EAA+E;QAC/E,oFAAoF;QACpF,2EAA2E;QAC3E,EAAE;QACF,mFAAmF;QACnF,oFAAoF;QACpF,yFAAyF;QACzF,iFAAiF;QAEjF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,IAAI,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACzD,IAAI,YAAY,KAAK,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/D,gFAAgF;YAChF,YAAY,GAAG,IAAI,CAAC,GAAI,CAAC,GAAG,CAAC,MAAM,CAAC;SACrC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC;QAE9B,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CACxB,IAAI,CAAC,QAAQ,EACb,QAAQ,EACR,CAAC,EACD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACzB,CAAC;QAEF,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,aAAa;YACb,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAClD;QAED,IAAI,OAAO,EAAE;YACX,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,aAAa;gBACb,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CAQF;AAED;;GAEG;AACH,IAAU,KAAK,CAgDd;AAhDD,WAAU,KAAK;IACb;;;;;;;;;;;OAWG;IACH,SAAgB,QAAQ,CACtB,OAAuB,EACvB,QAAgB,EAChB,UAAU,GAAG,CAAC,EACd,WAAW,GAAG,QAAQ;QAEtB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QAExD,OAAO,UAAU,IAAI,WAAW,EAAE;YAChC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;YAEjD,IAAI,eAAe,GAAG,QAAQ,EAAE;gBAC9B,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;gBACxB,IACE,UAAU,GAAG,OAAO,CAAC,MAAM;oBAC3B,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,QAAQ,EACvC;oBACA,OAAO,UAAU,CAAC;iBACnB;aACF;iBAAM,IAAI,eAAe,GAAG,QAAQ,EAAE;gBACrC,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC;gBACzB,IAAI,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,GAAG,QAAQ,EAAE;oBAC/D,OAAO,MAAM,CAAC;iBACf;aACF;iBAAM;gBACL,OAAO,MAAM,CAAC;aACf;SACF;QAED,+BAA+B;QAC/B,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAlCe,cAAQ,WAkCvB,CAAA;AACH,CAAC,EAhDS,KAAK,KAAL,KAAK,QAgDd"}
|
|
1
|
+
{"version":3,"file":"searchprovider.js","sourceRoot":"","sources":["../src/searchprovider.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAiC3D,OAAO,EAAE,WAAW,EAAmB,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAiB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,qBAAqB,EAIrB,gBAAgB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAW,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;GAEG;AACH,MAAM,OAAgB,oBAAoB;IAIxC;;OAEG;IACH;QAyWA;;WAEG;QACO,iBAAY,GAAkB,IAAI,CAAC;QAK7C;;WAEG;QACO,UAAK,GAAkB,IAAI,CAAC;QAG9B,cAAS,GAAG,IAAI,CAAC;QACjB,iBAAY,GAA6B,IAAI,CAAC;QAC9C,gBAAW,GAAG,KAAK,CAAC;QACpB,eAAU,GAAuC,IAAI,CAAC;QAzX5D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,IAAI,MAAM,CAA4B,IAAI,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,IAAc,SAAS;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,2BAA2B,CAC/C,IAAI,CAAC,MAA0B,CAChC,CAAC;SACH;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAWD;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC;QAEhC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBAC7B,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,CAAU;QAC1B,IAAI,IAAI,CAAC,SAAS,KAAK,CAAC,EAAE;YACxB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;gBACvB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aACjD;SACF;aAAM;YACL,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;SACvB;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAmC;QAC1D,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;YACnC,OAAO;SACR;QACD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CAAC,KAAoB,EAAE,OAAkB;QACvD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,eAAe;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CACjB,IAAI,GAAG,IAAI,EACX,UAAU,GAAG,KAAK;QAElB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,+DAA+D;YAC/D,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC3D,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACjD;iBAAM;gBACL,wEAAwE;gBACxE,qEAAqE;gBACrE,8BAA8B;gBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACrC;YACD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CACrB,IAAI,GAAG,IAAI,EACX,UAAU,GAAG,KAAK;QAElB,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B;aAAM;YACL,+DAA+D;YAC/D,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC/D,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;aACzD;YACD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CACjB,OAAe,EACf,IAAc,EACd,OAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IACE,IAAI,CAAC,YAAY,KAAK,IAAI;YAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EACjD;YACA,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrC,iEAAiE;YACjE,IAAI,CAAC,KAAK,EAAE;gBACV,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,YAAY;oBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM;wBAC/C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC,CAAC;wBACpC,CAAC,CAAC,IAAI,CAAC;gBACX,MAAM,eAAe,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;oBAChD,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,EAAE,OAAO,CAAC;oBAC3C,CAAC,CAAC,OAAO,CAAC;gBACZ,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;oBACtC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;oBACjE,CAAC,CAAC,eAAe,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CACjC,KAAM,CAAC,QAAQ,EACf,KAAM,CAAC,QAAQ,GAAG,KAAM,CAAC,IAAI,CAAC,MAAM,EACpC,UAAU,CACX,CAAC;gBACF,QAAQ,GAAG,IAAI,CAAC;aACjB;SACF;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CACf,OAAe,EACf,OAAyB;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACjD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAkB,CAAC;YACvC,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;YACtC,MAAM,eAAe,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB;gBAChD,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,EAAE,OAAO,CAAC;gBAC3C,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,UAAU,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY;gBACtC,CAAC,CAAC,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;gBACjE,CAAC,CAAC,eAAe,CAAC;YACpB,MAAM,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,UAAU,EAAE,CAAC;YAClE,OAAO,GAAG,GAAG,CAAC;YACd,OAAO,OAAO,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;SACtE;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,eAAe;QACb,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,IAAI,KAAK,GAA6B,SAAS,CAAC;YAChD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrD,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aACnD;YACD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,oBAAoB,CAClC,OAAoB,EACpB,OAAqB;QAErB,IAAI,OAAO,CAAC,YAAY,EAAE;YACxB,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;SAC3B;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAC9C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAO,CAAC;gBAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBACtD,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,MAAM,CACxC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,GAAG,CAC1D,CAAC;gBACF,6EAA6E;gBAC7E,IACE,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,IAAI;oBACpC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EACjC;oBACA,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBACjD;gBACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACjD;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC;aACrC;SACF;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,EAAE,CAAC;SAC7B;IACH,CAAC;CAoBF;AAUD;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,2BAA2B;IACtC;;;;OAIG;IACH,YAAY,MAA+B;QAwFnC,aAAQ,GAAwB,IAAI,CAAC;QAvF3C,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,EAAgB,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAe;YACvD,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBACtB,MAAM,SAAS,GAAG,CAAC,CAAe,EAAE,EAAE,CAAC,CAAC;oBACtC,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;iBACrC,CAAC,CAAC;gBACH,OAAO;oBACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;oBACrC,YAAY,EAAE,KAAK,CAAC,YAAY;wBAC9B,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;wBAC/B,CAAC,CAAC,IAAI;iBACT,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,MAAM,CAAgB;YACtD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,UAAU,CAAC,IAAI,CAAC;YACzB,CAAC;YACD,MAAM,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE;gBAClC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACjD,KAAK,IAAI,EAAE,IAAI,WAAW,CAAC,OAAO,EAAE;oBAClC,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;wBAChC,MAAM,CAAC,GAAG,EAA+B,CAAC;wBAC1C,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;4BAC1B,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gCAC7B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC3B,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,CAAC,CAAC,QAAQ,EACV,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAC3B,CACF;gCACD,uBAAuB;gCACvB,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;6BACpB,CAAC,CAAC;4BACH,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;gCAC7B,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;oCACvB,CAAC,CAAC;wCACE,IAAI,CAAC,YAAY,CAAC,KAAK,CACrB,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAC7B,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ;4CAC3B,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CACnC;qCACF;oCACH,CAAC,CAAC,EAAE;6BACP,CAAC,CAAC;yBACJ;6BAAM;4BACL,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;yBAC9B;qBACF;iBACF;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,CAAC,CAAiB;QAC3B,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IACE,IAAI,CAAC,aAAa,KAAK,IAAI;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EACzC;YACA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAC1D;QACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAID;;OAEG;IACH,cAAc;QACZ,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aACvE,CAAC,CAAC;SACJ;QAED,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,aAAa,CACX,UAAU,GAAG,KAAK,EAClB,oBAAoB,GAAG,KAAK;QAE5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC;QAClD,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,CAAC,aAAa,KAAK,IAAI;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,GAAG,KAAK;QAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,CAAC,aAAa,KAAK,IAAI;YACzB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YACnC,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAwB;QAChC,IAAI,IAAI,CAAC,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;YAClB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;gBAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;IACH,CAAC;IAEO,mBAAmB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,OAAO;SACR;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;QACvD,IACE,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ;YACjC,SAAS,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,EACnD;YACA,OAAO;SACR;QACD,MAAM,MAAM,GAAG;YACb,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,IAAI,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;SACzC,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;YACvB,SAAS,EAAE,MAAM;YACjB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,oBAAoB,GAAG,KAAK;QACzD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,QAAQ;YACR,OAAO;SACR;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,sDAAsD;YACtD,IAAI,CAAC,oBAAoB,EAAE;gBACzB,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;oBACvB,gEAAgE;oBAChE,IAAI,CAAC,mBAAmB,EAAE,CAAC;iBAC5B;qBAAM;oBACL,sDAAsD;oBACtD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;wBACvB,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC;qBACnD,CAAC,CAAC;iBACJ;aACF;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YACb,QAAQ;YACR,OAAO;SACR;QACD,IAAI,OAAO,GAA2B;YACpC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,QAAQ;aAC5B,CAAC;SACH,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,EAAE;YACvD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAClE,sDAAsD;YACtD,MAAM,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC;gBACjD,KAAK,EAAE,GAAG,EAAE;oBACV,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7B,CAAC;aACF,CAAC,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC7D;QACD,IAAI,CAAC,GAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,SAAS,CAAC,OAAgB,EAAE,UAAU,GAAG,KAAK;QACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,QAAQ;YACR,OAAO,IAAI,CAAC;SACb;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,GAAI,CAAC,QAAQ,EAAE,IAAI,UAAU,EAAE;YACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9C,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;SACtD;aAAM,IAAI,IAAI,CAAC,QAAQ,EAAE;YACxB,YAAY,GAAG,OAAO;gBACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;gBACxB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;SACxD;QACD,IAAI,YAAY,KAAK,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC/D,gFAAgF;YAChF,YAAY,GAAG,IAAI,CAAC,GAAI,CAAC,GAAG,CAAC,MAAM,CAAC;SACrC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC;QAE9B,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CACxB,IAAI,CAAC,QAAQ,EACb,QAAQ,EACR,CAAC,EACD,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACzB,CAAC;QAEF,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,aAAa;YACb,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SAClD;QAED,IAAI,OAAO,EAAE;YACX,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC,EAAE;gBACb,aAAa;gBACb,OAAO,IAAI,CAAC;aACb;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CASF;AAED;;GAEG;AACH,IAAU,KAAK,CAgDd;AAhDD,WAAU,KAAK;IACb;;;;;;;;;;;OAWG;IACH,SAAgB,QAAQ,CACtB,OAAuB,EACvB,QAAgB,EAChB,UAAU,GAAG,CAAC,EACd,WAAW,GAAG,QAAQ;QAEtB,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;QAExD,OAAO,UAAU,IAAI,WAAW,EAAE;YAChC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC;YAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;YAEjD,IAAI,eAAe,GAAG,QAAQ,EAAE;gBAC9B,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC;gBACxB,IACE,UAAU,GAAG,OAAO,CAAC,MAAM;oBAC3B,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,QAAQ,EACvC;oBACA,OAAO,UAAU,CAAC;iBACnB;aACF;iBAAM,IAAI,eAAe,GAAG,QAAQ,EAAE;gBACrC,WAAW,GAAG,MAAM,GAAG,CAAC,CAAC;gBACzB,IAAI,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,GAAG,QAAQ,EAAE;oBAC/D,OAAO,MAAM,CAAC;iBACf;aACF;iBAAM;gBACL,OAAO,MAAM,CAAC;aACf;SACF;QAED,+BAA+B;QAC/B,MAAM,KAAK,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,CAAC;IAlCe,cAAQ,WAkCvB,CAAA;AACH,CAAC,EAhDS,KAAK,KAAL,KAAK,QAgDd"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/codemirror",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.21",
|
|
4
4
|
"description": "JupyterLab - CodeMirror Editor Provider",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -58,29 +58,29 @@
|
|
|
58
58
|
"@codemirror/search": "^6.2.0",
|
|
59
59
|
"@codemirror/state": "^6.2.0",
|
|
60
60
|
"@codemirror/view": "^6.7.0",
|
|
61
|
-
"@jupyter/ydoc": "^0.3.
|
|
62
|
-
"@jupyterlab/codeeditor": "^4.0.0-alpha.
|
|
63
|
-
"@jupyterlab/coreutils": "^6.0.0-alpha.
|
|
64
|
-
"@jupyterlab/documentsearch": "^4.0.0-alpha.
|
|
65
|
-
"@jupyterlab/nbformat": "^4.0.0-alpha.
|
|
66
|
-
"@jupyterlab/translation": "^4.0.0-alpha.
|
|
61
|
+
"@jupyter/ydoc": "^0.3.4",
|
|
62
|
+
"@jupyterlab/codeeditor": "^4.0.0-alpha.21",
|
|
63
|
+
"@jupyterlab/coreutils": "^6.0.0-alpha.21",
|
|
64
|
+
"@jupyterlab/documentsearch": "^4.0.0-alpha.21",
|
|
65
|
+
"@jupyterlab/nbformat": "^4.0.0-alpha.21",
|
|
66
|
+
"@jupyterlab/translation": "^4.0.0-alpha.21",
|
|
67
67
|
"@lezer/common": "^1.0.0",
|
|
68
68
|
"@lezer/generator": "^1.0.0",
|
|
69
69
|
"@lezer/highlight": "^1.0.0",
|
|
70
|
-
"@lumino/coreutils": "^2.0.0-rc.
|
|
71
|
-
"@lumino/disposable": "^2.0.0-rc.
|
|
72
|
-
"@lumino/signaling": "^2.0.0-rc.
|
|
70
|
+
"@lumino/coreutils": "^2.0.0-rc.1",
|
|
71
|
+
"@lumino/disposable": "^2.0.0-rc.1",
|
|
72
|
+
"@lumino/signaling": "^2.0.0-rc.1",
|
|
73
73
|
"yjs": "^13.5.40"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
|
-
"@jupyterlab/testing": "^4.0.0-alpha.
|
|
76
|
+
"@jupyterlab/testing": "^4.0.0-alpha.21",
|
|
77
77
|
"@lezer/generator": "^1.0.0",
|
|
78
78
|
"@lezer/lr": "^1.0.0",
|
|
79
79
|
"@types/jest": "^29.2.0",
|
|
80
80
|
"jest": "^29.2.0",
|
|
81
81
|
"rimraf": "~3.0.0",
|
|
82
82
|
"typedoc": "~0.23.25",
|
|
83
|
-
"typescript": "~5.0.
|
|
83
|
+
"typescript": "~5.0.1-rc"
|
|
84
84
|
},
|
|
85
85
|
"publishConfig": {
|
|
86
86
|
"access": "public"
|
package/src/extension.ts
CHANGED
|
@@ -620,13 +620,13 @@ export namespace EditorExtensionRegistry {
|
|
|
620
620
|
default: 1200,
|
|
621
621
|
factory: () =>
|
|
622
622
|
createConfigurableExtension((value: number) =>
|
|
623
|
-
|
|
623
|
+
drawSelection({ cursorBlinkRate: value })
|
|
624
624
|
),
|
|
625
625
|
schema: {
|
|
626
626
|
type: 'number',
|
|
627
627
|
title: trans.__('Cursor blinking rate'),
|
|
628
628
|
description: trans.__(
|
|
629
|
-
'Half-period in milliseconds used for cursor blinking. The default blink rate is 1200ms. By setting this to zero, blinking can be disabled.
|
|
629
|
+
'Half-period in milliseconds used for cursor blinking. The default blink rate is 1200ms. By setting this to zero, blinking can be disabled.'
|
|
630
630
|
)
|
|
631
631
|
}
|
|
632
632
|
}),
|
|
@@ -772,6 +772,18 @@ export namespace EditorExtensionRegistry {
|
|
|
772
772
|
title: trans.__('Tab size')
|
|
773
773
|
}
|
|
774
774
|
}),
|
|
775
|
+
Object.freeze({
|
|
776
|
+
name: 'allowMultipleSelections',
|
|
777
|
+
default: true,
|
|
778
|
+
factory: () =>
|
|
779
|
+
createConfigurableExtension((value: boolean) =>
|
|
780
|
+
EditorState.allowMultipleSelections.of(value)
|
|
781
|
+
),
|
|
782
|
+
schema: {
|
|
783
|
+
type: 'boolean',
|
|
784
|
+
title: trans.__('Multiple selections')
|
|
785
|
+
}
|
|
786
|
+
}),
|
|
775
787
|
Object.freeze({
|
|
776
788
|
name: 'customStyles',
|
|
777
789
|
factory: () =>
|
|
@@ -15,7 +15,13 @@ import {
|
|
|
15
15
|
SelectionRange
|
|
16
16
|
} from '@codemirror/state';
|
|
17
17
|
import { EditorView, ViewPlugin, ViewUpdate } from '@codemirror/view';
|
|
18
|
-
import type {
|
|
18
|
+
import type {
|
|
19
|
+
RelativePosition,
|
|
20
|
+
Text,
|
|
21
|
+
Transaction,
|
|
22
|
+
UndoManager,
|
|
23
|
+
YTextEvent
|
|
24
|
+
} from 'yjs';
|
|
19
25
|
import {
|
|
20
26
|
createAbsolutePositionFromRelativePosition,
|
|
21
27
|
createRelativePositionFromJSON,
|
|
@@ -257,11 +263,33 @@ export const ySync = ViewPlugin.fromClass(
|
|
|
257
263
|
* and the editor state.
|
|
258
264
|
*
|
|
259
265
|
* @param ytext Yjs text to bind
|
|
266
|
+
* @param undoManager Yjs text undo manager
|
|
260
267
|
* @returns CodeMirror 6 extension
|
|
261
268
|
*/
|
|
262
|
-
export function ybinding(
|
|
269
|
+
export function ybinding({
|
|
270
|
+
ytext,
|
|
271
|
+
undoManager
|
|
272
|
+
}: {
|
|
273
|
+
ytext: Text;
|
|
274
|
+
undoManager?: UndoManager;
|
|
275
|
+
}): Extension {
|
|
263
276
|
const ySyncConfig = new YSyncConfig(ytext);
|
|
264
277
|
// We don't need the undo manager extension as in y-codemirror.next
|
|
265
278
|
// because we deal with undo/redo with our own keyboard shortcut mechanism.
|
|
266
|
-
return [
|
|
279
|
+
return [
|
|
280
|
+
ySyncFacet.of(ySyncConfig),
|
|
281
|
+
ySync,
|
|
282
|
+
// We need to add a new origin to the undo manager to ensure text updates
|
|
283
|
+
// are tracked.
|
|
284
|
+
undoManager
|
|
285
|
+
? ViewPlugin.define(() => {
|
|
286
|
+
undoManager.addTrackedOrigin(ySyncConfig);
|
|
287
|
+
return {
|
|
288
|
+
destroy: () => {
|
|
289
|
+
undoManager.removeTrackedOrigin(ySyncConfig);
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
})
|
|
293
|
+
: []
|
|
294
|
+
];
|
|
267
295
|
}
|