@opensumi/ide-monaco 3.7.1-next-1739781685.0 → 3.7.2-next-1739848467.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/browser/monaco-api/editor.d.ts +40 -20
- package/lib/browser/monaco-api/editor.d.ts.map +1 -1
- package/lib/browser/monaco-api/index.d.ts +80 -40
- package/lib/browser/monaco-api/index.d.ts.map +1 -1
- package/lib/browser/monaco.context-key.service.d.ts +1 -1
- package/lib/browser/monaco.context-key.service.d.ts.map +1 -1
- package/lib/browser/monaco.context-key.service.js +1 -1
- package/lib/browser/monaco.context-key.service.js.map +1 -1
- package/lib/common/observable.d.ts +0 -1
- package/lib/common/observable.d.ts.map +1 -1
- package/lib/common/observable.js +1 -1
- package/lib/common/observable.js.map +1 -1
- package/package.json +12 -12
- package/src/browser/monaco.context-key.service.ts +1 -1
- package/src/common/observable.ts +1 -1
- package/worker/editor.worker.bundle.js +1625 -501
- package/worker/editor.worker.bundle.js.map +1 -1
|
@@ -42,18 +42,18 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
42
42
|
/* harmony export */ shuffle: () => (/* binding */ shuffle),
|
|
43
43
|
/* harmony export */ splice: () => (/* binding */ splice),
|
|
44
44
|
/* harmony export */ tail: () => (/* binding */ tail),
|
|
45
|
-
/* harmony export */ tail2: () => (/* binding */ tail2),
|
|
46
45
|
/* harmony export */ tieBreakComparators: () => (/* binding */ tieBreakComparators)
|
|
47
46
|
/* harmony export */ });
|
|
48
47
|
/**
|
|
49
|
-
* Returns the last
|
|
50
|
-
*
|
|
51
|
-
*
|
|
48
|
+
* Returns the last entry and the initial N-1 entries of the array, as a tuple of [rest, last].
|
|
49
|
+
*
|
|
50
|
+
* The array must have at least one element.
|
|
51
|
+
*
|
|
52
|
+
* @param arr The input array
|
|
53
|
+
* @returns A tuple of [rest, last] where rest is all but the last element and last is the last element
|
|
54
|
+
* @throws Error if the array is empty
|
|
52
55
|
*/
|
|
53
|
-
function tail(
|
|
54
|
-
return array[array.length - (1 + n)];
|
|
55
|
-
}
|
|
56
|
-
function tail2(arr) {
|
|
56
|
+
function tail(arr) {
|
|
57
57
|
if (arr.length === 0) {
|
|
58
58
|
throw new Error('Invalid tail call');
|
|
59
59
|
}
|
|
@@ -846,9 +846,21 @@ function ok(value, message) {
|
|
|
846
846
|
function assertNever(value, message = 'Unreachable') {
|
|
847
847
|
throw new Error(message);
|
|
848
848
|
}
|
|
849
|
-
|
|
849
|
+
/**
|
|
850
|
+
* Asserts that a condition is `truthy`.
|
|
851
|
+
*
|
|
852
|
+
* @throws provided {@linkcode messageOrError} if the {@linkcode condition} is `falsy`.
|
|
853
|
+
*
|
|
854
|
+
* @param condition The condition to assert.
|
|
855
|
+
* @param messageOrError An error message or error object to throw if condition is `falsy`.
|
|
856
|
+
*/
|
|
857
|
+
function assert(condition, messageOrError = 'unexpected state') {
|
|
850
858
|
if (!condition) {
|
|
851
|
-
|
|
859
|
+
// if error instance is provided, use it, otherwise create a new one
|
|
860
|
+
const errorToThrow = typeof messageOrError === 'string'
|
|
861
|
+
? new _errors_js__WEBPACK_IMPORTED_MODULE_0__.BugIndicatingError(`Assertion Failed: ${messageOrError}`)
|
|
862
|
+
: messageOrError;
|
|
863
|
+
throw errorToThrow;
|
|
852
864
|
}
|
|
853
865
|
}
|
|
854
866
|
/**
|
|
@@ -1224,7 +1236,7 @@ function disposableTimeout(handler, timeout = 0, store) {
|
|
|
1224
1236
|
}, timeout);
|
|
1225
1237
|
const disposable = (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.toDisposable)(() => {
|
|
1226
1238
|
clearTimeout(timer);
|
|
1227
|
-
store?.
|
|
1239
|
+
store?.delete(disposable);
|
|
1228
1240
|
});
|
|
1229
1241
|
store?.add(disposable);
|
|
1230
1242
|
return disposable;
|
|
@@ -2927,6 +2939,11 @@ const codiconsLibrary = {
|
|
|
2927
2939
|
goToEditingSession: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('go-to-editing-session', 0xec35),
|
|
2928
2940
|
editSession: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('edit-session', 0xec36),
|
|
2929
2941
|
codeReview: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('code-review', 0xec37),
|
|
2942
|
+
copilotWarning: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('copilot-warning', 0xec38),
|
|
2943
|
+
python: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('python', 0xec39),
|
|
2944
|
+
copilotLarge: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('copilot-large', 0xec3a),
|
|
2945
|
+
copilotWarningLarge: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('copilot-warning-large', 0xec3b),
|
|
2946
|
+
keyboardTab: (0,_codiconsUtil_js__WEBPACK_IMPORTED_MODULE_0__.register)('keyboard-tab', 0xec3c),
|
|
2930
2947
|
};
|
|
2931
2948
|
//# sourceMappingURL=codiconsLibrary.js.map
|
|
2932
2949
|
|
|
@@ -3447,6 +3464,15 @@ class Color {
|
|
|
3447
3464
|
}
|
|
3448
3465
|
return this._toString;
|
|
3449
3466
|
}
|
|
3467
|
+
toNumber32Bit() {
|
|
3468
|
+
if (!this._toNumber32Bit) {
|
|
3469
|
+
this._toNumber32Bit = (this.rgba.r /* */ << 24 |
|
|
3470
|
+
this.rgba.g /* */ << 16 |
|
|
3471
|
+
this.rgba.b /* */ << 8 |
|
|
3472
|
+
this.rgba.a * 0xFF << 0) >>> 0;
|
|
3473
|
+
}
|
|
3474
|
+
return this._toNumber32Bit;
|
|
3475
|
+
}
|
|
3450
3476
|
static getLighterColor(of, relative, factor) {
|
|
3451
3477
|
if (of.isLighterThan(relative)) {
|
|
3452
3478
|
return of;
|
|
@@ -3535,6 +3561,197 @@ class Color {
|
|
|
3535
3561
|
return Color.Format.CSS.formatRGBA(color);
|
|
3536
3562
|
}
|
|
3537
3563
|
CSS.format = format;
|
|
3564
|
+
/**
|
|
3565
|
+
* Parse a CSS color and return a {@link Color}.
|
|
3566
|
+
* @param css The CSS color to parse.
|
|
3567
|
+
* @see https://drafts.csswg.org/css-color/#typedef-color
|
|
3568
|
+
*/
|
|
3569
|
+
function parse(css) {
|
|
3570
|
+
if (css === 'transparent') {
|
|
3571
|
+
return Color.transparent;
|
|
3572
|
+
}
|
|
3573
|
+
if (css.startsWith('#')) {
|
|
3574
|
+
return parseHex(css);
|
|
3575
|
+
}
|
|
3576
|
+
if (css.startsWith('rgba(')) {
|
|
3577
|
+
const color = css.match(/rgba\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+), *(?<a>(?:\+|-)?\d+(\.\d+)?)\)/);
|
|
3578
|
+
if (!color) {
|
|
3579
|
+
throw new Error('Invalid color format ' + css);
|
|
3580
|
+
}
|
|
3581
|
+
const r = parseInt(color.groups?.r ?? '0');
|
|
3582
|
+
const g = parseInt(color.groups?.g ?? '0');
|
|
3583
|
+
const b = parseInt(color.groups?.b ?? '0');
|
|
3584
|
+
const a = parseFloat(color.groups?.a ?? '0');
|
|
3585
|
+
return new Color(new RGBA(r, g, b, a));
|
|
3586
|
+
}
|
|
3587
|
+
if (css.startsWith('rgb(')) {
|
|
3588
|
+
const color = css.match(/rgb\((?<r>(?:\+|-)?\d+), *(?<g>(?:\+|-)?\d+), *(?<b>(?:\+|-)?\d+)\)/);
|
|
3589
|
+
if (!color) {
|
|
3590
|
+
throw new Error('Invalid color format ' + css);
|
|
3591
|
+
}
|
|
3592
|
+
const r = parseInt(color.groups?.r ?? '0');
|
|
3593
|
+
const g = parseInt(color.groups?.g ?? '0');
|
|
3594
|
+
const b = parseInt(color.groups?.b ?? '0');
|
|
3595
|
+
return new Color(new RGBA(r, g, b));
|
|
3596
|
+
}
|
|
3597
|
+
// TODO: Support more formats as needed
|
|
3598
|
+
return parseNamedKeyword(css);
|
|
3599
|
+
}
|
|
3600
|
+
CSS.parse = parse;
|
|
3601
|
+
function parseNamedKeyword(css) {
|
|
3602
|
+
// https://drafts.csswg.org/css-color/#named-colors
|
|
3603
|
+
switch (css) {
|
|
3604
|
+
case 'aliceblue': return new Color(new RGBA(240, 248, 255, 1));
|
|
3605
|
+
case 'antiquewhite': return new Color(new RGBA(250, 235, 215, 1));
|
|
3606
|
+
case 'aqua': return new Color(new RGBA(0, 255, 255, 1));
|
|
3607
|
+
case 'aquamarine': return new Color(new RGBA(127, 255, 212, 1));
|
|
3608
|
+
case 'azure': return new Color(new RGBA(240, 255, 255, 1));
|
|
3609
|
+
case 'beige': return new Color(new RGBA(245, 245, 220, 1));
|
|
3610
|
+
case 'bisque': return new Color(new RGBA(255, 228, 196, 1));
|
|
3611
|
+
case 'black': return new Color(new RGBA(0, 0, 0, 1));
|
|
3612
|
+
case 'blanchedalmond': return new Color(new RGBA(255, 235, 205, 1));
|
|
3613
|
+
case 'blue': return new Color(new RGBA(0, 0, 255, 1));
|
|
3614
|
+
case 'blueviolet': return new Color(new RGBA(138, 43, 226, 1));
|
|
3615
|
+
case 'brown': return new Color(new RGBA(165, 42, 42, 1));
|
|
3616
|
+
case 'burlywood': return new Color(new RGBA(222, 184, 135, 1));
|
|
3617
|
+
case 'cadetblue': return new Color(new RGBA(95, 158, 160, 1));
|
|
3618
|
+
case 'chartreuse': return new Color(new RGBA(127, 255, 0, 1));
|
|
3619
|
+
case 'chocolate': return new Color(new RGBA(210, 105, 30, 1));
|
|
3620
|
+
case 'coral': return new Color(new RGBA(255, 127, 80, 1));
|
|
3621
|
+
case 'cornflowerblue': return new Color(new RGBA(100, 149, 237, 1));
|
|
3622
|
+
case 'cornsilk': return new Color(new RGBA(255, 248, 220, 1));
|
|
3623
|
+
case 'crimson': return new Color(new RGBA(220, 20, 60, 1));
|
|
3624
|
+
case 'cyan': return new Color(new RGBA(0, 255, 255, 1));
|
|
3625
|
+
case 'darkblue': return new Color(new RGBA(0, 0, 139, 1));
|
|
3626
|
+
case 'darkcyan': return new Color(new RGBA(0, 139, 139, 1));
|
|
3627
|
+
case 'darkgoldenrod': return new Color(new RGBA(184, 134, 11, 1));
|
|
3628
|
+
case 'darkgray': return new Color(new RGBA(169, 169, 169, 1));
|
|
3629
|
+
case 'darkgreen': return new Color(new RGBA(0, 100, 0, 1));
|
|
3630
|
+
case 'darkgrey': return new Color(new RGBA(169, 169, 169, 1));
|
|
3631
|
+
case 'darkkhaki': return new Color(new RGBA(189, 183, 107, 1));
|
|
3632
|
+
case 'darkmagenta': return new Color(new RGBA(139, 0, 139, 1));
|
|
3633
|
+
case 'darkolivegreen': return new Color(new RGBA(85, 107, 47, 1));
|
|
3634
|
+
case 'darkorange': return new Color(new RGBA(255, 140, 0, 1));
|
|
3635
|
+
case 'darkorchid': return new Color(new RGBA(153, 50, 204, 1));
|
|
3636
|
+
case 'darkred': return new Color(new RGBA(139, 0, 0, 1));
|
|
3637
|
+
case 'darksalmon': return new Color(new RGBA(233, 150, 122, 1));
|
|
3638
|
+
case 'darkseagreen': return new Color(new RGBA(143, 188, 143, 1));
|
|
3639
|
+
case 'darkslateblue': return new Color(new RGBA(72, 61, 139, 1));
|
|
3640
|
+
case 'darkslategray': return new Color(new RGBA(47, 79, 79, 1));
|
|
3641
|
+
case 'darkslategrey': return new Color(new RGBA(47, 79, 79, 1));
|
|
3642
|
+
case 'darkturquoise': return new Color(new RGBA(0, 206, 209, 1));
|
|
3643
|
+
case 'darkviolet': return new Color(new RGBA(148, 0, 211, 1));
|
|
3644
|
+
case 'deeppink': return new Color(new RGBA(255, 20, 147, 1));
|
|
3645
|
+
case 'deepskyblue': return new Color(new RGBA(0, 191, 255, 1));
|
|
3646
|
+
case 'dimgray': return new Color(new RGBA(105, 105, 105, 1));
|
|
3647
|
+
case 'dimgrey': return new Color(new RGBA(105, 105, 105, 1));
|
|
3648
|
+
case 'dodgerblue': return new Color(new RGBA(30, 144, 255, 1));
|
|
3649
|
+
case 'firebrick': return new Color(new RGBA(178, 34, 34, 1));
|
|
3650
|
+
case 'floralwhite': return new Color(new RGBA(255, 250, 240, 1));
|
|
3651
|
+
case 'forestgreen': return new Color(new RGBA(34, 139, 34, 1));
|
|
3652
|
+
case 'fuchsia': return new Color(new RGBA(255, 0, 255, 1));
|
|
3653
|
+
case 'gainsboro': return new Color(new RGBA(220, 220, 220, 1));
|
|
3654
|
+
case 'ghostwhite': return new Color(new RGBA(248, 248, 255, 1));
|
|
3655
|
+
case 'gold': return new Color(new RGBA(255, 215, 0, 1));
|
|
3656
|
+
case 'goldenrod': return new Color(new RGBA(218, 165, 32, 1));
|
|
3657
|
+
case 'gray': return new Color(new RGBA(128, 128, 128, 1));
|
|
3658
|
+
case 'green': return new Color(new RGBA(0, 128, 0, 1));
|
|
3659
|
+
case 'greenyellow': return new Color(new RGBA(173, 255, 47, 1));
|
|
3660
|
+
case 'grey': return new Color(new RGBA(128, 128, 128, 1));
|
|
3661
|
+
case 'honeydew': return new Color(new RGBA(240, 255, 240, 1));
|
|
3662
|
+
case 'hotpink': return new Color(new RGBA(255, 105, 180, 1));
|
|
3663
|
+
case 'indianred': return new Color(new RGBA(205, 92, 92, 1));
|
|
3664
|
+
case 'indigo': return new Color(new RGBA(75, 0, 130, 1));
|
|
3665
|
+
case 'ivory': return new Color(new RGBA(255, 255, 240, 1));
|
|
3666
|
+
case 'khaki': return new Color(new RGBA(240, 230, 140, 1));
|
|
3667
|
+
case 'lavender': return new Color(new RGBA(230, 230, 250, 1));
|
|
3668
|
+
case 'lavenderblush': return new Color(new RGBA(255, 240, 245, 1));
|
|
3669
|
+
case 'lawngreen': return new Color(new RGBA(124, 252, 0, 1));
|
|
3670
|
+
case 'lemonchiffon': return new Color(new RGBA(255, 250, 205, 1));
|
|
3671
|
+
case 'lightblue': return new Color(new RGBA(173, 216, 230, 1));
|
|
3672
|
+
case 'lightcoral': return new Color(new RGBA(240, 128, 128, 1));
|
|
3673
|
+
case 'lightcyan': return new Color(new RGBA(224, 255, 255, 1));
|
|
3674
|
+
case 'lightgoldenrodyellow': return new Color(new RGBA(250, 250, 210, 1));
|
|
3675
|
+
case 'lightgray': return new Color(new RGBA(211, 211, 211, 1));
|
|
3676
|
+
case 'lightgreen': return new Color(new RGBA(144, 238, 144, 1));
|
|
3677
|
+
case 'lightgrey': return new Color(new RGBA(211, 211, 211, 1));
|
|
3678
|
+
case 'lightpink': return new Color(new RGBA(255, 182, 193, 1));
|
|
3679
|
+
case 'lightsalmon': return new Color(new RGBA(255, 160, 122, 1));
|
|
3680
|
+
case 'lightseagreen': return new Color(new RGBA(32, 178, 170, 1));
|
|
3681
|
+
case 'lightskyblue': return new Color(new RGBA(135, 206, 250, 1));
|
|
3682
|
+
case 'lightslategray': return new Color(new RGBA(119, 136, 153, 1));
|
|
3683
|
+
case 'lightslategrey': return new Color(new RGBA(119, 136, 153, 1));
|
|
3684
|
+
case 'lightsteelblue': return new Color(new RGBA(176, 196, 222, 1));
|
|
3685
|
+
case 'lightyellow': return new Color(new RGBA(255, 255, 224, 1));
|
|
3686
|
+
case 'lime': return new Color(new RGBA(0, 255, 0, 1));
|
|
3687
|
+
case 'limegreen': return new Color(new RGBA(50, 205, 50, 1));
|
|
3688
|
+
case 'linen': return new Color(new RGBA(250, 240, 230, 1));
|
|
3689
|
+
case 'magenta': return new Color(new RGBA(255, 0, 255, 1));
|
|
3690
|
+
case 'maroon': return new Color(new RGBA(128, 0, 0, 1));
|
|
3691
|
+
case 'mediumaquamarine': return new Color(new RGBA(102, 205, 170, 1));
|
|
3692
|
+
case 'mediumblue': return new Color(new RGBA(0, 0, 205, 1));
|
|
3693
|
+
case 'mediumorchid': return new Color(new RGBA(186, 85, 211, 1));
|
|
3694
|
+
case 'mediumpurple': return new Color(new RGBA(147, 112, 219, 1));
|
|
3695
|
+
case 'mediumseagreen': return new Color(new RGBA(60, 179, 113, 1));
|
|
3696
|
+
case 'mediumslateblue': return new Color(new RGBA(123, 104, 238, 1));
|
|
3697
|
+
case 'mediumspringgreen': return new Color(new RGBA(0, 250, 154, 1));
|
|
3698
|
+
case 'mediumturquoise': return new Color(new RGBA(72, 209, 204, 1));
|
|
3699
|
+
case 'mediumvioletred': return new Color(new RGBA(199, 21, 133, 1));
|
|
3700
|
+
case 'midnightblue': return new Color(new RGBA(25, 25, 112, 1));
|
|
3701
|
+
case 'mintcream': return new Color(new RGBA(245, 255, 250, 1));
|
|
3702
|
+
case 'mistyrose': return new Color(new RGBA(255, 228, 225, 1));
|
|
3703
|
+
case 'moccasin': return new Color(new RGBA(255, 228, 181, 1));
|
|
3704
|
+
case 'navajowhite': return new Color(new RGBA(255, 222, 173, 1));
|
|
3705
|
+
case 'navy': return new Color(new RGBA(0, 0, 128, 1));
|
|
3706
|
+
case 'oldlace': return new Color(new RGBA(253, 245, 230, 1));
|
|
3707
|
+
case 'olive': return new Color(new RGBA(128, 128, 0, 1));
|
|
3708
|
+
case 'olivedrab': return new Color(new RGBA(107, 142, 35, 1));
|
|
3709
|
+
case 'orange': return new Color(new RGBA(255, 165, 0, 1));
|
|
3710
|
+
case 'orangered': return new Color(new RGBA(255, 69, 0, 1));
|
|
3711
|
+
case 'orchid': return new Color(new RGBA(218, 112, 214, 1));
|
|
3712
|
+
case 'palegoldenrod': return new Color(new RGBA(238, 232, 170, 1));
|
|
3713
|
+
case 'palegreen': return new Color(new RGBA(152, 251, 152, 1));
|
|
3714
|
+
case 'paleturquoise': return new Color(new RGBA(175, 238, 238, 1));
|
|
3715
|
+
case 'palevioletred': return new Color(new RGBA(219, 112, 147, 1));
|
|
3716
|
+
case 'papayawhip': return new Color(new RGBA(255, 239, 213, 1));
|
|
3717
|
+
case 'peachpuff': return new Color(new RGBA(255, 218, 185, 1));
|
|
3718
|
+
case 'peru': return new Color(new RGBA(205, 133, 63, 1));
|
|
3719
|
+
case 'pink': return new Color(new RGBA(255, 192, 203, 1));
|
|
3720
|
+
case 'plum': return new Color(new RGBA(221, 160, 221, 1));
|
|
3721
|
+
case 'powderblue': return new Color(new RGBA(176, 224, 230, 1));
|
|
3722
|
+
case 'purple': return new Color(new RGBA(128, 0, 128, 1));
|
|
3723
|
+
case 'rebeccapurple': return new Color(new RGBA(102, 51, 153, 1));
|
|
3724
|
+
case 'red': return new Color(new RGBA(255, 0, 0, 1));
|
|
3725
|
+
case 'rosybrown': return new Color(new RGBA(188, 143, 143, 1));
|
|
3726
|
+
case 'royalblue': return new Color(new RGBA(65, 105, 225, 1));
|
|
3727
|
+
case 'saddlebrown': return new Color(new RGBA(139, 69, 19, 1));
|
|
3728
|
+
case 'salmon': return new Color(new RGBA(250, 128, 114, 1));
|
|
3729
|
+
case 'sandybrown': return new Color(new RGBA(244, 164, 96, 1));
|
|
3730
|
+
case 'seagreen': return new Color(new RGBA(46, 139, 87, 1));
|
|
3731
|
+
case 'seashell': return new Color(new RGBA(255, 245, 238, 1));
|
|
3732
|
+
case 'sienna': return new Color(new RGBA(160, 82, 45, 1));
|
|
3733
|
+
case 'silver': return new Color(new RGBA(192, 192, 192, 1));
|
|
3734
|
+
case 'skyblue': return new Color(new RGBA(135, 206, 235, 1));
|
|
3735
|
+
case 'slateblue': return new Color(new RGBA(106, 90, 205, 1));
|
|
3736
|
+
case 'slategray': return new Color(new RGBA(112, 128, 144, 1));
|
|
3737
|
+
case 'slategrey': return new Color(new RGBA(112, 128, 144, 1));
|
|
3738
|
+
case 'snow': return new Color(new RGBA(255, 250, 250, 1));
|
|
3739
|
+
case 'springgreen': return new Color(new RGBA(0, 255, 127, 1));
|
|
3740
|
+
case 'steelblue': return new Color(new RGBA(70, 130, 180, 1));
|
|
3741
|
+
case 'tan': return new Color(new RGBA(210, 180, 140, 1));
|
|
3742
|
+
case 'teal': return new Color(new RGBA(0, 128, 128, 1));
|
|
3743
|
+
case 'thistle': return new Color(new RGBA(216, 191, 216, 1));
|
|
3744
|
+
case 'tomato': return new Color(new RGBA(255, 99, 71, 1));
|
|
3745
|
+
case 'turquoise': return new Color(new RGBA(64, 224, 208, 1));
|
|
3746
|
+
case 'violet': return new Color(new RGBA(238, 130, 238, 1));
|
|
3747
|
+
case 'wheat': return new Color(new RGBA(245, 222, 179, 1));
|
|
3748
|
+
case 'white': return new Color(new RGBA(255, 255, 255, 1));
|
|
3749
|
+
case 'whitesmoke': return new Color(new RGBA(245, 245, 245, 1));
|
|
3750
|
+
case 'yellow': return new Color(new RGBA(255, 255, 0, 1));
|
|
3751
|
+
case 'yellowgreen': return new Color(new RGBA(154, 205, 50, 1));
|
|
3752
|
+
default: return null;
|
|
3753
|
+
}
|
|
3754
|
+
}
|
|
3538
3755
|
/**
|
|
3539
3756
|
* Converts an Hex color value to a Color.
|
|
3540
3757
|
* returns r, g, and b are contained in the set [0, 255]
|
|
@@ -3618,6 +3835,57 @@ class Color {
|
|
|
3618
3835
|
|
|
3619
3836
|
/***/ }),
|
|
3620
3837
|
|
|
3838
|
+
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/date.js":
|
|
3839
|
+
/*!**********************************************************************************!*\
|
|
3840
|
+
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/date.js ***!
|
|
3841
|
+
\**********************************************************************************/
|
|
3842
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
3843
|
+
|
|
3844
|
+
"use strict";
|
|
3845
|
+
__webpack_require__.r(__webpack_exports__);
|
|
3846
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
3847
|
+
/* harmony export */ safeIntl: () => (/* binding */ safeIntl)
|
|
3848
|
+
/* harmony export */ });
|
|
3849
|
+
/* harmony import */ var _platform_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./platform.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/platform.js");
|
|
3850
|
+
|
|
3851
|
+
const safeIntl = {
|
|
3852
|
+
DateTimeFormat(locales, options) {
|
|
3853
|
+
try {
|
|
3854
|
+
return new Intl.DateTimeFormat(locales, options);
|
|
3855
|
+
}
|
|
3856
|
+
catch {
|
|
3857
|
+
return new Intl.DateTimeFormat(undefined, options);
|
|
3858
|
+
}
|
|
3859
|
+
},
|
|
3860
|
+
Collator(locales, options) {
|
|
3861
|
+
try {
|
|
3862
|
+
return new Intl.Collator(locales, options);
|
|
3863
|
+
}
|
|
3864
|
+
catch {
|
|
3865
|
+
return new Intl.Collator(undefined, options);
|
|
3866
|
+
}
|
|
3867
|
+
},
|
|
3868
|
+
Segmenter(locales, options) {
|
|
3869
|
+
try {
|
|
3870
|
+
return new Intl.Segmenter(locales, options);
|
|
3871
|
+
}
|
|
3872
|
+
catch {
|
|
3873
|
+
return new Intl.Segmenter(undefined, options);
|
|
3874
|
+
}
|
|
3875
|
+
},
|
|
3876
|
+
Locale(tag, options) {
|
|
3877
|
+
try {
|
|
3878
|
+
return new Intl.Locale(tag, options);
|
|
3879
|
+
}
|
|
3880
|
+
catch {
|
|
3881
|
+
return new Intl.Locale(_platform_js__WEBPACK_IMPORTED_MODULE_0__.LANGUAGE_DEFAULT, options);
|
|
3882
|
+
}
|
|
3883
|
+
}
|
|
3884
|
+
};
|
|
3885
|
+
//# sourceMappingURL=date.js.map
|
|
3886
|
+
|
|
3887
|
+
/***/ }),
|
|
3888
|
+
|
|
3621
3889
|
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/diff/diff.js":
|
|
3622
3890
|
/*!***************************************************************************************!*\
|
|
3623
3891
|
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/diff/diff.js ***!
|
|
@@ -4799,14 +5067,16 @@ function onUnexpectedExternalError(e) {
|
|
|
4799
5067
|
}
|
|
4800
5068
|
function transformErrorForSerialization(error) {
|
|
4801
5069
|
if (error instanceof Error) {
|
|
4802
|
-
const { name, message } = error;
|
|
5070
|
+
const { name, message, cause } = error;
|
|
4803
5071
|
const stack = error.stacktrace || error.stack;
|
|
4804
5072
|
return {
|
|
4805
5073
|
$isError: true,
|
|
4806
5074
|
name,
|
|
4807
5075
|
message,
|
|
4808
5076
|
stack,
|
|
4809
|
-
noTelemetry: ErrorNoTelemetry.isErrorNoTelemetry(error)
|
|
5077
|
+
noTelemetry: ErrorNoTelemetry.isErrorNoTelemetry(error),
|
|
5078
|
+
cause: cause ? transformErrorForSerialization(cause) : undefined,
|
|
5079
|
+
code: error.code
|
|
4810
5080
|
};
|
|
4811
5081
|
}
|
|
4812
5082
|
// return as is
|
|
@@ -4934,10 +5204,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
4934
5204
|
|
|
4935
5205
|
|
|
4936
5206
|
|
|
4937
|
-
// -----------------------------------------------------------------------------------------------------------------------
|
|
4938
|
-
// Uncomment the next line to print warnings whenever a listener is GC'ed without having been disposed. This is a LEAK.
|
|
4939
|
-
// -----------------------------------------------------------------------------------------------------------------------
|
|
4940
|
-
const _enableListenerGCedWarning = false;
|
|
4941
5207
|
// -----------------------------------------------------------------------------------------------------------------------
|
|
4942
5208
|
// Uncomment the next line to print warnings whenever an emitter with listeners is disposed. That is a sign of code smell.
|
|
4943
5209
|
// -----------------------------------------------------------------------------------------------------------------------
|
|
@@ -5413,8 +5679,8 @@ var Event;
|
|
|
5413
5679
|
/**
|
|
5414
5680
|
* Creates a promise out of an event, using the {@link Event.once} helper.
|
|
5415
5681
|
*/
|
|
5416
|
-
function toPromise(event) {
|
|
5417
|
-
return new Promise(resolve => once(event)(resolve));
|
|
5682
|
+
function toPromise(event, disposables) {
|
|
5683
|
+
return new Promise(resolve => once(event)(resolve, null, disposables));
|
|
5418
5684
|
}
|
|
5419
5685
|
Event.toPromise = toPromise;
|
|
5420
5686
|
/**
|
|
@@ -5687,23 +5953,6 @@ const forEachListener = (listeners, fn) => {
|
|
|
5687
5953
|
}
|
|
5688
5954
|
}
|
|
5689
5955
|
};
|
|
5690
|
-
let _listenerFinalizers;
|
|
5691
|
-
if (_enableListenerGCedWarning) {
|
|
5692
|
-
const leaks = [];
|
|
5693
|
-
setInterval(() => {
|
|
5694
|
-
if (leaks.length === 0) {
|
|
5695
|
-
return;
|
|
5696
|
-
}
|
|
5697
|
-
console.warn('[LEAKING LISTENERS] GC\'ed these listeners that were NOT yet disposed:');
|
|
5698
|
-
console.warn(leaks.join('\n'));
|
|
5699
|
-
leaks.length = 0;
|
|
5700
|
-
}, 3000);
|
|
5701
|
-
_listenerFinalizers = new FinalizationRegistry(heldValue => {
|
|
5702
|
-
if (typeof heldValue === 'string') {
|
|
5703
|
-
leaks.push(heldValue);
|
|
5704
|
-
}
|
|
5705
|
-
});
|
|
5706
|
-
}
|
|
5707
5956
|
/**
|
|
5708
5957
|
* The Emitter can be used to expose an Event to the public
|
|
5709
5958
|
* to fire it from the insides.
|
|
@@ -5812,7 +6061,6 @@ class Emitter {
|
|
|
5812
6061
|
this._options?.onDidAddListener?.(this);
|
|
5813
6062
|
this._size++;
|
|
5814
6063
|
const result = (0,_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.toDisposable)(() => {
|
|
5815
|
-
_listenerFinalizers?.unregister(result);
|
|
5816
6064
|
removeMonitor?.();
|
|
5817
6065
|
this._removeListener(contained);
|
|
5818
6066
|
});
|
|
@@ -5822,11 +6070,6 @@ class Emitter {
|
|
|
5822
6070
|
else if (Array.isArray(disposables)) {
|
|
5823
6071
|
disposables.push(result);
|
|
5824
6072
|
}
|
|
5825
|
-
if (_listenerFinalizers) {
|
|
5826
|
-
const stack = new Error().stack.split('\n').slice(2, 3).join('\n').trim();
|
|
5827
|
-
const match = /(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(stack);
|
|
5828
|
-
_listenerFinalizers.register(result, match?.[2] ?? stack, result);
|
|
5829
|
-
}
|
|
5830
6073
|
return result;
|
|
5831
6074
|
};
|
|
5832
6075
|
return this._event;
|
|
@@ -7404,10 +7647,12 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
7404
7647
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
7405
7648
|
/* harmony export */ Iterable: () => (/* binding */ Iterable)
|
|
7406
7649
|
/* harmony export */ });
|
|
7650
|
+
/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/types.js");
|
|
7407
7651
|
/*---------------------------------------------------------------------------------------------
|
|
7408
7652
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7409
7653
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
7410
7654
|
*--------------------------------------------------------------------------------------------*/
|
|
7655
|
+
|
|
7411
7656
|
var Iterable;
|
|
7412
7657
|
(function (Iterable) {
|
|
7413
7658
|
function is(thing) {
|
|
@@ -7492,8 +7737,13 @@ var Iterable;
|
|
|
7492
7737
|
}
|
|
7493
7738
|
Iterable.flatMap = flatMap;
|
|
7494
7739
|
function* concat(...iterables) {
|
|
7495
|
-
for (const
|
|
7496
|
-
|
|
7740
|
+
for (const item of iterables) {
|
|
7741
|
+
if ((0,_types_js__WEBPACK_IMPORTED_MODULE_0__.isIterable)(item)) {
|
|
7742
|
+
yield* item;
|
|
7743
|
+
}
|
|
7744
|
+
else {
|
|
7745
|
+
yield item;
|
|
7746
|
+
}
|
|
7497
7747
|
}
|
|
7498
7748
|
}
|
|
7499
7749
|
Iterable.concat = concat;
|
|
@@ -9155,11 +9405,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9155
9405
|
/* harmony export */ BidirectionalMap: () => (/* binding */ BidirectionalMap),
|
|
9156
9406
|
/* harmony export */ LRUCache: () => (/* binding */ LRUCache),
|
|
9157
9407
|
/* harmony export */ LinkedMap: () => (/* binding */ LinkedMap),
|
|
9408
|
+
/* harmony export */ NKeyMap: () => (/* binding */ NKeyMap),
|
|
9158
9409
|
/* harmony export */ ResourceMap: () => (/* binding */ ResourceMap),
|
|
9159
9410
|
/* harmony export */ SetMap: () => (/* binding */ SetMap),
|
|
9160
|
-
/* harmony export */
|
|
9161
|
-
/* harmony export */ Touch: () => (/* binding */ Touch),
|
|
9162
|
-
/* harmony export */ TwoKeyMap: () => (/* binding */ TwoKeyMap)
|
|
9411
|
+
/* harmony export */ Touch: () => (/* binding */ Touch)
|
|
9163
9412
|
/* harmony export */ });
|
|
9164
9413
|
/*---------------------------------------------------------------------------------------------
|
|
9165
9414
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -9753,64 +10002,75 @@ class SetMap {
|
|
|
9753
10002
|
}
|
|
9754
10003
|
}
|
|
9755
10004
|
/**
|
|
9756
|
-
* A map that is addressable with
|
|
9757
|
-
* where creating a composite key whenever the data is accessed is too expensive.
|
|
10005
|
+
* A map that is addressable with an arbitrary number of keys. This is useful in high performance
|
|
10006
|
+
* scenarios where creating a composite key whenever the data is accessed is too expensive. For
|
|
10007
|
+
* example for a very hot function, constructing a string like `first-second-third` for every call
|
|
10008
|
+
* will cause a significant hit to performance.
|
|
9758
10009
|
*/
|
|
9759
|
-
class
|
|
10010
|
+
class NKeyMap {
|
|
9760
10011
|
constructor() {
|
|
9761
|
-
this._data =
|
|
10012
|
+
this._data = new Map();
|
|
9762
10013
|
}
|
|
9763
|
-
|
|
9764
|
-
|
|
9765
|
-
|
|
10014
|
+
/**
|
|
10015
|
+
* Sets a value on the map. Note that unlike a standard `Map`, the first argument is the value.
|
|
10016
|
+
* This is because the spread operator is used for the keys and must be last..
|
|
10017
|
+
* @param value The value to set.
|
|
10018
|
+
* @param keys The keys for the value.
|
|
10019
|
+
*/
|
|
10020
|
+
set(value, ...keys) {
|
|
10021
|
+
let currentMap = this._data;
|
|
10022
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
10023
|
+
if (!currentMap.has(keys[i])) {
|
|
10024
|
+
currentMap.set(keys[i], new Map());
|
|
10025
|
+
}
|
|
10026
|
+
currentMap = currentMap.get(keys[i]);
|
|
9766
10027
|
}
|
|
9767
|
-
|
|
10028
|
+
currentMap.set(keys[keys.length - 1], value);
|
|
9768
10029
|
}
|
|
9769
|
-
get(
|
|
9770
|
-
|
|
10030
|
+
get(...keys) {
|
|
10031
|
+
let currentMap = this._data;
|
|
10032
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
10033
|
+
if (!currentMap.has(keys[i])) {
|
|
10034
|
+
return undefined;
|
|
10035
|
+
}
|
|
10036
|
+
currentMap = currentMap.get(keys[i]);
|
|
10037
|
+
}
|
|
10038
|
+
return currentMap.get(keys[keys.length - 1]);
|
|
9771
10039
|
}
|
|
9772
10040
|
clear() {
|
|
9773
|
-
this._data
|
|
10041
|
+
this._data.clear();
|
|
9774
10042
|
}
|
|
9775
10043
|
*values() {
|
|
9776
|
-
|
|
9777
|
-
for (const
|
|
9778
|
-
|
|
9779
|
-
|
|
10044
|
+
function* iterate(map) {
|
|
10045
|
+
for (const value of map.values()) {
|
|
10046
|
+
if (value instanceof Map) {
|
|
10047
|
+
yield* iterate(value);
|
|
10048
|
+
}
|
|
10049
|
+
else {
|
|
9780
10050
|
yield value;
|
|
9781
10051
|
}
|
|
9782
10052
|
}
|
|
9783
10053
|
}
|
|
10054
|
+
yield* iterate(this._data);
|
|
9784
10055
|
}
|
|
9785
|
-
|
|
9786
|
-
|
|
9787
|
-
|
|
9788
|
-
|
|
9789
|
-
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
this._data[first].set(second, third, value);
|
|
9799
|
-
}
|
|
9800
|
-
get(first, second, third) {
|
|
9801
|
-
return this._data[first]?.get(second, third);
|
|
9802
|
-
}
|
|
9803
|
-
clear() {
|
|
9804
|
-
this._data = {};
|
|
9805
|
-
}
|
|
9806
|
-
*values() {
|
|
9807
|
-
for (const first in this._data) {
|
|
9808
|
-
for (const value of this._data[first].values()) {
|
|
9809
|
-
if (value) {
|
|
9810
|
-
yield value;
|
|
10056
|
+
/**
|
|
10057
|
+
* Get a textual representation of the map for debugging purposes.
|
|
10058
|
+
*/
|
|
10059
|
+
toString() {
|
|
10060
|
+
const printMap = (map, depth) => {
|
|
10061
|
+
let result = '';
|
|
10062
|
+
for (const [key, value] of map) {
|
|
10063
|
+
result += `${' '.repeat(depth)}${key}: `;
|
|
10064
|
+
if (value instanceof Map) {
|
|
10065
|
+
result += '\n' + printMap(value, depth + 1);
|
|
10066
|
+
}
|
|
10067
|
+
else {
|
|
10068
|
+
result += `${value}\n`;
|
|
9811
10069
|
}
|
|
9812
10070
|
}
|
|
9813
|
-
|
|
10071
|
+
return result;
|
|
10072
|
+
};
|
|
10073
|
+
return printMap(this._data, 0);
|
|
9814
10074
|
}
|
|
9815
10075
|
}
|
|
9816
10076
|
//# sourceMappingURL=map.js.map
|
|
@@ -9855,7 +10115,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
9855
10115
|
/* harmony export */ Schemas: () => (/* binding */ Schemas),
|
|
9856
10116
|
/* harmony export */ VSCODE_AUTHORITY: () => (/* binding */ VSCODE_AUTHORITY),
|
|
9857
10117
|
/* harmony export */ connectionTokenQueryName: () => (/* binding */ connectionTokenQueryName),
|
|
9858
|
-
/* harmony export */
|
|
10118
|
+
/* harmony export */ getServerProductSegment: () => (/* binding */ getServerProductSegment),
|
|
9859
10119
|
/* harmony export */ matchesScheme: () => (/* binding */ matchesScheme),
|
|
9860
10120
|
/* harmony export */ matchesSomeScheme: () => (/* binding */ matchesSomeScheme)
|
|
9861
10121
|
/* harmony export */ });
|
|
@@ -9998,7 +10258,7 @@ class RemoteAuthoritiesImpl {
|
|
|
9998
10258
|
this._delegate = delegate;
|
|
9999
10259
|
}
|
|
10000
10260
|
setServerRootPath(product, serverBasePath) {
|
|
10001
|
-
this._serverRootPath =
|
|
10261
|
+
this._serverRootPath = _path_js__WEBPACK_IMPORTED_MODULE_4__.posix.join(serverBasePath ?? '/', getServerProductSegment(product));
|
|
10002
10262
|
}
|
|
10003
10263
|
getServerRootPath() {
|
|
10004
10264
|
return this._serverRootPath;
|
|
@@ -10046,8 +10306,8 @@ class RemoteAuthoritiesImpl {
|
|
|
10046
10306
|
}
|
|
10047
10307
|
}
|
|
10048
10308
|
const RemoteAuthorities = new RemoteAuthoritiesImpl();
|
|
10049
|
-
function
|
|
10050
|
-
return
|
|
10309
|
+
function getServerProductSegment(product) {
|
|
10310
|
+
return `${product.quality ?? 'oss'}-${product.commit ?? 'dev'}`;
|
|
10051
10311
|
}
|
|
10052
10312
|
const VSCODE_AUTHORITY = 'vscode-app';
|
|
10053
10313
|
class FileAccessImpl {
|
|
@@ -10204,12 +10464,15 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10204
10464
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
10205
10465
|
/* harmony export */ MovingAverage: () => (/* binding */ MovingAverage),
|
|
10206
10466
|
/* harmony export */ SlidingWindowAverage: () => (/* binding */ SlidingWindowAverage),
|
|
10207
|
-
/* harmony export */ clamp: () => (/* binding */ clamp)
|
|
10467
|
+
/* harmony export */ clamp: () => (/* binding */ clamp),
|
|
10468
|
+
/* harmony export */ randomInt: () => (/* binding */ randomInt)
|
|
10208
10469
|
/* harmony export */ });
|
|
10470
|
+
/* harmony import */ var _assert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assert.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/assert.js");
|
|
10209
10471
|
/*---------------------------------------------------------------------------------------------
|
|
10210
10472
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
10211
10473
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
10212
10474
|
*--------------------------------------------------------------------------------------------*/
|
|
10475
|
+
|
|
10213
10476
|
function clamp(value, min, max) {
|
|
10214
10477
|
return Math.min(Math.max(value, min), max);
|
|
10215
10478
|
}
|
|
@@ -10253,6 +10516,61 @@ class SlidingWindowAverage {
|
|
|
10253
10516
|
return this._val;
|
|
10254
10517
|
}
|
|
10255
10518
|
}
|
|
10519
|
+
/**
|
|
10520
|
+
* Function to get a (pseudo)random integer from a provided `max`...[`min`] range.
|
|
10521
|
+
* Both `min` and `max` values are inclusive. The `min` value is optional and defaults
|
|
10522
|
+
* to `0` if not explicitely specified.
|
|
10523
|
+
*
|
|
10524
|
+
* @throws in the next cases:
|
|
10525
|
+
* - if provided `min` or `max` is not a number
|
|
10526
|
+
* - if provided `min` or `max` is not finite
|
|
10527
|
+
* - if provided `min` is larger than `max` value
|
|
10528
|
+
*
|
|
10529
|
+
* ## Examples
|
|
10530
|
+
*
|
|
10531
|
+
* Specifying a `max` value only uses `0` as the `min` value by default:
|
|
10532
|
+
*
|
|
10533
|
+
* ```typescript
|
|
10534
|
+
* // get a random integer between 0 and 10
|
|
10535
|
+
* const randomInt = randomInt(10);
|
|
10536
|
+
*
|
|
10537
|
+
* assert(
|
|
10538
|
+
* randomInt >= 0,
|
|
10539
|
+
* 'Should be greater than or equal to 0.',
|
|
10540
|
+
* );
|
|
10541
|
+
*
|
|
10542
|
+
* assert(
|
|
10543
|
+
* randomInt <= 10,
|
|
10544
|
+
* 'Should be less than or equal to 10.',
|
|
10545
|
+
* );
|
|
10546
|
+
* ```
|
|
10547
|
+
* * Specifying both `max` and `min` values:
|
|
10548
|
+
*
|
|
10549
|
+
* ```typescript
|
|
10550
|
+
* // get a random integer between 5 and 8
|
|
10551
|
+
* const randomInt = randomInt(8, 5);
|
|
10552
|
+
*
|
|
10553
|
+
* assert(
|
|
10554
|
+
* randomInt >= 5,
|
|
10555
|
+
* 'Should be greater than or equal to 5.',
|
|
10556
|
+
* );
|
|
10557
|
+
*
|
|
10558
|
+
* assert(
|
|
10559
|
+
* randomInt <= 8,
|
|
10560
|
+
* 'Should be less than or equal to 8.',
|
|
10561
|
+
* );
|
|
10562
|
+
* ```
|
|
10563
|
+
*/
|
|
10564
|
+
const randomInt = (max, min = 0) => {
|
|
10565
|
+
(0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assert)(!isNaN(min), '"min" param is not a number.');
|
|
10566
|
+
(0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assert)(!isNaN(max), '"max" param is not a number.');
|
|
10567
|
+
(0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assert)(isFinite(max), '"max" param is not finite.');
|
|
10568
|
+
(0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assert)(isFinite(min), '"min" param is not finite.');
|
|
10569
|
+
(0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assert)(max > min, `"max"(${max}) param should be greater than "min"(${min}).`);
|
|
10570
|
+
const delta = max - min;
|
|
10571
|
+
const randomFloat = delta * Math.random();
|
|
10572
|
+
return Math.round(min + randomFloat);
|
|
10573
|
+
};
|
|
10256
10574
|
//# sourceMappingURL=numbers.js.map
|
|
10257
10575
|
|
|
10258
10576
|
/***/ }),
|
|
@@ -10495,8 +10813,6 @@ function createProxyObject(methodNames, invoke) {
|
|
|
10495
10813
|
"use strict";
|
|
10496
10814
|
__webpack_require__.r(__webpack_exports__);
|
|
10497
10815
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
10498
|
-
/* harmony export */ ObservablePromise: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.ObservablePromise),
|
|
10499
|
-
/* harmony export */ PromiseResult: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.PromiseResult),
|
|
10500
10816
|
/* harmony export */ TransactionImpl: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.TransactionImpl),
|
|
10501
10817
|
/* harmony export */ ValueWithChangeEventFromObservable: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.ValueWithChangeEventFromObservable),
|
|
10502
10818
|
/* harmony export */ asyncTransaction: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.asyncTransaction),
|
|
@@ -10513,7 +10829,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10513
10829
|
/* harmony export */ derivedObservableWithCache: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.derivedObservableWithCache),
|
|
10514
10830
|
/* harmony export */ derivedObservableWithWritableCache: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.derivedObservableWithWritableCache),
|
|
10515
10831
|
/* harmony export */ derivedOpts: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.derivedOpts),
|
|
10516
|
-
/* harmony export */ derivedWithCancellationToken: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.derivedWithCancellationToken),
|
|
10517
10832
|
/* harmony export */ derivedWithSetter: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.derivedWithSetter),
|
|
10518
10833
|
/* harmony export */ derivedWithStore: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.derivedWithStore),
|
|
10519
10834
|
/* harmony export */ disposableObservableValue: () => (/* reexport safe */ _observableInternal_index_js__WEBPACK_IMPORTED_MODULE_0__.disposableObservableValue),
|
|
@@ -10915,6 +11230,10 @@ class ConvenientObservable {
|
|
|
10915
11230
|
debugReferenceFn: fn,
|
|
10916
11231
|
}, (reader) => fn(this.read(reader), reader));
|
|
10917
11232
|
}
|
|
11233
|
+
log() {
|
|
11234
|
+
(0,_logging_js__WEBPACK_IMPORTED_MODULE_2__.logObservable)(this);
|
|
11235
|
+
return this;
|
|
11236
|
+
}
|
|
10918
11237
|
/**
|
|
10919
11238
|
* @sealed
|
|
10920
11239
|
* Converts an observable of an observable value into a direct observable of the value.
|
|
@@ -11458,6 +11777,7 @@ class Derived extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseObservable {
|
|
|
11458
11777
|
this.changeSummary = undefined;
|
|
11459
11778
|
this._isUpdating = false;
|
|
11460
11779
|
this._isComputing = false;
|
|
11780
|
+
this._removedObserverToCallEndUpdateOn = null;
|
|
11461
11781
|
// IReader Implementation
|
|
11462
11782
|
this._isReaderValid = false;
|
|
11463
11783
|
this.changeSummary = this.createChangeSummary?.();
|
|
@@ -11470,6 +11790,7 @@ class Derived extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseObservable {
|
|
|
11470
11790
|
*/
|
|
11471
11791
|
this.state = 0 /* DerivedState.initial */;
|
|
11472
11792
|
this.value = undefined;
|
|
11793
|
+
(0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()?.handleDerivedCleared(this);
|
|
11473
11794
|
for (const d of this.dependencies) {
|
|
11474
11795
|
d.removeObserver(this);
|
|
11475
11796
|
}
|
|
@@ -11607,6 +11928,13 @@ class Derived extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseObservable {
|
|
|
11607
11928
|
for (const r of observers) {
|
|
11608
11929
|
r.endUpdate(this);
|
|
11609
11930
|
}
|
|
11931
|
+
if (this._removedObserverToCallEndUpdateOn) {
|
|
11932
|
+
const observers = [...this._removedObserverToCallEndUpdateOn];
|
|
11933
|
+
this._removedObserverToCallEndUpdateOn = null;
|
|
11934
|
+
for (const r of observers) {
|
|
11935
|
+
r.endUpdate(this);
|
|
11936
|
+
}
|
|
11937
|
+
}
|
|
11610
11938
|
}
|
|
11611
11939
|
(0,_commonFacade_deps_js__WEBPACK_IMPORTED_MODULE_2__.assertFn)(() => this.updateCount >= 0);
|
|
11612
11940
|
}
|
|
@@ -11660,16 +11988,32 @@ class Derived extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseObservable {
|
|
|
11660
11988
|
const shouldCallBeginUpdate = !this.observers.has(observer) && this.updateCount > 0;
|
|
11661
11989
|
super.addObserver(observer);
|
|
11662
11990
|
if (shouldCallBeginUpdate) {
|
|
11663
|
-
|
|
11991
|
+
if (this._removedObserverToCallEndUpdateOn && this._removedObserverToCallEndUpdateOn.has(observer)) {
|
|
11992
|
+
this._removedObserverToCallEndUpdateOn.delete(observer);
|
|
11993
|
+
}
|
|
11994
|
+
else {
|
|
11995
|
+
observer.beginUpdate(this);
|
|
11996
|
+
}
|
|
11664
11997
|
}
|
|
11665
11998
|
}
|
|
11666
11999
|
removeObserver(observer) {
|
|
11667
|
-
|
|
12000
|
+
if (this.observers.has(observer) && this.updateCount > 0) {
|
|
12001
|
+
if (!this._removedObserverToCallEndUpdateOn) {
|
|
12002
|
+
this._removedObserverToCallEndUpdateOn = new Set();
|
|
12003
|
+
}
|
|
12004
|
+
this._removedObserverToCallEndUpdateOn.add(observer);
|
|
12005
|
+
}
|
|
11668
12006
|
super.removeObserver(observer);
|
|
11669
|
-
|
|
11670
|
-
|
|
11671
|
-
|
|
12007
|
+
}
|
|
12008
|
+
log() {
|
|
12009
|
+
if (!(0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()) {
|
|
12010
|
+
super.log();
|
|
12011
|
+
(0,_logging_js__WEBPACK_IMPORTED_MODULE_3__.getLogger)()?.handleDerivedCreated(this);
|
|
11672
12012
|
}
|
|
12013
|
+
else {
|
|
12014
|
+
super.log();
|
|
12015
|
+
}
|
|
12016
|
+
return this;
|
|
11673
12017
|
}
|
|
11674
12018
|
}
|
|
11675
12019
|
class DerivedWithSetter extends Derived {
|
|
@@ -11691,53 +12035,49 @@ class DerivedWithSetter extends Derived {
|
|
|
11691
12035
|
"use strict";
|
|
11692
12036
|
__webpack_require__.r(__webpack_exports__);
|
|
11693
12037
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11694
|
-
/* harmony export */ ObservablePromise: () => (/* reexport safe */ _promise_js__WEBPACK_IMPORTED_MODULE_4__.ObservablePromise),
|
|
11695
|
-
/* harmony export */ PromiseResult: () => (/* reexport safe */ _promise_js__WEBPACK_IMPORTED_MODULE_4__.PromiseResult),
|
|
11696
12038
|
/* harmony export */ TransactionImpl: () => (/* reexport safe */ _base_js__WEBPACK_IMPORTED_MODULE_2__.TransactionImpl),
|
|
11697
|
-
/* harmony export */ ValueWithChangeEventFromObservable: () => (/* reexport safe */
|
|
12039
|
+
/* harmony export */ ValueWithChangeEventFromObservable: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.ValueWithChangeEventFromObservable),
|
|
11698
12040
|
/* harmony export */ asyncTransaction: () => (/* reexport safe */ _base_js__WEBPACK_IMPORTED_MODULE_2__.asyncTransaction),
|
|
11699
12041
|
/* harmony export */ autorun: () => (/* reexport safe */ _autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorun),
|
|
11700
12042
|
/* harmony export */ autorunHandleChanges: () => (/* reexport safe */ _autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorunHandleChanges),
|
|
11701
12043
|
/* harmony export */ autorunOpts: () => (/* reexport safe */ _autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorunOpts),
|
|
11702
12044
|
/* harmony export */ autorunWithStore: () => (/* reexport safe */ _autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorunWithStore),
|
|
11703
12045
|
/* harmony export */ autorunWithStoreHandleChanges: () => (/* reexport safe */ _autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorunWithStoreHandleChanges),
|
|
11704
|
-
/* harmony export */ constObservable: () => (/* reexport safe */
|
|
12046
|
+
/* harmony export */ constObservable: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.constObservable),
|
|
11705
12047
|
/* harmony export */ derived: () => (/* reexport safe */ _derived_js__WEBPACK_IMPORTED_MODULE_3__.derived),
|
|
11706
|
-
/* harmony export */ derivedConstOnceDefined: () => (/* reexport safe */
|
|
12048
|
+
/* harmony export */ derivedConstOnceDefined: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.derivedConstOnceDefined),
|
|
11707
12049
|
/* harmony export */ derivedDisposable: () => (/* reexport safe */ _derived_js__WEBPACK_IMPORTED_MODULE_3__.derivedDisposable),
|
|
11708
12050
|
/* harmony export */ derivedHandleChanges: () => (/* reexport safe */ _derived_js__WEBPACK_IMPORTED_MODULE_3__.derivedHandleChanges),
|
|
11709
|
-
/* harmony export */ derivedObservableWithCache: () => (/* reexport safe */
|
|
11710
|
-
/* harmony export */ derivedObservableWithWritableCache: () => (/* reexport safe */
|
|
12051
|
+
/* harmony export */ derivedObservableWithCache: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.derivedObservableWithCache),
|
|
12052
|
+
/* harmony export */ derivedObservableWithWritableCache: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.derivedObservableWithWritableCache),
|
|
11711
12053
|
/* harmony export */ derivedOpts: () => (/* reexport safe */ _derived_js__WEBPACK_IMPORTED_MODULE_3__.derivedOpts),
|
|
11712
|
-
/* harmony export */ derivedWithCancellationToken: () => (/* reexport safe */ _utilsCancellation_js__WEBPACK_IMPORTED_MODULE_5__.derivedWithCancellationToken),
|
|
11713
12054
|
/* harmony export */ derivedWithSetter: () => (/* reexport safe */ _derived_js__WEBPACK_IMPORTED_MODULE_3__.derivedWithSetter),
|
|
11714
12055
|
/* harmony export */ derivedWithStore: () => (/* reexport safe */ _derived_js__WEBPACK_IMPORTED_MODULE_3__.derivedWithStore),
|
|
11715
12056
|
/* harmony export */ disposableObservableValue: () => (/* reexport safe */ _base_js__WEBPACK_IMPORTED_MODULE_2__.disposableObservableValue),
|
|
11716
12057
|
/* harmony export */ globalTransaction: () => (/* reexport safe */ _base_js__WEBPACK_IMPORTED_MODULE_2__.globalTransaction),
|
|
11717
|
-
/* harmony export */ keepObserved: () => (/* reexport safe */
|
|
11718
|
-
/* harmony export */ mapObservableArrayCached: () => (/* reexport safe */
|
|
11719
|
-
/* harmony export */ observableFromEvent: () => (/* reexport safe */
|
|
11720
|
-
/* harmony export */ observableFromEventOpts: () => (/* reexport safe */
|
|
11721
|
-
/* harmony export */ observableFromValueWithChangeEvent: () => (/* reexport safe */
|
|
11722
|
-
/* harmony export */ observableSignal: () => (/* reexport safe */
|
|
11723
|
-
/* harmony export */ observableSignalFromEvent: () => (/* reexport safe */
|
|
12058
|
+
/* harmony export */ keepObserved: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.keepObserved),
|
|
12059
|
+
/* harmony export */ mapObservableArrayCached: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.mapObservableArrayCached),
|
|
12060
|
+
/* harmony export */ observableFromEvent: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.observableFromEvent),
|
|
12061
|
+
/* harmony export */ observableFromEventOpts: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.observableFromEventOpts),
|
|
12062
|
+
/* harmony export */ observableFromValueWithChangeEvent: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.observableFromValueWithChangeEvent),
|
|
12063
|
+
/* harmony export */ observableSignal: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.observableSignal),
|
|
12064
|
+
/* harmony export */ observableSignalFromEvent: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.observableSignalFromEvent),
|
|
11724
12065
|
/* harmony export */ observableValue: () => (/* reexport safe */ _base_js__WEBPACK_IMPORTED_MODULE_2__.observableValue),
|
|
11725
12066
|
/* harmony export */ observableValueOpts: () => (/* reexport safe */ _api_js__WEBPACK_IMPORTED_MODULE_0__.observableValueOpts),
|
|
11726
|
-
/* harmony export */ recomputeInitiallyAndOnChange: () => (/* reexport safe */
|
|
11727
|
-
/* harmony export */ runOnChange: () => (/* reexport safe */
|
|
11728
|
-
/* harmony export */ runOnChangeWithStore: () => (/* reexport safe */
|
|
12067
|
+
/* harmony export */ recomputeInitiallyAndOnChange: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.recomputeInitiallyAndOnChange),
|
|
12068
|
+
/* harmony export */ runOnChange: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.runOnChange),
|
|
12069
|
+
/* harmony export */ runOnChangeWithStore: () => (/* reexport safe */ _utils_js__WEBPACK_IMPORTED_MODULE_5__.runOnChangeWithStore),
|
|
11729
12070
|
/* harmony export */ subtransaction: () => (/* reexport safe */ _base_js__WEBPACK_IMPORTED_MODULE_2__.subtransaction),
|
|
11730
12071
|
/* harmony export */ transaction: () => (/* reexport safe */ _base_js__WEBPACK_IMPORTED_MODULE_2__.transaction),
|
|
11731
|
-
/* harmony export */ waitForState: () => (/* reexport safe */
|
|
12072
|
+
/* harmony export */ waitForState: () => (/* reexport safe */ _utilsCancellation_js__WEBPACK_IMPORTED_MODULE_4__.waitForState)
|
|
11732
12073
|
/* harmony export */ });
|
|
11733
12074
|
/* harmony import */ var _api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/api.js");
|
|
11734
12075
|
/* harmony import */ var _autorun_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./autorun.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/autorun.js");
|
|
11735
12076
|
/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./base.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/base.js");
|
|
11736
12077
|
/* harmony import */ var _derived_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./derived.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/derived.js");
|
|
11737
|
-
/* harmony import */ var
|
|
11738
|
-
/* harmony import */ var
|
|
11739
|
-
/* harmony import */ var
|
|
11740
|
-
/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./logging.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/logging.js");
|
|
12078
|
+
/* harmony import */ var _utilsCancellation_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utilsCancellation.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/utilsCancellation.js");
|
|
12079
|
+
/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/utils.js");
|
|
12080
|
+
/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./logging.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/logging.js");
|
|
11741
12081
|
/*---------------------------------------------------------------------------------------------
|
|
11742
12082
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
11743
12083
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
@@ -11750,11 +12090,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
11750
12090
|
|
|
11751
12091
|
|
|
11752
12092
|
|
|
11753
|
-
|
|
11754
12093
|
// Remove "//" in the next line to enable logging
|
|
11755
12094
|
const enableLogging = false;
|
|
11756
12095
|
if (enableLogging) {
|
|
11757
|
-
(0,
|
|
12096
|
+
(0,_logging_js__WEBPACK_IMPORTED_MODULE_6__.setLogger)(new _logging_js__WEBPACK_IMPORTED_MODULE_6__.ConsoleObservableLogger());
|
|
11758
12097
|
}
|
|
11759
12098
|
//# sourceMappingURL=index.js.map
|
|
11760
12099
|
|
|
@@ -11772,11 +12111,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
11772
12111
|
/* harmony export */ LazyObservableValue: () => (/* binding */ LazyObservableValue)
|
|
11773
12112
|
/* harmony export */ });
|
|
11774
12113
|
/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/base.js");
|
|
12114
|
+
/* harmony import */ var _logging_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./logging.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/logging.js");
|
|
11775
12115
|
/*---------------------------------------------------------------------------------------------
|
|
11776
12116
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
11777
12117
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
11778
12118
|
*--------------------------------------------------------------------------------------------*/
|
|
11779
12119
|
|
|
12120
|
+
|
|
11780
12121
|
/**
|
|
11781
12122
|
* Holds off updating observers until the value is actually read.
|
|
11782
12123
|
*/
|
|
@@ -11803,14 +12144,16 @@ class LazyObservableValue extends _base_js__WEBPACK_IMPORTED_MODULE_0__.BaseObse
|
|
|
11803
12144
|
}
|
|
11804
12145
|
this._isUpToDate = true;
|
|
11805
12146
|
if (this._deltas.length > 0) {
|
|
11806
|
-
for (const
|
|
11807
|
-
|
|
12147
|
+
for (const change of this._deltas) {
|
|
12148
|
+
(0,_logging_js__WEBPACK_IMPORTED_MODULE_1__.getLogger)()?.handleObservableChanged(this, { change, didChange: true, oldValue: '(unknown)', newValue: this._value, hadValue: true });
|
|
12149
|
+
for (const observer of this.observers) {
|
|
11808
12150
|
observer.handleChange(this, change);
|
|
11809
12151
|
}
|
|
11810
12152
|
}
|
|
11811
12153
|
this._deltas.length = 0;
|
|
11812
12154
|
}
|
|
11813
12155
|
else {
|
|
12156
|
+
(0,_logging_js__WEBPACK_IMPORTED_MODULE_1__.getLogger)()?.handleObservableChanged(this, { change: undefined, didChange: true, oldValue: '(unknown)', newValue: this._value, hadValue: true });
|
|
11814
12157
|
for (const observer of this.observers) {
|
|
11815
12158
|
observer.handleChange(this, undefined);
|
|
11816
12159
|
}
|
|
@@ -11905,6 +12248,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
11905
12248
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11906
12249
|
/* harmony export */ ConsoleObservableLogger: () => (/* binding */ ConsoleObservableLogger),
|
|
11907
12250
|
/* harmony export */ getLogger: () => (/* binding */ getLogger),
|
|
12251
|
+
/* harmony export */ logObservable: () => (/* binding */ logObservable),
|
|
11908
12252
|
/* harmony export */ setLogger: () => (/* binding */ setLogger)
|
|
11909
12253
|
/* harmony export */ });
|
|
11910
12254
|
/*---------------------------------------------------------------------------------------------
|
|
@@ -11918,11 +12262,32 @@ function setLogger(logger) {
|
|
|
11918
12262
|
function getLogger() {
|
|
11919
12263
|
return globalObservableLogger;
|
|
11920
12264
|
}
|
|
12265
|
+
function logObservable(obs) {
|
|
12266
|
+
if (!globalObservableLogger) {
|
|
12267
|
+
const l = new ConsoleObservableLogger();
|
|
12268
|
+
l.addFilteredObj(obs);
|
|
12269
|
+
setLogger(l);
|
|
12270
|
+
}
|
|
12271
|
+
else {
|
|
12272
|
+
if (globalObservableLogger instanceof ConsoleObservableLogger) {
|
|
12273
|
+
globalObservableLogger.addFilteredObj(obs);
|
|
12274
|
+
}
|
|
12275
|
+
}
|
|
12276
|
+
}
|
|
11921
12277
|
class ConsoleObservableLogger {
|
|
11922
12278
|
constructor() {
|
|
11923
12279
|
this.indentation = 0;
|
|
11924
12280
|
this.changedObservablesSets = new WeakMap();
|
|
11925
12281
|
}
|
|
12282
|
+
addFilteredObj(obj) {
|
|
12283
|
+
if (!this._filteredObjects) {
|
|
12284
|
+
this._filteredObjects = new Set();
|
|
12285
|
+
}
|
|
12286
|
+
this._filteredObjects.add(obj);
|
|
12287
|
+
}
|
|
12288
|
+
_isIncluded(obj) {
|
|
12289
|
+
return this._filteredObjects?.has(obj) ?? true;
|
|
12290
|
+
}
|
|
11926
12291
|
textToConsoleArgs(text) {
|
|
11927
12292
|
return consoleTextToArgs([
|
|
11928
12293
|
normalText(repeat('| ', this.indentation)),
|
|
@@ -11954,6 +12319,9 @@ class ConsoleObservableLogger {
|
|
|
11954
12319
|
: [normalText(` (unchanged)`)];
|
|
11955
12320
|
}
|
|
11956
12321
|
handleObservableChanged(observable, info) {
|
|
12322
|
+
if (!this._isIncluded(observable)) {
|
|
12323
|
+
return;
|
|
12324
|
+
}
|
|
11957
12325
|
console.log(...this.textToConsoleArgs([
|
|
11958
12326
|
formatKind('observable value changed'),
|
|
11959
12327
|
styled(observable.debugName, { color: 'BlueViolet' }),
|
|
@@ -11975,9 +12343,34 @@ class ConsoleObservableLogger {
|
|
|
11975
12343
|
this.changedObservablesSets.get(derived).add(observable);
|
|
11976
12344
|
return existingHandleChange.apply(derived, [observable, change]);
|
|
11977
12345
|
};
|
|
12346
|
+
const debugTrackUpdating = false;
|
|
12347
|
+
if (debugTrackUpdating) {
|
|
12348
|
+
const updating = [];
|
|
12349
|
+
derived.__debugUpdating = updating;
|
|
12350
|
+
const existingBeginUpdate = derived.beginUpdate;
|
|
12351
|
+
derived.beginUpdate = (obs) => {
|
|
12352
|
+
updating.push(obs);
|
|
12353
|
+
return existingBeginUpdate.apply(derived, [obs]);
|
|
12354
|
+
};
|
|
12355
|
+
const existingEndUpdate = derived.endUpdate;
|
|
12356
|
+
derived.endUpdate = (obs) => {
|
|
12357
|
+
const idx = updating.indexOf(obs);
|
|
12358
|
+
if (idx === -1) {
|
|
12359
|
+
console.error('endUpdate called without beginUpdate', derived.debugName, obs.debugName);
|
|
12360
|
+
}
|
|
12361
|
+
updating.splice(idx, 1);
|
|
12362
|
+
return existingEndUpdate.apply(derived, [obs]);
|
|
12363
|
+
};
|
|
12364
|
+
}
|
|
11978
12365
|
}
|
|
11979
12366
|
handleDerivedRecomputed(derived, info) {
|
|
12367
|
+
if (!this._isIncluded(derived)) {
|
|
12368
|
+
return;
|
|
12369
|
+
}
|
|
11980
12370
|
const changedObservables = this.changedObservablesSets.get(derived);
|
|
12371
|
+
if (!changedObservables) {
|
|
12372
|
+
return;
|
|
12373
|
+
}
|
|
11981
12374
|
console.log(...this.textToConsoleArgs([
|
|
11982
12375
|
formatKind('derived recomputed'),
|
|
11983
12376
|
styled(derived.debugName, { color: 'BlueViolet' }),
|
|
@@ -11987,7 +12380,19 @@ class ConsoleObservableLogger {
|
|
|
11987
12380
|
]));
|
|
11988
12381
|
changedObservables.clear();
|
|
11989
12382
|
}
|
|
12383
|
+
handleDerivedCleared(derived) {
|
|
12384
|
+
if (!this._isIncluded(derived)) {
|
|
12385
|
+
return;
|
|
12386
|
+
}
|
|
12387
|
+
console.log(...this.textToConsoleArgs([
|
|
12388
|
+
formatKind('derived cleared'),
|
|
12389
|
+
styled(derived.debugName, { color: 'BlueViolet' }),
|
|
12390
|
+
]));
|
|
12391
|
+
}
|
|
11990
12392
|
handleFromEventObservableTriggered(observable, info) {
|
|
12393
|
+
if (!this._isIncluded(observable)) {
|
|
12394
|
+
return;
|
|
12395
|
+
}
|
|
11991
12396
|
console.log(...this.textToConsoleArgs([
|
|
11992
12397
|
formatKind('observable from event triggered'),
|
|
11993
12398
|
styled(observable.debugName, { color: 'BlueViolet' }),
|
|
@@ -11996,6 +12401,9 @@ class ConsoleObservableLogger {
|
|
|
11996
12401
|
]));
|
|
11997
12402
|
}
|
|
11998
12403
|
handleAutorunCreated(autorun) {
|
|
12404
|
+
if (!this._isIncluded(autorun)) {
|
|
12405
|
+
return;
|
|
12406
|
+
}
|
|
11999
12407
|
const existingHandleChange = autorun.handleChange;
|
|
12000
12408
|
this.changedObservablesSets.set(autorun, new Set());
|
|
12001
12409
|
autorun.handleChange = (observable, change) => {
|
|
@@ -12005,12 +12413,17 @@ class ConsoleObservableLogger {
|
|
|
12005
12413
|
}
|
|
12006
12414
|
handleAutorunTriggered(autorun) {
|
|
12007
12415
|
const changedObservables = this.changedObservablesSets.get(autorun);
|
|
12008
|
-
|
|
12009
|
-
|
|
12010
|
-
|
|
12011
|
-
|
|
12012
|
-
|
|
12013
|
-
|
|
12416
|
+
if (!changedObservables) {
|
|
12417
|
+
return;
|
|
12418
|
+
}
|
|
12419
|
+
if (this._isIncluded(autorun)) {
|
|
12420
|
+
console.log(...this.textToConsoleArgs([
|
|
12421
|
+
formatKind('autorun'),
|
|
12422
|
+
styled(autorun.debugName, { color: 'BlueViolet' }),
|
|
12423
|
+
this.formatChanges(changedObservables),
|
|
12424
|
+
{ data: [{ fn: autorun._debugNameData.referenceFn ?? autorun._runFn }] }
|
|
12425
|
+
]));
|
|
12426
|
+
}
|
|
12014
12427
|
changedObservables.clear();
|
|
12015
12428
|
this.indentation++;
|
|
12016
12429
|
}
|
|
@@ -12022,11 +12435,13 @@ class ConsoleObservableLogger {
|
|
|
12022
12435
|
if (transactionName === undefined) {
|
|
12023
12436
|
transactionName = '';
|
|
12024
12437
|
}
|
|
12025
|
-
|
|
12026
|
-
|
|
12027
|
-
|
|
12028
|
-
|
|
12029
|
-
|
|
12438
|
+
if (this._isIncluded(transaction)) {
|
|
12439
|
+
console.log(...this.textToConsoleArgs([
|
|
12440
|
+
formatKind('transaction'),
|
|
12441
|
+
styled(transactionName, { color: 'BlueViolet' }),
|
|
12442
|
+
{ data: [{ fn: transaction._fn }] }
|
|
12443
|
+
]));
|
|
12444
|
+
}
|
|
12030
12445
|
this.indentation++;
|
|
12031
12446
|
}
|
|
12032
12447
|
handleEndTransaction() {
|
|
@@ -12136,6 +12551,13 @@ function formatArray(value, availableLen) {
|
|
|
12136
12551
|
return result;
|
|
12137
12552
|
}
|
|
12138
12553
|
function formatObject(value, availableLen) {
|
|
12554
|
+
if (typeof value.toString === 'function' && value.toString !== Object.prototype.toString) {
|
|
12555
|
+
const val = value.toString();
|
|
12556
|
+
if (val.length <= availableLen) {
|
|
12557
|
+
return val;
|
|
12558
|
+
}
|
|
12559
|
+
return val.substring(0, availableLen - 3) + '...';
|
|
12560
|
+
}
|
|
12139
12561
|
let result = '{ ';
|
|
12140
12562
|
let first = true;
|
|
12141
12563
|
for (const [key, val] of Object.entries(value)) {
|
|
@@ -12169,82 +12591,6 @@ function padStr(str, length) {
|
|
|
12169
12591
|
|
|
12170
12592
|
/***/ }),
|
|
12171
12593
|
|
|
12172
|
-
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/promise.js":
|
|
12173
|
-
/*!********************************************************************************************************!*\
|
|
12174
|
-
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/promise.js ***!
|
|
12175
|
-
\********************************************************************************************************/
|
|
12176
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
12177
|
-
|
|
12178
|
-
"use strict";
|
|
12179
|
-
__webpack_require__.r(__webpack_exports__);
|
|
12180
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
12181
|
-
/* harmony export */ ObservablePromise: () => (/* binding */ ObservablePromise),
|
|
12182
|
-
/* harmony export */ PromiseResult: () => (/* binding */ PromiseResult)
|
|
12183
|
-
/* harmony export */ });
|
|
12184
|
-
/* harmony import */ var _base_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/base.js");
|
|
12185
|
-
/*---------------------------------------------------------------------------------------------
|
|
12186
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
12187
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
12188
|
-
*--------------------------------------------------------------------------------------------*/
|
|
12189
|
-
|
|
12190
|
-
/**
|
|
12191
|
-
* A promise whose state is observable.
|
|
12192
|
-
*/
|
|
12193
|
-
class ObservablePromise {
|
|
12194
|
-
static fromFn(fn) {
|
|
12195
|
-
return new ObservablePromise(fn());
|
|
12196
|
-
}
|
|
12197
|
-
constructor(promise) {
|
|
12198
|
-
this._value = (0,_base_js__WEBPACK_IMPORTED_MODULE_0__.observableValue)(this, undefined);
|
|
12199
|
-
/**
|
|
12200
|
-
* The current state of the promise.
|
|
12201
|
-
* Is `undefined` if the promise didn't resolve yet.
|
|
12202
|
-
*/
|
|
12203
|
-
this.promiseResult = this._value;
|
|
12204
|
-
this.promise = promise.then(value => {
|
|
12205
|
-
(0,_base_js__WEBPACK_IMPORTED_MODULE_0__.transaction)(tx => {
|
|
12206
|
-
/** @description onPromiseResolved */
|
|
12207
|
-
this._value.set(new PromiseResult(value, undefined), tx);
|
|
12208
|
-
});
|
|
12209
|
-
return value;
|
|
12210
|
-
}, error => {
|
|
12211
|
-
(0,_base_js__WEBPACK_IMPORTED_MODULE_0__.transaction)(tx => {
|
|
12212
|
-
/** @description onPromiseRejected */
|
|
12213
|
-
this._value.set(new PromiseResult(undefined, error), tx);
|
|
12214
|
-
});
|
|
12215
|
-
throw error;
|
|
12216
|
-
});
|
|
12217
|
-
}
|
|
12218
|
-
}
|
|
12219
|
-
class PromiseResult {
|
|
12220
|
-
constructor(
|
|
12221
|
-
/**
|
|
12222
|
-
* The value of the resolved promise.
|
|
12223
|
-
* Undefined if the promise rejected.
|
|
12224
|
-
*/
|
|
12225
|
-
data,
|
|
12226
|
-
/**
|
|
12227
|
-
* The error in case of a rejected promise.
|
|
12228
|
-
* Undefined if the promise resolved.
|
|
12229
|
-
*/
|
|
12230
|
-
error) {
|
|
12231
|
-
this.data = data;
|
|
12232
|
-
this.error = error;
|
|
12233
|
-
}
|
|
12234
|
-
/**
|
|
12235
|
-
* Returns the value if the promise resolved, otherwise throws the error.
|
|
12236
|
-
*/
|
|
12237
|
-
getDataOrThrow() {
|
|
12238
|
-
if (this.error) {
|
|
12239
|
-
throw this.error;
|
|
12240
|
-
}
|
|
12241
|
-
return this.data;
|
|
12242
|
-
}
|
|
12243
|
-
}
|
|
12244
|
-
//# sourceMappingURL=promise.js.map
|
|
12245
|
-
|
|
12246
|
-
/***/ }),
|
|
12247
|
-
|
|
12248
12594
|
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/utils.js":
|
|
12249
12595
|
/*!******************************************************************************************************!*\
|
|
12250
12596
|
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/utils.js ***!
|
|
@@ -12415,13 +12761,12 @@ class FromEventObservable extends _base_js__WEBPACK_IMPORTED_MODULE_1__.BaseObse
|
|
|
12415
12761
|
}
|
|
12416
12762
|
observableFromEvent.batchEventsGlobally = batchEventsGlobally;
|
|
12417
12763
|
})(observableFromEvent || (observableFromEvent = {}));
|
|
12418
|
-
function observableSignalFromEvent(
|
|
12419
|
-
return new FromEventObservableSignal(
|
|
12764
|
+
function observableSignalFromEvent(owner, event) {
|
|
12765
|
+
return new FromEventObservableSignal(typeof owner === 'string' ? owner : new _debugName_js__WEBPACK_IMPORTED_MODULE_2__.DebugNameData(owner, undefined, undefined), event);
|
|
12420
12766
|
}
|
|
12421
12767
|
class FromEventObservableSignal extends _base_js__WEBPACK_IMPORTED_MODULE_1__.BaseObservable {
|
|
12422
|
-
constructor(
|
|
12768
|
+
constructor(debugNameDataOrName, event) {
|
|
12423
12769
|
super();
|
|
12424
|
-
this.debugName = debugName;
|
|
12425
12770
|
this.event = event;
|
|
12426
12771
|
this.handleEvent = () => {
|
|
12427
12772
|
(0,_base_js__WEBPACK_IMPORTED_MODULE_1__.transaction)((tx) => {
|
|
@@ -12431,6 +12776,9 @@ class FromEventObservableSignal extends _base_js__WEBPACK_IMPORTED_MODULE_1__.Ba
|
|
|
12431
12776
|
}
|
|
12432
12777
|
}, () => this.debugName);
|
|
12433
12778
|
};
|
|
12779
|
+
this.debugName = typeof debugNameDataOrName === 'string'
|
|
12780
|
+
? debugNameDataOrName
|
|
12781
|
+
: debugNameDataOrName.getDebugName(this) ?? 'Observable Signal From Event';
|
|
12434
12782
|
}
|
|
12435
12783
|
onFirstObserverAdded() {
|
|
12436
12784
|
this.subscription = this.event(this.handleEvent);
|
|
@@ -12692,23 +13040,16 @@ function runOnChangeWithStore(observable, cb) {
|
|
|
12692
13040
|
"use strict";
|
|
12693
13041
|
__webpack_require__.r(__webpack_exports__);
|
|
12694
13042
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
12695
|
-
/* harmony export */ derivedWithCancellationToken: () => (/* binding */ derivedWithCancellationToken),
|
|
12696
13043
|
/* harmony export */ waitForState: () => (/* binding */ waitForState)
|
|
12697
13044
|
/* harmony export */ });
|
|
12698
|
-
/* harmony import */ var
|
|
12699
|
-
/* harmony import */ var
|
|
12700
|
-
/* harmony import */ var _derived_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./derived.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/derived.js");
|
|
12701
|
-
/* harmony import */ var _commonFacade_deps_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./commonFacade/deps.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/commonFacade/deps.js");
|
|
12702
|
-
/* harmony import */ var _autorun_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./autorun.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/autorun.js");
|
|
13045
|
+
/* harmony import */ var _commonFacade_cancellation_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./commonFacade/cancellation.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/commonFacade/cancellation.js");
|
|
13046
|
+
/* harmony import */ var _autorun_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./autorun.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/observableInternal/autorun.js");
|
|
12703
13047
|
/*---------------------------------------------------------------------------------------------
|
|
12704
13048
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
12705
13049
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
12706
13050
|
*--------------------------------------------------------------------------------------------*/
|
|
12707
13051
|
|
|
12708
13052
|
|
|
12709
|
-
|
|
12710
|
-
|
|
12711
|
-
|
|
12712
13053
|
function waitForState(observable, predicate, isError, cancellationToken) {
|
|
12713
13054
|
if (!predicate) {
|
|
12714
13055
|
predicate = state => state !== null && state !== undefined;
|
|
@@ -12724,7 +13065,7 @@ function waitForState(observable, predicate, isError, cancellationToken) {
|
|
|
12724
13065
|
state
|
|
12725
13066
|
};
|
|
12726
13067
|
});
|
|
12727
|
-
const d = (0,
|
|
13068
|
+
const d = (0,_autorun_js__WEBPACK_IMPORTED_MODULE_1__.autorun)(reader => {
|
|
12728
13069
|
/** @description waitForState */
|
|
12729
13070
|
const { isFinished, error, state } = stateObs.read(reader);
|
|
12730
13071
|
if (isFinished || error) {
|
|
@@ -12747,12 +13088,12 @@ function waitForState(observable, predicate, isError, cancellationToken) {
|
|
|
12747
13088
|
const dc = cancellationToken.onCancellationRequested(() => {
|
|
12748
13089
|
d.dispose();
|
|
12749
13090
|
dc.dispose();
|
|
12750
|
-
reject(new
|
|
13091
|
+
reject(new _commonFacade_cancellation_js__WEBPACK_IMPORTED_MODULE_0__.CancellationError());
|
|
12751
13092
|
});
|
|
12752
13093
|
if (cancellationToken.isCancellationRequested) {
|
|
12753
13094
|
d.dispose();
|
|
12754
13095
|
dc.dispose();
|
|
12755
|
-
reject(new
|
|
13096
|
+
reject(new _commonFacade_cancellation_js__WEBPACK_IMPORTED_MODULE_0__.CancellationError());
|
|
12756
13097
|
return;
|
|
12757
13098
|
}
|
|
12758
13099
|
}
|
|
@@ -12762,26 +13103,6 @@ function waitForState(observable, predicate, isError, cancellationToken) {
|
|
|
12762
13103
|
}
|
|
12763
13104
|
});
|
|
12764
13105
|
}
|
|
12765
|
-
function derivedWithCancellationToken(computeFnOrOwner, computeFnOrUndefined) {
|
|
12766
|
-
let computeFn;
|
|
12767
|
-
let owner;
|
|
12768
|
-
if (computeFnOrUndefined === undefined) {
|
|
12769
|
-
computeFn = computeFnOrOwner;
|
|
12770
|
-
owner = undefined;
|
|
12771
|
-
}
|
|
12772
|
-
else {
|
|
12773
|
-
owner = computeFnOrOwner;
|
|
12774
|
-
computeFn = computeFnOrUndefined;
|
|
12775
|
-
}
|
|
12776
|
-
let cancellationTokenSource = undefined;
|
|
12777
|
-
return new _derived_js__WEBPACK_IMPORTED_MODULE_2__.Derived(new _debugName_js__WEBPACK_IMPORTED_MODULE_0__.DebugNameData(owner, undefined, computeFn), r => {
|
|
12778
|
-
if (cancellationTokenSource) {
|
|
12779
|
-
cancellationTokenSource.dispose(true);
|
|
12780
|
-
}
|
|
12781
|
-
cancellationTokenSource = new _commonFacade_cancellation_js__WEBPACK_IMPORTED_MODULE_1__.CancellationTokenSource();
|
|
12782
|
-
return computeFn(r, cancellationTokenSource.token);
|
|
12783
|
-
}, undefined, undefined, () => cancellationTokenSource?.dispose(), _commonFacade_deps_js__WEBPACK_IMPORTED_MODULE_3__.strictEquals);
|
|
12784
|
-
}
|
|
12785
13106
|
//# sourceMappingURL=utilsCancellation.js.map
|
|
12786
13107
|
|
|
12787
13108
|
/***/ }),
|
|
@@ -14238,6 +14559,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
14238
14559
|
/* harmony export */ isWebWorker: () => (/* binding */ isWebWorker),
|
|
14239
14560
|
/* harmony export */ isWindows: () => (/* binding */ isWindows),
|
|
14240
14561
|
/* harmony export */ language: () => (/* binding */ language),
|
|
14562
|
+
/* harmony export */ platform: () => (/* binding */ platform),
|
|
14241
14563
|
/* harmony export */ setTimeout0: () => (/* binding */ setTimeout0),
|
|
14242
14564
|
/* harmony export */ setTimeout0IsFaster: () => (/* binding */ setTimeout0IsFaster),
|
|
14243
14565
|
/* harmony export */ userAgent: () => (/* binding */ userAgent),
|
|
@@ -14344,6 +14666,7 @@ const isWebWorker = (_isWeb && typeof $globalThis.importScripts === 'function');
|
|
|
14344
14666
|
const webWorkerOrigin = isWebWorker ? $globalThis.origin : undefined;
|
|
14345
14667
|
const isIOS = _isIOS;
|
|
14346
14668
|
const isMobile = _isMobile;
|
|
14669
|
+
const platform = _platform;
|
|
14347
14670
|
const userAgent = _userAgent;
|
|
14348
14671
|
/**
|
|
14349
14672
|
* The language used for the user interface. The format of
|
|
@@ -14956,7 +15279,6 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
14956
15279
|
/* harmony export */ rtrim: () => (/* binding */ rtrim),
|
|
14957
15280
|
/* harmony export */ singleLetterHash: () => (/* binding */ singleLetterHash),
|
|
14958
15281
|
/* harmony export */ splitLines: () => (/* binding */ splitLines),
|
|
14959
|
-
/* harmony export */ splitLinesIncludeSeparators: () => (/* binding */ splitLinesIncludeSeparators),
|
|
14960
15282
|
/* harmony export */ startsWithIgnoreCase: () => (/* binding */ startsWithIgnoreCase),
|
|
14961
15283
|
/* harmony export */ startsWithUTF8BOM: () => (/* binding */ startsWithUTF8BOM),
|
|
14962
15284
|
/* harmony export */ stripWildcards: () => (/* binding */ stripWildcards),
|
|
@@ -15136,14 +15458,6 @@ function regExpLeadsToEndlessLoop(regexp) {
|
|
|
15136
15458
|
function splitLines(str) {
|
|
15137
15459
|
return str.split(/\r\n|\r|\n/);
|
|
15138
15460
|
}
|
|
15139
|
-
function splitLinesIncludeSeparators(str) {
|
|
15140
|
-
const linesWithSeparators = [];
|
|
15141
|
-
const splitLinesAndSeparators = str.split(/(\r\n|\r|\n)/);
|
|
15142
|
-
for (let i = 0; i < Math.ceil(splitLinesAndSeparators.length / 2); i++) {
|
|
15143
|
-
linesWithSeparators.push(splitLinesAndSeparators[2 * i] + (splitLinesAndSeparators[2 * i + 1] ?? ''));
|
|
15144
|
-
}
|
|
15145
|
-
return linesWithSeparators;
|
|
15146
|
-
}
|
|
15147
15461
|
/**
|
|
15148
15462
|
* Returns first index of the string that is not whitespace.
|
|
15149
15463
|
* If string is empty or contains only whitespaces, returns -1
|
|
@@ -16705,13 +17019,16 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
16705
17019
|
/* harmony export */ isTypedArray: () => (/* binding */ isTypedArray),
|
|
16706
17020
|
/* harmony export */ isUndefined: () => (/* binding */ isUndefined),
|
|
16707
17021
|
/* harmony export */ isUndefinedOrNull: () => (/* binding */ isUndefinedOrNull),
|
|
17022
|
+
/* harmony export */ upcast: () => (/* binding */ upcast),
|
|
16708
17023
|
/* harmony export */ validateConstraint: () => (/* binding */ validateConstraint),
|
|
16709
17024
|
/* harmony export */ validateConstraints: () => (/* binding */ validateConstraints)
|
|
16710
17025
|
/* harmony export */ });
|
|
17026
|
+
/* harmony import */ var _assert_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./assert.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/assert.js");
|
|
16711
17027
|
/*---------------------------------------------------------------------------------------------
|
|
16712
17028
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
16713
17029
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
16714
17030
|
*--------------------------------------------------------------------------------------------*/
|
|
17031
|
+
|
|
16715
17032
|
/**
|
|
16716
17033
|
* @returns whether the provided parameter is a JavaScript String or not.
|
|
16717
17034
|
*/
|
|
@@ -16784,11 +17101,11 @@ function assertType(condition, type) {
|
|
|
16784
17101
|
}
|
|
16785
17102
|
/**
|
|
16786
17103
|
* Asserts that the argument passed in is neither undefined nor null.
|
|
17104
|
+
*
|
|
17105
|
+
* @see {@link assertDefined} for a similar utility that leverages TS assertion functions to narrow down the type of `arg` to be non-nullable.
|
|
16787
17106
|
*/
|
|
16788
17107
|
function assertIsDefined(arg) {
|
|
16789
|
-
|
|
16790
|
-
throw new Error('Assertion Failed: argument is undefined or null');
|
|
16791
|
-
}
|
|
17108
|
+
(0,_assert_js__WEBPACK_IMPORTED_MODULE_0__.assert)(arg !== null && arg !== undefined, 'Argument is `undefined` or `null`.');
|
|
16792
17109
|
return arg;
|
|
16793
17110
|
}
|
|
16794
17111
|
const hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
@@ -16842,6 +17159,15 @@ function validateConstraint(arg, constraint) {
|
|
|
16842
17159
|
throw new Error(`argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true`);
|
|
16843
17160
|
}
|
|
16844
17161
|
}
|
|
17162
|
+
/**
|
|
17163
|
+
* Helper type assertion that safely upcasts a type to a supertype.
|
|
17164
|
+
*
|
|
17165
|
+
* This can be used to make sure the argument correctly conforms to the subtype while still being able to pass it
|
|
17166
|
+
* to contexts that expects the supertype.
|
|
17167
|
+
*/
|
|
17168
|
+
function upcast(x) {
|
|
17169
|
+
return x;
|
|
17170
|
+
}
|
|
16845
17171
|
//# sourceMappingURL=types.js.map
|
|
16846
17172
|
|
|
16847
17173
|
/***/ }),
|
|
@@ -18464,7 +18790,7 @@ const editorBracketHighlightingForeground3 = (0,_platform_theme_common_colorRegi
|
|
|
18464
18790
|
const editorBracketHighlightingForeground4 = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketHighlight.foreground4', '#00000000', _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/editor/common/core/editorColorRegistry",53, 'Foreground color of brackets (4). Requires enabling bracket pair colorization.'));
|
|
18465
18791
|
const editorBracketHighlightingForeground5 = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketHighlight.foreground5', '#00000000', _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/editor/common/core/editorColorRegistry",54, 'Foreground color of brackets (5). Requires enabling bracket pair colorization.'));
|
|
18466
18792
|
const editorBracketHighlightingForeground6 = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketHighlight.foreground6', '#00000000', _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/editor/common/core/editorColorRegistry",55, 'Foreground color of brackets (6). Requires enabling bracket pair colorization.'));
|
|
18467
|
-
const editorBracketHighlightingUnexpectedBracketForeground = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketHighlight.unexpectedBracket.foreground', { dark: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color(new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.RGBA(255, 18, 18, 0.8)), light: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color(new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.RGBA(255, 18, 18, 0.8)), hcDark:
|
|
18793
|
+
const editorBracketHighlightingUnexpectedBracketForeground = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketHighlight.unexpectedBracket.foreground', { dark: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color(new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.RGBA(255, 18, 18, 0.8)), light: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color(new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.RGBA(255, 18, 18, 0.8)), hcDark: new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color(new _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.RGBA(255, 50, 50, 1)), hcLight: '#B5200D' }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/editor/common/core/editorColorRegistry",56, 'Foreground color of unexpected brackets.'));
|
|
18468
18794
|
const editorBracketPairGuideBackground1 = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketPairGuide.background1', '#00000000', _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/editor/common/core/editorColorRegistry",57, 'Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.'));
|
|
18469
18795
|
const editorBracketPairGuideBackground2 = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketPairGuide.background2', '#00000000', _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/editor/common/core/editorColorRegistry",58, 'Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.'));
|
|
18470
18796
|
const editorBracketPairGuideBackground3 = (0,_platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('editorBracketPairGuide.background3', '#00000000', _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/editor/common/core/editorColorRegistry",59, 'Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.'));
|
|
@@ -19000,6 +19326,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
19000
19326
|
* A range of offsets (0-based).
|
|
19001
19327
|
*/
|
|
19002
19328
|
class OffsetRange {
|
|
19329
|
+
static fromTo(start, endExclusive) {
|
|
19330
|
+
return new OffsetRange(start, endExclusive);
|
|
19331
|
+
}
|
|
19003
19332
|
static addRange(range, sortedRanges) {
|
|
19004
19333
|
let i = 0;
|
|
19005
19334
|
while (i < sortedRanges.length && sortedRanges[i].endExclusive < range.start) {
|
|
@@ -19258,7 +19587,7 @@ class Position {
|
|
|
19258
19587
|
* @param deltaColumn column delta
|
|
19259
19588
|
*/
|
|
19260
19589
|
delta(deltaLineNumber = 0, deltaColumn = 0) {
|
|
19261
|
-
return this.with(this.lineNumber + deltaLineNumber, this.column + deltaColumn);
|
|
19590
|
+
return this.with(Math.max(1, this.lineNumber + deltaLineNumber), Math.max(1, this.column + deltaColumn));
|
|
19262
19591
|
}
|
|
19263
19592
|
/**
|
|
19264
19593
|
* Test if this position equals other position
|
|
@@ -19414,7 +19743,26 @@ class PositionOffsetTransformer {
|
|
|
19414
19743
|
this.lineEndOffsetByLineIdx.push(text.length);
|
|
19415
19744
|
}
|
|
19416
19745
|
getOffset(position) {
|
|
19417
|
-
|
|
19746
|
+
const valPos = this._validatePosition(position);
|
|
19747
|
+
return this.lineStartOffsetByLineIdx[valPos.lineNumber - 1] + valPos.column - 1;
|
|
19748
|
+
}
|
|
19749
|
+
_validatePosition(position) {
|
|
19750
|
+
if (position.lineNumber < 1) {
|
|
19751
|
+
return new _position_js__WEBPACK_IMPORTED_MODULE_2__.Position(1, 1);
|
|
19752
|
+
}
|
|
19753
|
+
const lineCount = this.textLength.lineCount + 1;
|
|
19754
|
+
if (position.lineNumber > lineCount) {
|
|
19755
|
+
const lineLength = this.getLineLength(lineCount);
|
|
19756
|
+
return new _position_js__WEBPACK_IMPORTED_MODULE_2__.Position(lineCount, lineLength + 1);
|
|
19757
|
+
}
|
|
19758
|
+
if (position.column < 1) {
|
|
19759
|
+
return new _position_js__WEBPACK_IMPORTED_MODULE_2__.Position(position.lineNumber, 1);
|
|
19760
|
+
}
|
|
19761
|
+
const lineLength = this.getLineLength(position.lineNumber);
|
|
19762
|
+
if (position.column - 1 > lineLength) {
|
|
19763
|
+
return new _position_js__WEBPACK_IMPORTED_MODULE_2__.Position(position.lineNumber, lineLength + 1);
|
|
19764
|
+
}
|
|
19765
|
+
return position;
|
|
19418
19766
|
}
|
|
19419
19767
|
getOffsetRange(range) {
|
|
19420
19768
|
return new _offsetRange_js__WEBPACK_IMPORTED_MODULE_1__.OffsetRange(this.getOffset(range.getStartPosition()), this.getOffset(range.getEndPosition()));
|
|
@@ -19750,6 +20098,9 @@ class Range {
|
|
|
19750
20098
|
delta(lineCount) {
|
|
19751
20099
|
return new Range(this.startLineNumber + lineCount, this.startColumn, this.endLineNumber + lineCount, this.endColumn);
|
|
19752
20100
|
}
|
|
20101
|
+
isSingleLine() {
|
|
20102
|
+
return this.startLineNumber === this.endLineNumber;
|
|
20103
|
+
}
|
|
19753
20104
|
// ---
|
|
19754
20105
|
static fromPositions(start, end = start) {
|
|
19755
20106
|
return new Range(start.lineNumber, start.column, end.lineNumber, end.column);
|
|
@@ -20451,13 +20802,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
20451
20802
|
/* harmony export */ StringText: () => (/* binding */ StringText),
|
|
20452
20803
|
/* harmony export */ TextEdit: () => (/* binding */ TextEdit)
|
|
20453
20804
|
/* harmony export */ });
|
|
20454
|
-
/* harmony import */ var
|
|
20455
|
-
/* harmony import */ var
|
|
20456
|
-
/* harmony import */ var
|
|
20457
|
-
/* harmony import */ var
|
|
20458
|
-
/* harmony import */ var
|
|
20459
|
-
/* harmony import */ var
|
|
20460
|
-
/* harmony import */ var
|
|
20805
|
+
/* harmony import */ var _base_common_arrays_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/common/arrays.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/arrays.js");
|
|
20806
|
+
/* harmony import */ var _base_common_assert_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/assert.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/assert.js");
|
|
20807
|
+
/* harmony import */ var _base_common_errors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../base/common/errors.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/errors.js");
|
|
20808
|
+
/* harmony import */ var _base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/strings.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/strings.js");
|
|
20809
|
+
/* harmony import */ var _position_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./position.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/position.js");
|
|
20810
|
+
/* harmony import */ var _positionToOffset_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./positionToOffset.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/positionToOffset.js");
|
|
20811
|
+
/* harmony import */ var _range_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./range.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/range.js");
|
|
20812
|
+
/* harmony import */ var _textLength_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./textLength.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/textLength.js");
|
|
20461
20813
|
/*---------------------------------------------------------------------------------------------
|
|
20462
20814
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
20463
20815
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
@@ -20469,6 +20821,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
20469
20821
|
|
|
20470
20822
|
|
|
20471
20823
|
|
|
20824
|
+
|
|
20472
20825
|
class TextEdit {
|
|
20473
20826
|
static fromOffsetEdit(edit, initialState) {
|
|
20474
20827
|
const edits = edit.edits.map(e => new SingleTextEdit(initialState.getTransformer().getRange(e.replaceRange), e.newText));
|
|
@@ -20478,11 +20831,11 @@ class TextEdit {
|
|
|
20478
20831
|
return new TextEdit([new SingleTextEdit(originalRange, newText)]);
|
|
20479
20832
|
}
|
|
20480
20833
|
static insert(position, newText) {
|
|
20481
|
-
return new TextEdit([new SingleTextEdit(
|
|
20834
|
+
return new TextEdit([new SingleTextEdit(_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(position, position), newText)]);
|
|
20482
20835
|
}
|
|
20483
20836
|
constructor(edits) {
|
|
20484
20837
|
this.edits = edits;
|
|
20485
|
-
(0,
|
|
20838
|
+
(0,_base_common_assert_js__WEBPACK_IMPORTED_MODULE_1__.assertFn)(() => (0,_base_common_assert_js__WEBPACK_IMPORTED_MODULE_1__.checkAdjacentItems)(edits, (a, b) => a.range.getEndPosition().isBeforeOrEqual(b.range.getStartPosition())));
|
|
20486
20839
|
}
|
|
20487
20840
|
/**
|
|
20488
20841
|
* Joins touching edits and removes empty edits.
|
|
@@ -20510,9 +20863,9 @@ class TextEdit {
|
|
|
20510
20863
|
break;
|
|
20511
20864
|
}
|
|
20512
20865
|
const end = edit.range.getEndPosition();
|
|
20513
|
-
const len =
|
|
20866
|
+
const len = _textLength_js__WEBPACK_IMPORTED_MODULE_7__.TextLength.ofText(edit.text);
|
|
20514
20867
|
if (position.isBefore(end)) {
|
|
20515
|
-
const startPos = new
|
|
20868
|
+
const startPos = new _position_js__WEBPACK_IMPORTED_MODULE_4__.Position(start.lineNumber + lineDelta, start.column + (start.lineNumber + lineDelta === curLine ? columnDeltaInCurLine : 0));
|
|
20516
20869
|
const endPos = len.addToPosition(startPos);
|
|
20517
20870
|
return rangeFromPositions(startPos, endPos);
|
|
20518
20871
|
}
|
|
@@ -20533,14 +20886,14 @@ class TextEdit {
|
|
|
20533
20886
|
}
|
|
20534
20887
|
curLine = end.lineNumber + lineDelta;
|
|
20535
20888
|
}
|
|
20536
|
-
return new
|
|
20889
|
+
return new _position_js__WEBPACK_IMPORTED_MODULE_4__.Position(position.lineNumber + lineDelta, position.column + (position.lineNumber + lineDelta === curLine ? columnDeltaInCurLine : 0));
|
|
20537
20890
|
}
|
|
20538
20891
|
mapRange(range) {
|
|
20539
20892
|
function getStart(p) {
|
|
20540
|
-
return p instanceof
|
|
20893
|
+
return p instanceof _position_js__WEBPACK_IMPORTED_MODULE_4__.Position ? p : p.getStartPosition();
|
|
20541
20894
|
}
|
|
20542
20895
|
function getEnd(p) {
|
|
20543
|
-
return p instanceof
|
|
20896
|
+
return p instanceof _position_js__WEBPACK_IMPORTED_MODULE_4__.Position ? p : p.getEndPosition();
|
|
20544
20897
|
}
|
|
20545
20898
|
const start = getStart(this.mapPosition(range.getStartPosition()));
|
|
20546
20899
|
const end = getEnd(this.mapPosition(range.getEndPosition()));
|
|
@@ -20557,7 +20910,7 @@ class TextEdit {
|
|
|
20557
20910
|
}
|
|
20558
20911
|
apply(text) {
|
|
20559
20912
|
let result = '';
|
|
20560
|
-
let lastEditEnd = new
|
|
20913
|
+
let lastEditEnd = new _position_js__WEBPACK_IMPORTED_MODULE_4__.Position(1, 1);
|
|
20561
20914
|
for (const edit of this.edits) {
|
|
20562
20915
|
const editRange = edit.range;
|
|
20563
20916
|
const editStart = editRange.getStartPosition();
|
|
@@ -20589,8 +20942,8 @@ class TextEdit {
|
|
|
20589
20942
|
let lineOffset = 0;
|
|
20590
20943
|
let columnOffset = 0;
|
|
20591
20944
|
for (const edit of this.edits) {
|
|
20592
|
-
const textLength =
|
|
20593
|
-
const newRangeStart =
|
|
20945
|
+
const textLength = _textLength_js__WEBPACK_IMPORTED_MODULE_7__.TextLength.ofText(edit.text);
|
|
20946
|
+
const newRangeStart = _position_js__WEBPACK_IMPORTED_MODULE_4__.Position.lift({
|
|
20594
20947
|
lineNumber: edit.range.startLineNumber + lineOffset,
|
|
20595
20948
|
column: edit.range.startColumn + (edit.range.startLineNumber === previousEditEndLineNumber ? columnOffset : 0)
|
|
20596
20949
|
});
|
|
@@ -20604,7 +20957,7 @@ class TextEdit {
|
|
|
20604
20957
|
}
|
|
20605
20958
|
toSingle(text) {
|
|
20606
20959
|
if (this.edits.length === 0) {
|
|
20607
|
-
throw new
|
|
20960
|
+
throw new _base_common_errors_js__WEBPACK_IMPORTED_MODULE_2__.BugIndicatingError();
|
|
20608
20961
|
}
|
|
20609
20962
|
if (this.edits.length === 1) {
|
|
20610
20963
|
return this.edits[0];
|
|
@@ -20617,18 +20970,21 @@ class TextEdit {
|
|
|
20617
20970
|
newText += curEdit.text;
|
|
20618
20971
|
if (i < this.edits.length - 1) {
|
|
20619
20972
|
const nextEdit = this.edits[i + 1];
|
|
20620
|
-
const gapRange =
|
|
20973
|
+
const gapRange = _range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(curEdit.range.getEndPosition(), nextEdit.range.getStartPosition());
|
|
20621
20974
|
const gapText = text.getValueOfRange(gapRange);
|
|
20622
20975
|
newText += gapText;
|
|
20623
20976
|
}
|
|
20624
20977
|
}
|
|
20625
|
-
return new SingleTextEdit(
|
|
20978
|
+
return new SingleTextEdit(_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(startPos, endPos), newText);
|
|
20979
|
+
}
|
|
20980
|
+
equals(other) {
|
|
20981
|
+
return (0,_base_common_arrays_js__WEBPACK_IMPORTED_MODULE_0__.equals)(this.edits, other.edits, (a, b) => a.equals(b));
|
|
20626
20982
|
}
|
|
20627
20983
|
}
|
|
20628
20984
|
class SingleTextEdit {
|
|
20629
20985
|
static joinEdits(edits, initialValue) {
|
|
20630
20986
|
if (edits.length === 0) {
|
|
20631
|
-
throw new
|
|
20987
|
+
throw new _base_common_errors_js__WEBPACK_IMPORTED_MODULE_2__.BugIndicatingError();
|
|
20632
20988
|
}
|
|
20633
20989
|
if (edits.length === 1) {
|
|
20634
20990
|
return edits[0];
|
|
@@ -20641,12 +20997,12 @@ class SingleTextEdit {
|
|
|
20641
20997
|
newText += curEdit.text;
|
|
20642
20998
|
if (i < edits.length - 1) {
|
|
20643
20999
|
const nextEdit = edits[i + 1];
|
|
20644
|
-
const gapRange =
|
|
21000
|
+
const gapRange = _range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(curEdit.range.getEndPosition(), nextEdit.range.getStartPosition());
|
|
20645
21001
|
const gapText = initialValue.getValueOfRange(gapRange);
|
|
20646
21002
|
newText += gapText;
|
|
20647
21003
|
}
|
|
20648
21004
|
}
|
|
20649
|
-
return new SingleTextEdit(
|
|
21005
|
+
return new SingleTextEdit(_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(startPos, endPos), newText);
|
|
20650
21006
|
}
|
|
20651
21007
|
constructor(range, text) {
|
|
20652
21008
|
this.range = range;
|
|
@@ -20675,32 +21031,32 @@ class SingleTextEdit {
|
|
|
20675
21031
|
return this;
|
|
20676
21032
|
}
|
|
20677
21033
|
const newRange = this.range.plusRange(range);
|
|
20678
|
-
const textBefore = initialValue.getValueOfRange(
|
|
20679
|
-
const textAfter = initialValue.getValueOfRange(
|
|
21034
|
+
const textBefore = initialValue.getValueOfRange(_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(newRange.getStartPosition(), this.range.getStartPosition()));
|
|
21035
|
+
const textAfter = initialValue.getValueOfRange(_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(this.range.getEndPosition(), newRange.getEndPosition()));
|
|
20680
21036
|
const newText = textBefore + this.text + textAfter;
|
|
20681
21037
|
return new SingleTextEdit(newRange, newText);
|
|
20682
21038
|
}
|
|
20683
21039
|
extendToFullLine(initialValue) {
|
|
20684
|
-
const newRange = new
|
|
21040
|
+
const newRange = new _range_js__WEBPACK_IMPORTED_MODULE_6__.Range(this.range.startLineNumber, 1, this.range.endLineNumber, initialValue.getTransformer().getLineLength(this.range.endLineNumber) + 1);
|
|
20685
21041
|
return this.extendToCoverRange(newRange, initialValue);
|
|
20686
21042
|
}
|
|
20687
21043
|
removeCommonPrefix(text) {
|
|
20688
21044
|
const normalizedOriginalText = text.getValueOfRange(this.range).replaceAll('\r\n', '\n');
|
|
20689
21045
|
const normalizedModifiedText = this.text.replaceAll('\r\n', '\n');
|
|
20690
|
-
const commonPrefixLen = (0,
|
|
20691
|
-
const start =
|
|
21046
|
+
const commonPrefixLen = (0,_base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__.commonPrefixLength)(normalizedOriginalText, normalizedModifiedText);
|
|
21047
|
+
const start = _textLength_js__WEBPACK_IMPORTED_MODULE_7__.TextLength.ofText(normalizedOriginalText.substring(0, commonPrefixLen))
|
|
20692
21048
|
.addToPosition(this.range.getStartPosition());
|
|
20693
21049
|
const newText = normalizedModifiedText.substring(commonPrefixLen);
|
|
20694
|
-
const range =
|
|
21050
|
+
const range = _range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(start, this.range.getEndPosition());
|
|
20695
21051
|
return new SingleTextEdit(range, newText);
|
|
20696
21052
|
}
|
|
20697
21053
|
isEffectiveDeletion(text) {
|
|
20698
21054
|
let newText = this.text.replaceAll('\r\n', '\n');
|
|
20699
21055
|
let existingText = text.getValueOfRange(this.range).replaceAll('\r\n', '\n');
|
|
20700
|
-
const l = (0,
|
|
21056
|
+
const l = (0,_base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__.commonPrefixLength)(newText, existingText);
|
|
20701
21057
|
newText = newText.substring(l);
|
|
20702
21058
|
existingText = existingText.substring(l);
|
|
20703
|
-
const r = (0,
|
|
21059
|
+
const r = (0,_base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__.commonSuffixLength)(newText, existingText);
|
|
20704
21060
|
newText = newText.substring(0, newText.length - r);
|
|
20705
21061
|
existingText = existingText.substring(0, existingText.length - r);
|
|
20706
21062
|
return newText === '';
|
|
@@ -20708,19 +21064,19 @@ class SingleTextEdit {
|
|
|
20708
21064
|
}
|
|
20709
21065
|
function rangeFromPositions(start, end) {
|
|
20710
21066
|
if (start.lineNumber === end.lineNumber && start.column === Number.MAX_SAFE_INTEGER) {
|
|
20711
|
-
return
|
|
21067
|
+
return _range_js__WEBPACK_IMPORTED_MODULE_6__.Range.fromPositions(end, end);
|
|
20712
21068
|
}
|
|
20713
21069
|
else if (!start.isBeforeOrEqual(end)) {
|
|
20714
|
-
throw new
|
|
21070
|
+
throw new _base_common_errors_js__WEBPACK_IMPORTED_MODULE_2__.BugIndicatingError('start must be before end');
|
|
20715
21071
|
}
|
|
20716
|
-
return new
|
|
21072
|
+
return new _range_js__WEBPACK_IMPORTED_MODULE_6__.Range(start.lineNumber, start.column, end.lineNumber, end.column);
|
|
20717
21073
|
}
|
|
20718
21074
|
class AbstractText {
|
|
20719
21075
|
constructor() {
|
|
20720
21076
|
this._transformer = undefined;
|
|
20721
21077
|
}
|
|
20722
21078
|
get endPositionExclusive() {
|
|
20723
|
-
return this.length.addToPosition(new
|
|
21079
|
+
return this.length.addToPosition(new _position_js__WEBPACK_IMPORTED_MODULE_4__.Position(1, 1));
|
|
20724
21080
|
}
|
|
20725
21081
|
get lineRange() {
|
|
20726
21082
|
return this.length.toLineRange();
|
|
@@ -20729,25 +21085,25 @@ class AbstractText {
|
|
|
20729
21085
|
return this.getValueOfRange(this.length.toRange());
|
|
20730
21086
|
}
|
|
20731
21087
|
getLineLength(lineNumber) {
|
|
20732
|
-
return this.getValueOfRange(new
|
|
21088
|
+
return this.getValueOfRange(new _range_js__WEBPACK_IMPORTED_MODULE_6__.Range(lineNumber, 1, lineNumber, Number.MAX_SAFE_INTEGER)).length;
|
|
20733
21089
|
}
|
|
20734
21090
|
getTransformer() {
|
|
20735
21091
|
if (!this._transformer) {
|
|
20736
|
-
this._transformer = new
|
|
21092
|
+
this._transformer = new _positionToOffset_js__WEBPACK_IMPORTED_MODULE_5__.PositionOffsetTransformer(this.getValue());
|
|
20737
21093
|
}
|
|
20738
21094
|
return this._transformer;
|
|
20739
21095
|
}
|
|
20740
21096
|
getLineAt(lineNumber) {
|
|
20741
|
-
return this.getValueOfRange(new
|
|
21097
|
+
return this.getValueOfRange(new _range_js__WEBPACK_IMPORTED_MODULE_6__.Range(lineNumber, 1, lineNumber, Number.MAX_SAFE_INTEGER));
|
|
20742
21098
|
}
|
|
20743
21099
|
getLines() {
|
|
20744
21100
|
const value = this.getValue();
|
|
20745
|
-
return (0,
|
|
21101
|
+
return (0,_base_common_strings_js__WEBPACK_IMPORTED_MODULE_3__.splitLines)(value);
|
|
20746
21102
|
}
|
|
20747
21103
|
}
|
|
20748
21104
|
class LineBasedText extends AbstractText {
|
|
20749
21105
|
constructor(_getLineContent, _lineCount) {
|
|
20750
|
-
(0,
|
|
21106
|
+
(0,_base_common_assert_js__WEBPACK_IMPORTED_MODULE_1__.assert)(_lineCount >= 1);
|
|
20751
21107
|
super();
|
|
20752
21108
|
this._getLineContent = _getLineContent;
|
|
20753
21109
|
this._lineCount = _lineCount;
|
|
@@ -20768,7 +21124,7 @@ class LineBasedText extends AbstractText {
|
|
|
20768
21124
|
}
|
|
20769
21125
|
get length() {
|
|
20770
21126
|
const lastLine = this._getLineContent(this._lineCount);
|
|
20771
|
-
return new
|
|
21127
|
+
return new _textLength_js__WEBPACK_IMPORTED_MODULE_7__.TextLength(this._lineCount - 1, lastLine.length);
|
|
20772
21128
|
}
|
|
20773
21129
|
}
|
|
20774
21130
|
class ArrayText extends LineBasedText {
|
|
@@ -20780,7 +21136,7 @@ class StringText extends AbstractText {
|
|
|
20780
21136
|
constructor(value) {
|
|
20781
21137
|
super();
|
|
20782
21138
|
this.value = value;
|
|
20783
|
-
this._t = new
|
|
21139
|
+
this._t = new _positionToOffset_js__WEBPACK_IMPORTED_MODULE_5__.PositionOffsetTransformer(this.value);
|
|
20784
21140
|
}
|
|
20785
21141
|
getValueOfRange(range) {
|
|
20786
21142
|
return this._t.getOffsetRange(range).substring(this.value);
|
|
@@ -20912,7 +21268,7 @@ class TextLength {
|
|
|
20912
21268
|
return new _range_js__WEBPACK_IMPORTED_MODULE_2__.Range(1, 1, this.lineCount + 1, this.columnCount + 1);
|
|
20913
21269
|
}
|
|
20914
21270
|
toLineRange() {
|
|
20915
|
-
return _lineRange_js__WEBPACK_IMPORTED_MODULE_0__.LineRange.ofLength(1, this.lineCount);
|
|
21271
|
+
return _lineRange_js__WEBPACK_IMPORTED_MODULE_0__.LineRange.ofLength(1, this.lineCount + 1);
|
|
20916
21272
|
}
|
|
20917
21273
|
addToPosition(position) {
|
|
20918
21274
|
if (this.lineCount === 0) {
|
|
@@ -20977,21 +21333,23 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
20977
21333
|
/* harmony export */ WordCharacterClassifier: () => (/* binding */ WordCharacterClassifier),
|
|
20978
21334
|
/* harmony export */ getMapForWordSeparators: () => (/* binding */ getMapForWordSeparators)
|
|
20979
21335
|
/* harmony export */ });
|
|
20980
|
-
/* harmony import */ var
|
|
20981
|
-
/* harmony import */ var
|
|
21336
|
+
/* harmony import */ var _base_common_date_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/common/date.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/date.js");
|
|
21337
|
+
/* harmony import */ var _base_common_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../base/common/map.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/map.js");
|
|
21338
|
+
/* harmony import */ var _characterClassifier_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./characterClassifier.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/characterClassifier.js");
|
|
20982
21339
|
/*---------------------------------------------------------------------------------------------
|
|
20983
21340
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
20984
21341
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20985
21342
|
*--------------------------------------------------------------------------------------------*/
|
|
20986
21343
|
|
|
20987
21344
|
|
|
21345
|
+
|
|
20988
21346
|
var WordCharacterClass;
|
|
20989
21347
|
(function (WordCharacterClass) {
|
|
20990
21348
|
WordCharacterClass[WordCharacterClass["Regular"] = 0] = "Regular";
|
|
20991
21349
|
WordCharacterClass[WordCharacterClass["Whitespace"] = 1] = "Whitespace";
|
|
20992
21350
|
WordCharacterClass[WordCharacterClass["WordSeparator"] = 2] = "WordSeparator";
|
|
20993
21351
|
})(WordCharacterClass || (WordCharacterClass = {}));
|
|
20994
|
-
class WordCharacterClassifier extends
|
|
21352
|
+
class WordCharacterClassifier extends _characterClassifier_js__WEBPACK_IMPORTED_MODULE_2__.CharacterClassifier {
|
|
20995
21353
|
constructor(wordSeparators, intlSegmenterLocales) {
|
|
20996
21354
|
super(0 /* WordCharacterClass.Regular */);
|
|
20997
21355
|
this._segmenter = null;
|
|
@@ -20999,7 +21357,7 @@ class WordCharacterClassifier extends _characterClassifier_js__WEBPACK_IMPORTED_
|
|
|
20999
21357
|
this._cachedSegments = [];
|
|
21000
21358
|
this.intlSegmenterLocales = intlSegmenterLocales;
|
|
21001
21359
|
if (this.intlSegmenterLocales.length > 0) {
|
|
21002
|
-
this._segmenter =
|
|
21360
|
+
this._segmenter = _base_common_date_js__WEBPACK_IMPORTED_MODULE_0__.safeIntl.Segmenter(this.intlSegmenterLocales, { granularity: 'word' });
|
|
21003
21361
|
}
|
|
21004
21362
|
else {
|
|
21005
21363
|
this._segmenter = null;
|
|
@@ -21058,7 +21416,7 @@ class WordCharacterClassifier extends _characterClassifier_js__WEBPACK_IMPORTED_
|
|
|
21058
21416
|
return false;
|
|
21059
21417
|
}
|
|
21060
21418
|
}
|
|
21061
|
-
const wordClassifierCache = new
|
|
21419
|
+
const wordClassifierCache = new _base_common_map_js__WEBPACK_IMPORTED_MODULE_1__.LRUCache(10);
|
|
21062
21420
|
function getMapForWordSeparators(wordSeparators, intlSegmenterLocales) {
|
|
21063
21421
|
const key = `${wordSeparators}/${intlSegmenterLocales.join(',')}`;
|
|
21064
21422
|
let result = wordClassifierCache.get(key);
|
|
@@ -22046,7 +22404,7 @@ class DefaultLinesDiffComputer {
|
|
|
22046
22404
|
const seq2Offset = seq2LastStart + i;
|
|
22047
22405
|
if (originalLines[seq1Offset] !== modifiedLines[seq2Offset]) {
|
|
22048
22406
|
// This is because of whitespace changes, diff these lines
|
|
22049
|
-
const characterDiffs = this.refineDiff(originalLines, modifiedLines, new _algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff(new _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_3__.OffsetRange(seq1Offset, seq1Offset + 1), new _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_3__.OffsetRange(seq2Offset, seq2Offset + 1)), timeout, considerWhitespaceChanges);
|
|
22407
|
+
const characterDiffs = this.refineDiff(originalLines, modifiedLines, new _algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff(new _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_3__.OffsetRange(seq1Offset, seq1Offset + 1), new _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_3__.OffsetRange(seq2Offset, seq2Offset + 1)), timeout, considerWhitespaceChanges, options);
|
|
22050
22408
|
for (const a of characterDiffs.mappings) {
|
|
22051
22409
|
alignments.push(a);
|
|
22052
22410
|
}
|
|
@@ -22064,7 +22422,7 @@ class DefaultLinesDiffComputer {
|
|
|
22064
22422
|
scanForWhitespaceChanges(equalLinesCount);
|
|
22065
22423
|
seq1LastStart = diff.seq1Range.endExclusive;
|
|
22066
22424
|
seq2LastStart = diff.seq2Range.endExclusive;
|
|
22067
|
-
const characterDiffs = this.refineDiff(originalLines, modifiedLines, diff, timeout, considerWhitespaceChanges);
|
|
22425
|
+
const characterDiffs = this.refineDiff(originalLines, modifiedLines, diff, timeout, considerWhitespaceChanges, options);
|
|
22068
22426
|
if (characterDiffs.hitTimeout) {
|
|
22069
22427
|
hitTimeout = true;
|
|
22070
22428
|
}
|
|
@@ -22076,7 +22434,7 @@ class DefaultLinesDiffComputer {
|
|
|
22076
22434
|
const changes = (0,_rangeMapping_js__WEBPACK_IMPORTED_MODULE_7__.lineRangeMappingFromRangeMappings)(alignments, new _core_textEdit_js__WEBPACK_IMPORTED_MODULE_5__.ArrayText(originalLines), new _core_textEdit_js__WEBPACK_IMPORTED_MODULE_5__.ArrayText(modifiedLines));
|
|
22077
22435
|
let moves = [];
|
|
22078
22436
|
if (options.computeMoves) {
|
|
22079
|
-
moves = this.computeMoves(changes, originalLines, modifiedLines, originalLinesHashes, modifiedLinesHashes, timeout, considerWhitespaceChanges);
|
|
22437
|
+
moves = this.computeMoves(changes, originalLines, modifiedLines, originalLinesHashes, modifiedLinesHashes, timeout, considerWhitespaceChanges, options);
|
|
22080
22438
|
}
|
|
22081
22439
|
// Make sure all ranges are valid
|
|
22082
22440
|
(0,_base_common_assert_js__WEBPACK_IMPORTED_MODULE_1__.assertFn)(() => {
|
|
@@ -22118,16 +22476,16 @@ class DefaultLinesDiffComputer {
|
|
|
22118
22476
|
});
|
|
22119
22477
|
return new _linesDiffComputer_js__WEBPACK_IMPORTED_MODULE_6__.LinesDiff(changes, moves, hitTimeout);
|
|
22120
22478
|
}
|
|
22121
|
-
computeMoves(changes, originalLines, modifiedLines, hashedOriginalLines, hashedModifiedLines, timeout, considerWhitespaceChanges) {
|
|
22479
|
+
computeMoves(changes, originalLines, modifiedLines, hashedOriginalLines, hashedModifiedLines, timeout, considerWhitespaceChanges, options) {
|
|
22122
22480
|
const moves = (0,_computeMovedLines_js__WEBPACK_IMPORTED_MODULE_11__.computeMovedLines)(changes, originalLines, modifiedLines, hashedOriginalLines, hashedModifiedLines, timeout);
|
|
22123
22481
|
const movesWithDiffs = moves.map(m => {
|
|
22124
|
-
const moveChanges = this.refineDiff(originalLines, modifiedLines, new _algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff(m.original.toOffsetRange(), m.modified.toOffsetRange()), timeout, considerWhitespaceChanges);
|
|
22482
|
+
const moveChanges = this.refineDiff(originalLines, modifiedLines, new _algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff(m.original.toOffsetRange(), m.modified.toOffsetRange()), timeout, considerWhitespaceChanges, options);
|
|
22125
22483
|
const mappings = (0,_rangeMapping_js__WEBPACK_IMPORTED_MODULE_7__.lineRangeMappingFromRangeMappings)(moveChanges.mappings, new _core_textEdit_js__WEBPACK_IMPORTED_MODULE_5__.ArrayText(originalLines), new _core_textEdit_js__WEBPACK_IMPORTED_MODULE_5__.ArrayText(modifiedLines), true);
|
|
22126
22484
|
return new _linesDiffComputer_js__WEBPACK_IMPORTED_MODULE_6__.MovedText(m, mappings);
|
|
22127
22485
|
});
|
|
22128
22486
|
return movesWithDiffs;
|
|
22129
22487
|
}
|
|
22130
|
-
refineDiff(originalLines, modifiedLines, diff, timeout, considerWhitespaceChanges) {
|
|
22488
|
+
refineDiff(originalLines, modifiedLines, diff, timeout, considerWhitespaceChanges, options) {
|
|
22131
22489
|
const lineRangeMapping = toLineRangeMapping(diff);
|
|
22132
22490
|
const rangeMapping = lineRangeMapping.toRangeMapping2(originalLines, modifiedLines);
|
|
22133
22491
|
const slice1 = new _linesSliceCharSequence_js__WEBPACK_IMPORTED_MODULE_14__.LinesSliceCharSequence(originalLines, rangeMapping.originalRange, considerWhitespaceChanges);
|
|
@@ -22144,10 +22502,16 @@ class DefaultLinesDiffComputer {
|
|
|
22144
22502
|
if (check) {
|
|
22145
22503
|
_algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff.assertSorted(diffs);
|
|
22146
22504
|
}
|
|
22147
|
-
diffs = (0,_heuristicSequenceOptimizations_js__WEBPACK_IMPORTED_MODULE_12__.extendDiffsToEntireWordIfAppropriate)(slice1, slice2, diffs);
|
|
22505
|
+
diffs = (0,_heuristicSequenceOptimizations_js__WEBPACK_IMPORTED_MODULE_12__.extendDiffsToEntireWordIfAppropriate)(slice1, slice2, diffs, (seq, idx) => seq.findWordContaining(idx));
|
|
22148
22506
|
if (check) {
|
|
22149
22507
|
_algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff.assertSorted(diffs);
|
|
22150
22508
|
}
|
|
22509
|
+
if (options.extendToSubwords) {
|
|
22510
|
+
diffs = (0,_heuristicSequenceOptimizations_js__WEBPACK_IMPORTED_MODULE_12__.extendDiffsToEntireWordIfAppropriate)(slice1, slice2, diffs, (seq, idx) => seq.findSubWordContaining(idx), true);
|
|
22511
|
+
if (check) {
|
|
22512
|
+
_algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff.assertSorted(diffs);
|
|
22513
|
+
}
|
|
22514
|
+
}
|
|
22151
22515
|
diffs = (0,_heuristicSequenceOptimizations_js__WEBPACK_IMPORTED_MODULE_12__.removeShortMatches)(slice1, slice2, diffs);
|
|
22152
22516
|
if (check) {
|
|
22153
22517
|
_algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_8__.SequenceDiff.assertSorted(diffs);
|
|
@@ -22364,7 +22728,7 @@ function removeShortMatches(sequence1, sequence2, sequenceDiffs) {
|
|
|
22364
22728
|
}
|
|
22365
22729
|
return result;
|
|
22366
22730
|
}
|
|
22367
|
-
function extendDiffsToEntireWordIfAppropriate(sequence1, sequence2, sequenceDiffs) {
|
|
22731
|
+
function extendDiffsToEntireWordIfAppropriate(sequence1, sequence2, sequenceDiffs, findParent, force = false) {
|
|
22368
22732
|
const equalMappings = _algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_2__.SequenceDiff.invert(sequenceDiffs, sequence1.length);
|
|
22369
22733
|
const additional = [];
|
|
22370
22734
|
let lastPoint = new _algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_2__.OffsetPair(0, 0);
|
|
@@ -22372,8 +22736,8 @@ function extendDiffsToEntireWordIfAppropriate(sequence1, sequence2, sequenceDiff
|
|
|
22372
22736
|
if (pair.offset1 < lastPoint.offset1 || pair.offset2 < lastPoint.offset2) {
|
|
22373
22737
|
return;
|
|
22374
22738
|
}
|
|
22375
|
-
const w1 = sequence1
|
|
22376
|
-
const w2 = sequence2
|
|
22739
|
+
const w1 = findParent(sequence1, pair.offset1);
|
|
22740
|
+
const w2 = findParent(sequence2, pair.offset2);
|
|
22377
22741
|
if (!w1 || !w2) {
|
|
22378
22742
|
return;
|
|
22379
22743
|
}
|
|
@@ -22389,8 +22753,8 @@ function extendDiffsToEntireWordIfAppropriate(sequence1, sequence2, sequenceDiff
|
|
|
22389
22753
|
if (!intersects) {
|
|
22390
22754
|
break;
|
|
22391
22755
|
}
|
|
22392
|
-
const v1 = sequence1
|
|
22393
|
-
const v2 = sequence2
|
|
22756
|
+
const v1 = findParent(sequence1, next.seq1Range.start);
|
|
22757
|
+
const v2 = findParent(sequence2, next.seq2Range.start);
|
|
22394
22758
|
// Because there is an intersection, we know that the words are not empty.
|
|
22395
22759
|
const v = new _algorithms_diffAlgorithm_js__WEBPACK_IMPORTED_MODULE_2__.SequenceDiff(v1, v2);
|
|
22396
22760
|
const equalPart = v.intersect(next);
|
|
@@ -22405,7 +22769,7 @@ function extendDiffsToEntireWordIfAppropriate(sequence1, sequence2, sequenceDiff
|
|
|
22405
22769
|
break;
|
|
22406
22770
|
}
|
|
22407
22771
|
}
|
|
22408
|
-
if (equalChars1 + equalChars2 < (w.seq1Range.length + w.seq2Range.length) * 2 / 3) {
|
|
22772
|
+
if ((force && equalChars1 + equalChars2 < w.seq1Range.length + w.seq2Range.length) || equalChars1 + equalChars2 < (w.seq1Range.length + w.seq2Range.length) * 2 / 3) {
|
|
22409
22773
|
additional.push(w);
|
|
22410
22774
|
}
|
|
22411
22775
|
lastPoint = w.getEndExclusives();
|
|
@@ -22751,6 +23115,26 @@ class LinesSliceCharSequence {
|
|
|
22751
23115
|
}
|
|
22752
23116
|
return new _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_1__.OffsetRange(start, end);
|
|
22753
23117
|
}
|
|
23118
|
+
/** fooBar has the two sub-words foo and bar */
|
|
23119
|
+
findSubWordContaining(offset) {
|
|
23120
|
+
if (offset < 0 || offset >= this.elements.length) {
|
|
23121
|
+
return undefined;
|
|
23122
|
+
}
|
|
23123
|
+
if (!isWordChar(this.elements[offset])) {
|
|
23124
|
+
return undefined;
|
|
23125
|
+
}
|
|
23126
|
+
// find start
|
|
23127
|
+
let start = offset;
|
|
23128
|
+
while (start > 0 && isWordChar(this.elements[start - 1]) && !isUpperCase(this.elements[start])) {
|
|
23129
|
+
start--;
|
|
23130
|
+
}
|
|
23131
|
+
// find end
|
|
23132
|
+
let end = offset;
|
|
23133
|
+
while (end < this.elements.length && isWordChar(this.elements[end]) && !isUpperCase(this.elements[end])) {
|
|
23134
|
+
end++;
|
|
23135
|
+
}
|
|
23136
|
+
return new _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_1__.OffsetRange(start, end);
|
|
23137
|
+
}
|
|
22754
23138
|
countLinesIn(range) {
|
|
22755
23139
|
return this.translateOffset(range.endExclusive).lineNumber - this.translateOffset(range.start).lineNumber;
|
|
22756
23140
|
}
|
|
@@ -22768,6 +23152,9 @@ function isWordChar(charCode) {
|
|
|
22768
23152
|
|| charCode >= 65 /* CharCode.A */ && charCode <= 90 /* CharCode.Z */
|
|
22769
23153
|
|| charCode >= 48 /* CharCode.Digit0 */ && charCode <= 57 /* CharCode.Digit9 */;
|
|
22770
23154
|
}
|
|
23155
|
+
function isUpperCase(charCode) {
|
|
23156
|
+
return charCode >= 65 /* CharCode.A */ && charCode <= 90 /* CharCode.Z */;
|
|
23157
|
+
}
|
|
22771
23158
|
var CharBoundaryCategory;
|
|
22772
23159
|
(function (CharBoundaryCategory) {
|
|
22773
23160
|
CharBoundaryCategory[CharBoundaryCategory["WordLower"] = 0] = "WordLower";
|
|
@@ -24708,6 +25095,45 @@ var SymbolKinds;
|
|
|
24708
25095
|
return icon;
|
|
24709
25096
|
}
|
|
24710
25097
|
SymbolKinds.toIcon = toIcon;
|
|
25098
|
+
const byCompletionKind = new Map();
|
|
25099
|
+
byCompletionKind.set(0 /* SymbolKind.File */, 20 /* CompletionItemKind.File */);
|
|
25100
|
+
byCompletionKind.set(1 /* SymbolKind.Module */, 8 /* CompletionItemKind.Module */);
|
|
25101
|
+
byCompletionKind.set(2 /* SymbolKind.Namespace */, 8 /* CompletionItemKind.Module */);
|
|
25102
|
+
byCompletionKind.set(3 /* SymbolKind.Package */, 8 /* CompletionItemKind.Module */);
|
|
25103
|
+
byCompletionKind.set(4 /* SymbolKind.Class */, 5 /* CompletionItemKind.Class */);
|
|
25104
|
+
byCompletionKind.set(5 /* SymbolKind.Method */, 0 /* CompletionItemKind.Method */);
|
|
25105
|
+
byCompletionKind.set(6 /* SymbolKind.Property */, 9 /* CompletionItemKind.Property */);
|
|
25106
|
+
byCompletionKind.set(7 /* SymbolKind.Field */, 3 /* CompletionItemKind.Field */);
|
|
25107
|
+
byCompletionKind.set(8 /* SymbolKind.Constructor */, 2 /* CompletionItemKind.Constructor */);
|
|
25108
|
+
byCompletionKind.set(9 /* SymbolKind.Enum */, 15 /* CompletionItemKind.Enum */);
|
|
25109
|
+
byCompletionKind.set(10 /* SymbolKind.Interface */, 7 /* CompletionItemKind.Interface */);
|
|
25110
|
+
byCompletionKind.set(11 /* SymbolKind.Function */, 1 /* CompletionItemKind.Function */);
|
|
25111
|
+
byCompletionKind.set(12 /* SymbolKind.Variable */, 4 /* CompletionItemKind.Variable */);
|
|
25112
|
+
byCompletionKind.set(13 /* SymbolKind.Constant */, 14 /* CompletionItemKind.Constant */);
|
|
25113
|
+
byCompletionKind.set(14 /* SymbolKind.String */, 18 /* CompletionItemKind.Text */);
|
|
25114
|
+
byCompletionKind.set(15 /* SymbolKind.Number */, 13 /* CompletionItemKind.Value */);
|
|
25115
|
+
byCompletionKind.set(16 /* SymbolKind.Boolean */, 13 /* CompletionItemKind.Value */);
|
|
25116
|
+
byCompletionKind.set(17 /* SymbolKind.Array */, 13 /* CompletionItemKind.Value */);
|
|
25117
|
+
byCompletionKind.set(18 /* SymbolKind.Object */, 13 /* CompletionItemKind.Value */);
|
|
25118
|
+
byCompletionKind.set(19 /* SymbolKind.Key */, 17 /* CompletionItemKind.Keyword */);
|
|
25119
|
+
byCompletionKind.set(20 /* SymbolKind.Null */, 13 /* CompletionItemKind.Value */);
|
|
25120
|
+
byCompletionKind.set(21 /* SymbolKind.EnumMember */, 16 /* CompletionItemKind.EnumMember */);
|
|
25121
|
+
byCompletionKind.set(22 /* SymbolKind.Struct */, 6 /* CompletionItemKind.Struct */);
|
|
25122
|
+
byCompletionKind.set(23 /* SymbolKind.Event */, 10 /* CompletionItemKind.Event */);
|
|
25123
|
+
byCompletionKind.set(24 /* SymbolKind.Operator */, 11 /* CompletionItemKind.Operator */);
|
|
25124
|
+
byCompletionKind.set(25 /* SymbolKind.TypeParameter */, 24 /* CompletionItemKind.TypeParameter */);
|
|
25125
|
+
/**
|
|
25126
|
+
* @internal
|
|
25127
|
+
*/
|
|
25128
|
+
function toCompletionKind(kind) {
|
|
25129
|
+
let completionKind = byCompletionKind.get(kind);
|
|
25130
|
+
if (completionKind === undefined) {
|
|
25131
|
+
console.info('No completion kind found for SymbolKind ' + kind);
|
|
25132
|
+
completionKind = 20 /* CompletionItemKind.File */;
|
|
25133
|
+
}
|
|
25134
|
+
return completionKind;
|
|
25135
|
+
}
|
|
25136
|
+
SymbolKinds.toCompletionKind = toCompletionKind;
|
|
24711
25137
|
})(SymbolKinds || (SymbolKinds = {}));
|
|
24712
25138
|
/** @internal */
|
|
24713
25139
|
class TextEdit {
|
|
@@ -24896,7 +25322,7 @@ function _toIColor(r, g, b, a) {
|
|
|
24896
25322
|
function _findRange(model, match) {
|
|
24897
25323
|
const index = match.index;
|
|
24898
25324
|
const length = match[0].length;
|
|
24899
|
-
if (
|
|
25325
|
+
if (index === undefined) {
|
|
24900
25326
|
return;
|
|
24901
25327
|
}
|
|
24902
25328
|
const startPosition = model.positionAt(index);
|
|
@@ -24957,7 +25383,7 @@ function _findMatches(model, regex) {
|
|
|
24957
25383
|
function computeColors(model) {
|
|
24958
25384
|
const result = [];
|
|
24959
25385
|
// Early validation for RGB and HSL
|
|
24960
|
-
const initialValidationRegex = /\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))
|
|
25386
|
+
const initialValidationRegex = /\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|\s+(#)([A-Fa-f0-9]{6})\b|\s+(#)([A-Fa-f0-9]{8})\b|^(#)([A-Fa-f0-9]{6})\b|^(#)([A-Fa-f0-9]{8})\b/gm;
|
|
24961
25387
|
const initialValidationMatches = _findMatches(model, initialValidationRegex);
|
|
24962
25388
|
// Potential colors have been found, validate the parameters
|
|
24963
25389
|
if (initialValidationMatches.length > 0) {
|
|
@@ -25367,7 +25793,7 @@ class ComposedLanguageConfiguration {
|
|
|
25367
25793
|
const entry = new LanguageConfigurationContribution(configuration, priority, ++this._order);
|
|
25368
25794
|
this._entries.push(entry);
|
|
25369
25795
|
this._resolved = null;
|
|
25370
|
-
return (0,_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {
|
|
25796
|
+
return (0,_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.markAsSingleton)((0,_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {
|
|
25371
25797
|
for (let i = 0; i < this._entries.length; i++) {
|
|
25372
25798
|
if (this._entries[i] === entry) {
|
|
25373
25799
|
this._entries.splice(i, 1);
|
|
@@ -25375,7 +25801,7 @@ class ComposedLanguageConfiguration {
|
|
|
25375
25801
|
break;
|
|
25376
25802
|
}
|
|
25377
25803
|
}
|
|
25378
|
-
});
|
|
25804
|
+
}));
|
|
25379
25805
|
}
|
|
25380
25806
|
getResolvedConfiguration() {
|
|
25381
25807
|
if (!this._resolved) {
|
|
@@ -25483,10 +25909,10 @@ class LanguageConfigurationRegistry extends _base_common_lifecycle_js__WEBPACK_I
|
|
|
25483
25909
|
}
|
|
25484
25910
|
const disposable = entries.register(configuration, priority);
|
|
25485
25911
|
this._onDidChange.fire(new LanguageConfigurationChangeEvent(languageId));
|
|
25486
|
-
return (0,_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {
|
|
25912
|
+
return (0,_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.markAsSingleton)((0,_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {
|
|
25487
25913
|
disposable.dispose();
|
|
25488
25914
|
this._onDidChange.fire(new LanguageConfigurationChangeEvent(languageId));
|
|
25489
|
-
});
|
|
25915
|
+
}));
|
|
25490
25916
|
}
|
|
25491
25917
|
getLanguageConfiguration(languageId) {
|
|
25492
25918
|
const entries = this._entries.get(languageId);
|
|
@@ -36119,7 +36545,7 @@ let TextModel = class TextModel extends _base_common_lifecycle_js__WEBPACK_IMPOR
|
|
|
36119
36545
|
const { textBuffer, disposable } = createTextBuffer(value, this._options.defaultEOL);
|
|
36120
36546
|
this._setValueFromTextBuffer(textBuffer, disposable);
|
|
36121
36547
|
}
|
|
36122
|
-
_createContentChanged2(range, rangeOffset, rangeLength, text, isUndoing, isRedoing, isFlush, isEolChange) {
|
|
36548
|
+
_createContentChanged2(range, rangeOffset, rangeLength, rangeEndPosition, text, isUndoing, isRedoing, isFlush, isEolChange) {
|
|
36123
36549
|
return {
|
|
36124
36550
|
changes: [{
|
|
36125
36551
|
range: range,
|
|
@@ -36153,7 +36579,7 @@ let TextModel = class TextModel extends _base_common_lifecycle_js__WEBPACK_IMPOR
|
|
|
36153
36579
|
this._trimAutoWhitespaceLines = null;
|
|
36154
36580
|
this._emitContentChangedEvent(new _textModelEvents_js__WEBPACK_IMPORTED_MODULE_27__.ModelRawContentChangedEvent([
|
|
36155
36581
|
new _textModelEvents_js__WEBPACK_IMPORTED_MODULE_27__.ModelRawFlush()
|
|
36156
|
-
], this._versionId, false, false), this._createContentChanged2(new _core_range_js__WEBPACK_IMPORTED_MODULE_10__.Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, this.getValue(), false, false, true, false));
|
|
36582
|
+
], this._versionId, false, false), this._createContentChanged2(new _core_range_js__WEBPACK_IMPORTED_MODULE_10__.Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, new _core_position_js__WEBPACK_IMPORTED_MODULE_9__.Position(endLineNumber, endColumn), this.getValue(), false, false, true, false));
|
|
36157
36583
|
}
|
|
36158
36584
|
setEOL(eol) {
|
|
36159
36585
|
this._assertNotDisposed();
|
|
@@ -36172,7 +36598,7 @@ let TextModel = class TextModel extends _base_common_lifecycle_js__WEBPACK_IMPOR
|
|
|
36172
36598
|
this._onAfterEOLChange();
|
|
36173
36599
|
this._emitContentChangedEvent(new _textModelEvents_js__WEBPACK_IMPORTED_MODULE_27__.ModelRawContentChangedEvent([
|
|
36174
36600
|
new _textModelEvents_js__WEBPACK_IMPORTED_MODULE_27__.ModelRawEOLChanged()
|
|
36175
|
-
], this._versionId, false, false), this._createContentChanged2(new _core_range_js__WEBPACK_IMPORTED_MODULE_10__.Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, this.getValue(), false, false, false, true));
|
|
36601
|
+
], this._versionId, false, false), this._createContentChanged2(new _core_range_js__WEBPACK_IMPORTED_MODULE_10__.Range(1, 1, endLineNumber, endColumn), 0, oldModelValueLength, new _core_position_js__WEBPACK_IMPORTED_MODULE_9__.Position(endLineNumber, endColumn), this.getValue(), false, false, false, true));
|
|
36176
36602
|
}
|
|
36177
36603
|
_onBeforeEOLChange() {
|
|
36178
36604
|
// Ensure all decorations get their `range` set.
|
|
@@ -36582,6 +37008,9 @@ let TextModel = class TextModel extends _base_common_lifecycle_js__WEBPACK_IMPOR
|
|
|
36582
37008
|
}
|
|
36583
37009
|
return this._validatePosition(position.lineNumber, position.column, validationType);
|
|
36584
37010
|
}
|
|
37011
|
+
isValidRange(range) {
|
|
37012
|
+
return this._isValidRange(range, 1 /* StringOffsetValidationType.SurrogatePairs */);
|
|
37013
|
+
}
|
|
36585
37014
|
_isValidRange(range, validationType) {
|
|
36586
37015
|
const startLineNumber = range.startLineNumber;
|
|
36587
37016
|
const startColumn = range.startColumn;
|
|
@@ -38372,27 +38801,20 @@ class TokenizerWithStateStoreAndTextModel extends TokenizerWithStateStore {
|
|
|
38372
38801
|
return lineTokens.getStandardTokenType(tokenIndex);
|
|
38373
38802
|
}
|
|
38374
38803
|
/** assumes state is up to date */
|
|
38375
|
-
|
|
38804
|
+
tokenizeLinesAt(lineNumber, lines) {
|
|
38376
38805
|
const lineStartState = this.getStartState(lineNumber);
|
|
38377
38806
|
if (!lineStartState) {
|
|
38378
|
-
return
|
|
38807
|
+
return null;
|
|
38379
38808
|
}
|
|
38380
|
-
const
|
|
38381
|
-
const
|
|
38382
|
-
|
|
38383
|
-
|
|
38384
|
-
|
|
38385
|
-
|
|
38386
|
-
|
|
38387
|
-
let state = result.endState;
|
|
38388
|
-
for (const line of edit.additionalLines) {
|
|
38389
|
-
const r = safeTokenize(this._languageIdCodec, languageId, this.tokenizationSupport, line, true, state);
|
|
38390
|
-
additionalLines.push(new _tokens_lineTokens_js__WEBPACK_IMPORTED_MODULE_10__.LineTokens(r.tokens, line, this._languageIdCodec));
|
|
38391
|
-
state = r.endState;
|
|
38392
|
-
}
|
|
38809
|
+
const languageId = this._textModel.getLanguageId();
|
|
38810
|
+
const result = [];
|
|
38811
|
+
let state = lineStartState;
|
|
38812
|
+
for (const line of lines) {
|
|
38813
|
+
const r = safeTokenize(this._languageIdCodec, languageId, this.tokenizationSupport, line, true, state);
|
|
38814
|
+
result.push(new _tokens_lineTokens_js__WEBPACK_IMPORTED_MODULE_10__.LineTokens(r.tokens, line, this._languageIdCodec));
|
|
38815
|
+
state = r.endState;
|
|
38393
38816
|
}
|
|
38394
|
-
|
|
38395
|
-
return { mainLineTokens, additionalLines };
|
|
38817
|
+
return result;
|
|
38396
38818
|
}
|
|
38397
38819
|
hasAccurateTokensForLine(lineNumber) {
|
|
38398
38820
|
const firstInvalidLineNumber = this.store.getFirstInvalidEndStateLineNumberOrMax();
|
|
@@ -38765,6 +39187,446 @@ class DefaultBackgroundTokenizer {
|
|
|
38765
39187
|
|
|
38766
39188
|
/***/ }),
|
|
38767
39189
|
|
|
39190
|
+
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/tokenStore.js":
|
|
39191
|
+
/*!************************************************************************************************!*\
|
|
39192
|
+
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/tokenStore.js ***!
|
|
39193
|
+
\************************************************************************************************/
|
|
39194
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
39195
|
+
|
|
39196
|
+
"use strict";
|
|
39197
|
+
__webpack_require__.r(__webpack_exports__);
|
|
39198
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
39199
|
+
/* harmony export */ TokenStore: () => (/* binding */ TokenStore)
|
|
39200
|
+
/* harmony export */ });
|
|
39201
|
+
/*---------------------------------------------------------------------------------------------
|
|
39202
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
39203
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
39204
|
+
*--------------------------------------------------------------------------------------------*/
|
|
39205
|
+
class ListNode {
|
|
39206
|
+
get children() { return this._children; }
|
|
39207
|
+
get length() { return this._length; }
|
|
39208
|
+
constructor(height) {
|
|
39209
|
+
this.height = height;
|
|
39210
|
+
this._children = [];
|
|
39211
|
+
this._length = 0;
|
|
39212
|
+
}
|
|
39213
|
+
static create(node1, node2) {
|
|
39214
|
+
const list = new ListNode(node1.height + 1);
|
|
39215
|
+
list.appendChild(node1);
|
|
39216
|
+
list.appendChild(node2);
|
|
39217
|
+
return list;
|
|
39218
|
+
}
|
|
39219
|
+
canAppendChild() {
|
|
39220
|
+
return this._children.length < 3;
|
|
39221
|
+
}
|
|
39222
|
+
appendChild(node) {
|
|
39223
|
+
if (!this.canAppendChild()) {
|
|
39224
|
+
throw new Error('Cannot insert more than 3 children in a ListNode');
|
|
39225
|
+
}
|
|
39226
|
+
this._children.push(node);
|
|
39227
|
+
this._length += node.length;
|
|
39228
|
+
this._updateParentLength(node.length);
|
|
39229
|
+
node.parent = this;
|
|
39230
|
+
}
|
|
39231
|
+
_updateParentLength(delta) {
|
|
39232
|
+
let updateParent = this.parent;
|
|
39233
|
+
while (updateParent) {
|
|
39234
|
+
updateParent._length += delta;
|
|
39235
|
+
updateParent = updateParent.parent;
|
|
39236
|
+
}
|
|
39237
|
+
}
|
|
39238
|
+
unappendChild() {
|
|
39239
|
+
const child = this._children.pop();
|
|
39240
|
+
this._length -= child.length;
|
|
39241
|
+
this._updateParentLength(-child.length);
|
|
39242
|
+
return child;
|
|
39243
|
+
}
|
|
39244
|
+
prependChild(node) {
|
|
39245
|
+
if (this._children.length >= 3) {
|
|
39246
|
+
throw new Error('Cannot prepend more than 3 children in a ListNode');
|
|
39247
|
+
}
|
|
39248
|
+
this._children.unshift(node);
|
|
39249
|
+
this._length += node.length;
|
|
39250
|
+
this._updateParentLength(node.length);
|
|
39251
|
+
node.parent = this;
|
|
39252
|
+
}
|
|
39253
|
+
unprependChild() {
|
|
39254
|
+
const child = this._children.shift();
|
|
39255
|
+
this._length -= child.length;
|
|
39256
|
+
this._updateParentLength(-child.length);
|
|
39257
|
+
return child;
|
|
39258
|
+
}
|
|
39259
|
+
lastChild() {
|
|
39260
|
+
return this._children[this._children.length - 1];
|
|
39261
|
+
}
|
|
39262
|
+
dispose() {
|
|
39263
|
+
this._children.splice(0, this._children.length);
|
|
39264
|
+
}
|
|
39265
|
+
}
|
|
39266
|
+
function isLeaf(node) {
|
|
39267
|
+
return node.token !== undefined;
|
|
39268
|
+
}
|
|
39269
|
+
// Heavily inspired by https://github.com/microsoft/vscode/blob/4eb2658d592cb6114a7a393655574176cc790c5b/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/concat23Trees.ts#L108-L109
|
|
39270
|
+
function append(node, nodeToAppend) {
|
|
39271
|
+
let curNode = node;
|
|
39272
|
+
const parents = [];
|
|
39273
|
+
let nodeToAppendOfCorrectHeight;
|
|
39274
|
+
while (true) {
|
|
39275
|
+
if (nodeToAppend.height === curNode.height) {
|
|
39276
|
+
nodeToAppendOfCorrectHeight = nodeToAppend;
|
|
39277
|
+
break;
|
|
39278
|
+
}
|
|
39279
|
+
if (isLeaf(curNode)) {
|
|
39280
|
+
throw new Error('unexpected');
|
|
39281
|
+
}
|
|
39282
|
+
parents.push(curNode);
|
|
39283
|
+
curNode = curNode.lastChild();
|
|
39284
|
+
}
|
|
39285
|
+
for (let i = parents.length - 1; i >= 0; i--) {
|
|
39286
|
+
const parent = parents[i];
|
|
39287
|
+
if (nodeToAppendOfCorrectHeight) {
|
|
39288
|
+
// Can we take the element?
|
|
39289
|
+
if (parent.children.length >= 3) {
|
|
39290
|
+
// we need to split to maintain (2,3)-tree property.
|
|
39291
|
+
// Send the third element + the new element to the parent.
|
|
39292
|
+
const newList = ListNode.create(parent.unappendChild(), nodeToAppendOfCorrectHeight);
|
|
39293
|
+
nodeToAppendOfCorrectHeight = newList;
|
|
39294
|
+
}
|
|
39295
|
+
else {
|
|
39296
|
+
parent.appendChild(nodeToAppendOfCorrectHeight);
|
|
39297
|
+
nodeToAppendOfCorrectHeight = undefined;
|
|
39298
|
+
}
|
|
39299
|
+
}
|
|
39300
|
+
}
|
|
39301
|
+
if (nodeToAppendOfCorrectHeight) {
|
|
39302
|
+
const newList = new ListNode(nodeToAppendOfCorrectHeight.height + 1);
|
|
39303
|
+
newList.appendChild(node);
|
|
39304
|
+
newList.appendChild(nodeToAppendOfCorrectHeight);
|
|
39305
|
+
return newList;
|
|
39306
|
+
}
|
|
39307
|
+
else {
|
|
39308
|
+
return node;
|
|
39309
|
+
}
|
|
39310
|
+
}
|
|
39311
|
+
function prepend(list, nodeToAppend) {
|
|
39312
|
+
let curNode = list;
|
|
39313
|
+
const parents = [];
|
|
39314
|
+
while (nodeToAppend.height !== curNode.height) {
|
|
39315
|
+
if (isLeaf(curNode)) {
|
|
39316
|
+
throw new Error('unexpected');
|
|
39317
|
+
}
|
|
39318
|
+
parents.push(curNode);
|
|
39319
|
+
// assert 2 <= curNode.childrenFast.length <= 3
|
|
39320
|
+
curNode = curNode.children[0];
|
|
39321
|
+
}
|
|
39322
|
+
let nodeToPrependOfCorrectHeight = nodeToAppend;
|
|
39323
|
+
// assert nodeToAppendOfCorrectHeight!.listHeight === curNode.listHeight
|
|
39324
|
+
for (let i = parents.length - 1; i >= 0; i--) {
|
|
39325
|
+
const parent = parents[i];
|
|
39326
|
+
if (nodeToPrependOfCorrectHeight) {
|
|
39327
|
+
// Can we take the element?
|
|
39328
|
+
if (parent.children.length >= 3) {
|
|
39329
|
+
// we need to split to maintain (2,3)-tree property.
|
|
39330
|
+
// Send the third element + the new element to the parent.
|
|
39331
|
+
nodeToPrependOfCorrectHeight = ListNode.create(nodeToPrependOfCorrectHeight, parent.unprependChild());
|
|
39332
|
+
}
|
|
39333
|
+
else {
|
|
39334
|
+
parent.prependChild(nodeToPrependOfCorrectHeight);
|
|
39335
|
+
nodeToPrependOfCorrectHeight = undefined;
|
|
39336
|
+
}
|
|
39337
|
+
}
|
|
39338
|
+
}
|
|
39339
|
+
if (nodeToPrependOfCorrectHeight) {
|
|
39340
|
+
return ListNode.create(nodeToPrependOfCorrectHeight, list);
|
|
39341
|
+
}
|
|
39342
|
+
else {
|
|
39343
|
+
return list;
|
|
39344
|
+
}
|
|
39345
|
+
}
|
|
39346
|
+
function concat(node1, node2) {
|
|
39347
|
+
if (node1.height === node2.height) {
|
|
39348
|
+
return ListNode.create(node1, node2);
|
|
39349
|
+
}
|
|
39350
|
+
else if (node1.height > node2.height) {
|
|
39351
|
+
// node1 is the tree we want to insert into
|
|
39352
|
+
return append(node1, node2);
|
|
39353
|
+
}
|
|
39354
|
+
else {
|
|
39355
|
+
return prepend(node2, node1);
|
|
39356
|
+
}
|
|
39357
|
+
}
|
|
39358
|
+
class TokenStore {
|
|
39359
|
+
get root() {
|
|
39360
|
+
return this._root;
|
|
39361
|
+
}
|
|
39362
|
+
constructor(_textModel) {
|
|
39363
|
+
this._textModel = _textModel;
|
|
39364
|
+
this._root = this.createEmptyRoot();
|
|
39365
|
+
}
|
|
39366
|
+
createEmptyRoot() {
|
|
39367
|
+
return {
|
|
39368
|
+
length: this._textModel.getValueLength(),
|
|
39369
|
+
token: 0,
|
|
39370
|
+
height: 0
|
|
39371
|
+
};
|
|
39372
|
+
}
|
|
39373
|
+
/**
|
|
39374
|
+
*
|
|
39375
|
+
* @param update all the tokens for the document in sequence
|
|
39376
|
+
*/
|
|
39377
|
+
buildStore(tokens) {
|
|
39378
|
+
this._root = this.createFromUpdates(tokens, true);
|
|
39379
|
+
}
|
|
39380
|
+
createFromUpdates(tokens, needsRefresh) {
|
|
39381
|
+
if (tokens.length === 0) {
|
|
39382
|
+
return this.createEmptyRoot();
|
|
39383
|
+
}
|
|
39384
|
+
let newRoot = {
|
|
39385
|
+
length: tokens[0].length,
|
|
39386
|
+
token: tokens[0].token,
|
|
39387
|
+
height: 0,
|
|
39388
|
+
needsRefresh
|
|
39389
|
+
};
|
|
39390
|
+
for (let j = 1; j < tokens.length; j++) {
|
|
39391
|
+
newRoot = append(newRoot, { length: tokens[j].length, token: tokens[j].token, height: 0, needsRefresh });
|
|
39392
|
+
}
|
|
39393
|
+
return newRoot;
|
|
39394
|
+
}
|
|
39395
|
+
/**
|
|
39396
|
+
*
|
|
39397
|
+
* @param tokens tokens are in sequence in the document.
|
|
39398
|
+
*/
|
|
39399
|
+
update(length, tokens, needsRefresh) {
|
|
39400
|
+
if (tokens.length === 0) {
|
|
39401
|
+
return;
|
|
39402
|
+
}
|
|
39403
|
+
this.replace(length, tokens[0].startOffsetInclusive, tokens, needsRefresh);
|
|
39404
|
+
}
|
|
39405
|
+
delete(length, startOffset) {
|
|
39406
|
+
this.replace(length, startOffset, [], true);
|
|
39407
|
+
}
|
|
39408
|
+
/**
|
|
39409
|
+
*
|
|
39410
|
+
* @param tokens tokens are in sequence in the document.
|
|
39411
|
+
*/
|
|
39412
|
+
replace(length, updateOffsetStart, tokens, needsRefresh) {
|
|
39413
|
+
const firstUnchangedOffsetAfterUpdate = updateOffsetStart + length;
|
|
39414
|
+
// Find the last unchanged node preceding the update
|
|
39415
|
+
const precedingNodes = [];
|
|
39416
|
+
// Find the first unchanged node after the update
|
|
39417
|
+
const postcedingNodes = [];
|
|
39418
|
+
const stack = [{ node: this._root, offset: 0 }];
|
|
39419
|
+
while (stack.length > 0) {
|
|
39420
|
+
const node = stack.pop();
|
|
39421
|
+
const currentOffset = node.offset;
|
|
39422
|
+
if (currentOffset < updateOffsetStart && currentOffset + node.node.length <= updateOffsetStart) {
|
|
39423
|
+
node.node.parent = undefined;
|
|
39424
|
+
precedingNodes.push(node.node);
|
|
39425
|
+
continue;
|
|
39426
|
+
}
|
|
39427
|
+
else if (isLeaf(node.node) && (currentOffset < updateOffsetStart)) {
|
|
39428
|
+
// We have a partial preceding node
|
|
39429
|
+
precedingNodes.push({ length: updateOffsetStart - currentOffset, token: node.node.token, height: 0, needsRefresh: needsRefresh || node.node.needsRefresh });
|
|
39430
|
+
// Node could also be postceeding, so don't continue
|
|
39431
|
+
}
|
|
39432
|
+
if ((updateOffsetStart <= currentOffset) && (currentOffset + node.node.length <= firstUnchangedOffsetAfterUpdate)) {
|
|
39433
|
+
continue;
|
|
39434
|
+
}
|
|
39435
|
+
if (currentOffset >= firstUnchangedOffsetAfterUpdate) {
|
|
39436
|
+
node.node.parent = undefined;
|
|
39437
|
+
postcedingNodes.push(node.node);
|
|
39438
|
+
continue;
|
|
39439
|
+
}
|
|
39440
|
+
else if (isLeaf(node.node) && (currentOffset + node.node.length >= firstUnchangedOffsetAfterUpdate)) {
|
|
39441
|
+
// we have a partial postceeding node
|
|
39442
|
+
postcedingNodes.push({ length: currentOffset + node.node.length - firstUnchangedOffsetAfterUpdate, token: node.node.token, height: 0, needsRefresh: needsRefresh || node.node.needsRefresh });
|
|
39443
|
+
continue;
|
|
39444
|
+
}
|
|
39445
|
+
if (!isLeaf(node.node)) {
|
|
39446
|
+
// Push children in reverse order to process them left-to-right when popping
|
|
39447
|
+
let childOffset = currentOffset + node.node.length;
|
|
39448
|
+
for (let i = node.node.children.length - 1; i >= 0; i--) {
|
|
39449
|
+
childOffset -= node.node.children[i].length;
|
|
39450
|
+
stack.push({ node: node.node.children[i], offset: childOffset });
|
|
39451
|
+
}
|
|
39452
|
+
}
|
|
39453
|
+
}
|
|
39454
|
+
let allNodes;
|
|
39455
|
+
if (tokens.length > 0) {
|
|
39456
|
+
allNodes = precedingNodes.concat(this.createFromUpdates(tokens, needsRefresh), postcedingNodes);
|
|
39457
|
+
}
|
|
39458
|
+
else {
|
|
39459
|
+
allNodes = precedingNodes.concat(postcedingNodes);
|
|
39460
|
+
}
|
|
39461
|
+
let newRoot = allNodes[0];
|
|
39462
|
+
for (let i = 1; i < allNodes.length; i++) {
|
|
39463
|
+
newRoot = concat(newRoot, allNodes[i]);
|
|
39464
|
+
}
|
|
39465
|
+
this._root = newRoot ?? this.createEmptyRoot();
|
|
39466
|
+
}
|
|
39467
|
+
/**
|
|
39468
|
+
*
|
|
39469
|
+
* @param startOffsetInclusive
|
|
39470
|
+
* @param endOffsetExclusive
|
|
39471
|
+
* @param visitor Return true from visitor to exit early
|
|
39472
|
+
* @returns
|
|
39473
|
+
*/
|
|
39474
|
+
traverseInOrderInRange(startOffsetInclusive, endOffsetExclusive, visitor) {
|
|
39475
|
+
const stack = [{ node: this._root, offset: 0 }];
|
|
39476
|
+
while (stack.length > 0) {
|
|
39477
|
+
const { node, offset } = stack.pop();
|
|
39478
|
+
const nodeEnd = offset + node.length;
|
|
39479
|
+
// Skip nodes that are completely before or after the range
|
|
39480
|
+
if (nodeEnd <= startOffsetInclusive || offset >= endOffsetExclusive) {
|
|
39481
|
+
continue;
|
|
39482
|
+
}
|
|
39483
|
+
if (visitor(node, offset)) {
|
|
39484
|
+
return;
|
|
39485
|
+
}
|
|
39486
|
+
if (!isLeaf(node)) {
|
|
39487
|
+
// Push children in reverse order to process them left-to-right when popping
|
|
39488
|
+
let childOffset = offset + node.length;
|
|
39489
|
+
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
39490
|
+
childOffset -= node.children[i].length;
|
|
39491
|
+
stack.push({ node: node.children[i], offset: childOffset });
|
|
39492
|
+
}
|
|
39493
|
+
}
|
|
39494
|
+
}
|
|
39495
|
+
}
|
|
39496
|
+
getTokenAt(offset) {
|
|
39497
|
+
let result;
|
|
39498
|
+
this.traverseInOrderInRange(offset, this._root.length, (node, offset) => {
|
|
39499
|
+
if (isLeaf(node)) {
|
|
39500
|
+
result = { token: node.token, startOffsetInclusive: offset, length: node.length };
|
|
39501
|
+
return true;
|
|
39502
|
+
}
|
|
39503
|
+
return false;
|
|
39504
|
+
});
|
|
39505
|
+
return result;
|
|
39506
|
+
}
|
|
39507
|
+
getTokensInRange(startOffsetInclusive, endOffsetExclusive) {
|
|
39508
|
+
const result = [];
|
|
39509
|
+
this.traverseInOrderInRange(startOffsetInclusive, endOffsetExclusive, (node, offset) => {
|
|
39510
|
+
if (isLeaf(node)) {
|
|
39511
|
+
let clippedLength = node.length;
|
|
39512
|
+
let clippedOffset = offset;
|
|
39513
|
+
if (offset < startOffsetInclusive) {
|
|
39514
|
+
clippedLength -= (startOffsetInclusive - offset);
|
|
39515
|
+
clippedOffset = startOffsetInclusive;
|
|
39516
|
+
}
|
|
39517
|
+
else if (offset + node.length > endOffsetExclusive) {
|
|
39518
|
+
clippedLength -= (offset + node.length - endOffsetExclusive);
|
|
39519
|
+
}
|
|
39520
|
+
result.push({ token: node.token, startOffsetInclusive: clippedOffset, length: clippedLength });
|
|
39521
|
+
}
|
|
39522
|
+
return false;
|
|
39523
|
+
});
|
|
39524
|
+
return result;
|
|
39525
|
+
}
|
|
39526
|
+
markForRefresh(startOffsetInclusive, endOffsetExclusive) {
|
|
39527
|
+
this.traverseInOrderInRange(startOffsetInclusive, endOffsetExclusive, (node) => {
|
|
39528
|
+
if (isLeaf(node)) {
|
|
39529
|
+
node.needsRefresh = true;
|
|
39530
|
+
}
|
|
39531
|
+
return false;
|
|
39532
|
+
});
|
|
39533
|
+
}
|
|
39534
|
+
rangeNeedsRefresh(startOffsetInclusive, endOffsetExclusive) {
|
|
39535
|
+
let needsRefresh = false;
|
|
39536
|
+
this.traverseInOrderInRange(startOffsetInclusive, endOffsetExclusive, (node) => {
|
|
39537
|
+
if (isLeaf(node) && node.needsRefresh) {
|
|
39538
|
+
needsRefresh = true;
|
|
39539
|
+
}
|
|
39540
|
+
return false;
|
|
39541
|
+
});
|
|
39542
|
+
return needsRefresh;
|
|
39543
|
+
}
|
|
39544
|
+
getNeedsRefresh() {
|
|
39545
|
+
const result = [];
|
|
39546
|
+
this.traverseInOrderInRange(0, this._textModel.getValueLength(), (node, offset) => {
|
|
39547
|
+
if (isLeaf(node) && node.needsRefresh) {
|
|
39548
|
+
if ((result.length > 0) && (result[result.length - 1].endOffset === offset)) {
|
|
39549
|
+
result[result.length - 1].endOffset += node.length;
|
|
39550
|
+
}
|
|
39551
|
+
else {
|
|
39552
|
+
result.push({ startOffset: offset, endOffset: offset + node.length });
|
|
39553
|
+
}
|
|
39554
|
+
}
|
|
39555
|
+
return false;
|
|
39556
|
+
});
|
|
39557
|
+
return result;
|
|
39558
|
+
}
|
|
39559
|
+
deepCopy() {
|
|
39560
|
+
const newStore = new TokenStore(this._textModel);
|
|
39561
|
+
newStore._root = this._copyNodeIterative(this._root);
|
|
39562
|
+
return newStore;
|
|
39563
|
+
}
|
|
39564
|
+
_copyNodeIterative(root) {
|
|
39565
|
+
const newRoot = isLeaf(root)
|
|
39566
|
+
? { length: root.length, token: root.token, needsRefresh: root.needsRefresh, height: root.height }
|
|
39567
|
+
: new ListNode(root.height);
|
|
39568
|
+
const stack = [[root, newRoot]];
|
|
39569
|
+
while (stack.length > 0) {
|
|
39570
|
+
const [oldNode, clonedNode] = stack.pop();
|
|
39571
|
+
if (!isLeaf(oldNode)) {
|
|
39572
|
+
for (const child of oldNode.children) {
|
|
39573
|
+
const childCopy = isLeaf(child)
|
|
39574
|
+
? { length: child.length, token: child.token, needsRefresh: child.needsRefresh, height: child.height }
|
|
39575
|
+
: new ListNode(child.height);
|
|
39576
|
+
clonedNode.appendChild(childCopy);
|
|
39577
|
+
stack.push([child, childCopy]);
|
|
39578
|
+
}
|
|
39579
|
+
}
|
|
39580
|
+
}
|
|
39581
|
+
return newRoot;
|
|
39582
|
+
}
|
|
39583
|
+
/**
|
|
39584
|
+
* Returns a string representation of the token tree using an iterative approach
|
|
39585
|
+
*/
|
|
39586
|
+
printTree(root = this._root) {
|
|
39587
|
+
const result = [];
|
|
39588
|
+
const stack = [[root, 0]];
|
|
39589
|
+
while (stack.length > 0) {
|
|
39590
|
+
const [node, depth] = stack.pop();
|
|
39591
|
+
const indent = ' '.repeat(depth);
|
|
39592
|
+
if (isLeaf(node)) {
|
|
39593
|
+
result.push(`${indent}Leaf(length: ${node.length}, token: ${node.token}, refresh: ${node.needsRefresh})\n`);
|
|
39594
|
+
}
|
|
39595
|
+
else {
|
|
39596
|
+
result.push(`${indent}List(length: ${node.length})\n`);
|
|
39597
|
+
// Push children in reverse order so they get processed left-to-right
|
|
39598
|
+
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
39599
|
+
stack.push([node.children[i], depth + 1]);
|
|
39600
|
+
}
|
|
39601
|
+
}
|
|
39602
|
+
}
|
|
39603
|
+
return result.join('');
|
|
39604
|
+
}
|
|
39605
|
+
dispose() {
|
|
39606
|
+
const stack = [[this._root, false]];
|
|
39607
|
+
while (stack.length > 0) {
|
|
39608
|
+
const [node, visited] = stack.pop();
|
|
39609
|
+
if (isLeaf(node)) {
|
|
39610
|
+
node.parent = undefined;
|
|
39611
|
+
}
|
|
39612
|
+
else if (!visited) {
|
|
39613
|
+
stack.push([node, true]);
|
|
39614
|
+
for (let i = node.children.length - 1; i >= 0; i--) {
|
|
39615
|
+
stack.push([node.children[i], false]);
|
|
39616
|
+
}
|
|
39617
|
+
}
|
|
39618
|
+
else {
|
|
39619
|
+
node.dispose();
|
|
39620
|
+
node.parent = undefined;
|
|
39621
|
+
}
|
|
39622
|
+
}
|
|
39623
|
+
this._root = undefined;
|
|
39624
|
+
}
|
|
39625
|
+
}
|
|
39626
|
+
//# sourceMappingURL=tokenStore.js.map
|
|
39627
|
+
|
|
39628
|
+
/***/ }),
|
|
39629
|
+
|
|
38768
39630
|
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/tokenizationTextModelPart.js":
|
|
38769
39631
|
/*!***************************************************************************************************************!*\
|
|
38770
39632
|
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/tokenizationTextModelPart.js ***!
|
|
@@ -38790,10 +39652,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
38790
39652
|
/* harmony import */ var _textModelTokens_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./textModelTokens.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/textModelTokens.js");
|
|
38791
39653
|
/* harmony import */ var _tokens_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./tokens.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/tokens.js");
|
|
38792
39654
|
/* harmony import */ var _treeSitterTokens_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./treeSitterTokens.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/treeSitterTokens.js");
|
|
38793
|
-
/* harmony import */ var
|
|
38794
|
-
/* harmony import */ var
|
|
38795
|
-
/* harmony import */ var
|
|
38796
|
-
/* harmony import */ var
|
|
39655
|
+
/* harmony import */ var _tokens_contiguousMultilineTokensBuilder_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../tokens/contiguousMultilineTokensBuilder.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/contiguousMultilineTokensBuilder.js");
|
|
39656
|
+
/* harmony import */ var _tokens_contiguousTokensStore_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../tokens/contiguousTokensStore.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/contiguousTokensStore.js");
|
|
39657
|
+
/* harmony import */ var _tokens_sparseTokensStore_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../tokens/sparseTokensStore.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/sparseTokensStore.js");
|
|
39658
|
+
/* harmony import */ var _platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../platform/instantiation/common/instantiation.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/platform/instantiation/common/instantiation.js");
|
|
38797
39659
|
/*---------------------------------------------------------------------------------------------
|
|
38798
39660
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
38799
39661
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
@@ -38827,7 +39689,7 @@ var TokenizationTextModelPart_1;
|
|
|
38827
39689
|
|
|
38828
39690
|
|
|
38829
39691
|
let TokenizationTextModelPart = TokenizationTextModelPart_1 = class TokenizationTextModelPart extends _textModelPart_js__WEBPACK_IMPORTED_MODULE_10__.TextModelPart {
|
|
38830
|
-
constructor(_textModel, _bracketPairsTextModelPart, _languageId, _attachedViews, _languageService, _languageConfigurationService,
|
|
39692
|
+
constructor(_textModel, _bracketPairsTextModelPart, _languageId, _attachedViews, _languageService, _languageConfigurationService, _instantiationService) {
|
|
38831
39693
|
super();
|
|
38832
39694
|
this._textModel = _textModel;
|
|
38833
39695
|
this._bracketPairsTextModelPart = _bracketPairsTextModelPart;
|
|
@@ -38835,8 +39697,8 @@ let TokenizationTextModelPart = TokenizationTextModelPart_1 = class Tokenization
|
|
|
38835
39697
|
this._attachedViews = _attachedViews;
|
|
38836
39698
|
this._languageService = _languageService;
|
|
38837
39699
|
this._languageConfigurationService = _languageConfigurationService;
|
|
38838
|
-
this.
|
|
38839
|
-
this._semanticTokens = new
|
|
39700
|
+
this._instantiationService = _instantiationService;
|
|
39701
|
+
this._semanticTokens = new _tokens_sparseTokensStore_js__WEBPACK_IMPORTED_MODULE_16__.SparseTokensStore(this._languageService.languageIdCodec);
|
|
38840
39702
|
this._onDidChangeLanguage = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter());
|
|
38841
39703
|
this.onDidChangeLanguage = this._onDidChangeLanguage.event;
|
|
38842
39704
|
this._onDidChangeLanguageConfiguration = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter());
|
|
@@ -38844,11 +39706,6 @@ let TokenizationTextModelPart = TokenizationTextModelPart_1 = class Tokenization
|
|
|
38844
39706
|
this._onDidChangeTokens = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_1__.Emitter());
|
|
38845
39707
|
this.onDidChangeTokens = this._onDidChangeTokens.event;
|
|
38846
39708
|
this._tokensDisposables = this._register(new _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableStore());
|
|
38847
|
-
this._register(this._languageConfigurationService.onDidChange(e => {
|
|
38848
|
-
if (e.affects(this._languageId)) {
|
|
38849
|
-
this._onDidChangeLanguageConfiguration.fire({});
|
|
38850
|
-
}
|
|
38851
|
-
}));
|
|
38852
39709
|
// We just look at registry changes to determine whether to use tree sitter.
|
|
38853
39710
|
// This means that removing a language from the setting will not cause a switch to textmate and will require a reload.
|
|
38854
39711
|
// Adding a language to the setting will not need a reload, however.
|
|
@@ -38861,7 +39718,7 @@ let TokenizationTextModelPart = TokenizationTextModelPart_1 = class Tokenization
|
|
|
38861
39718
|
return this._register(new GrammarTokens(this._languageService.languageIdCodec, this._textModel, () => this._languageId, this._attachedViews));
|
|
38862
39719
|
}
|
|
38863
39720
|
createTreeSitterTokens() {
|
|
38864
|
-
return this._register(
|
|
39721
|
+
return this._register(this._instantiationService.createInstance(_treeSitterTokens_js__WEBPACK_IMPORTED_MODULE_13__.TreeSitterTokens, this._languageService.languageIdCodec, this._textModel, () => this._languageId));
|
|
38865
39722
|
}
|
|
38866
39723
|
createTokens(useTreeSitter) {
|
|
38867
39724
|
const needsReset = this._tokens !== undefined;
|
|
@@ -38964,8 +39821,8 @@ let TokenizationTextModelPart = TokenizationTextModelPart_1 = class Tokenization
|
|
|
38964
39821
|
getTokenTypeIfInsertingCharacter(lineNumber, column, character) {
|
|
38965
39822
|
return this._tokens.getTokenTypeIfInsertingCharacter(lineNumber, column, character);
|
|
38966
39823
|
}
|
|
38967
|
-
|
|
38968
|
-
return this._tokens.
|
|
39824
|
+
tokenizeLinesAt(lineNumber, lines) {
|
|
39825
|
+
return this._tokens.tokenizeLinesAt(lineNumber, lines);
|
|
38969
39826
|
}
|
|
38970
39827
|
// #endregion
|
|
38971
39828
|
// #region Semantic Tokens
|
|
@@ -39087,7 +39944,7 @@ let TokenizationTextModelPart = TokenizationTextModelPart_1 = class Tokenization
|
|
|
39087
39944
|
TokenizationTextModelPart = TokenizationTextModelPart_1 = __decorate([
|
|
39088
39945
|
__param(4, _languages_language_js__WEBPACK_IMPORTED_MODULE_8__.ILanguageService),
|
|
39089
39946
|
__param(5, _languages_languageConfigurationRegistry_js__WEBPACK_IMPORTED_MODULE_9__.ILanguageConfigurationService),
|
|
39090
|
-
__param(6,
|
|
39947
|
+
__param(6, _platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_17__.IInstantiationService)
|
|
39091
39948
|
], TokenizationTextModelPart);
|
|
39092
39949
|
|
|
39093
39950
|
class GrammarTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_12__.AbstractTokens {
|
|
@@ -39096,7 +39953,7 @@ class GrammarTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_12__.AbstractTok
|
|
|
39096
39953
|
this._tokenizer = null;
|
|
39097
39954
|
this._defaultBackgroundTokenizer = null;
|
|
39098
39955
|
this._backgroundTokenizer = this._register(new _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.MutableDisposable());
|
|
39099
|
-
this._tokens = new
|
|
39956
|
+
this._tokens = new _tokens_contiguousTokensStore_js__WEBPACK_IMPORTED_MODULE_15__.ContiguousTokensStore(this._languageIdCodec);
|
|
39100
39957
|
this._debugBackgroundTokenizer = this._register(new _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.MutableDisposable());
|
|
39101
39958
|
this._attachedViewStates = this._register(new _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_2__.DisposableMap());
|
|
39102
39959
|
this._register(_languages_js__WEBPACK_IMPORTED_MODULE_7__.TokenizationRegistry.onDidChange((e) => {
|
|
@@ -39199,7 +40056,7 @@ class GrammarTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_12__.AbstractTok
|
|
|
39199
40056
|
this._defaultBackgroundTokenizer.handleChanges();
|
|
39200
40057
|
}
|
|
39201
40058
|
if (tokenizationSupport?.backgroundTokenizerShouldOnlyVerifyTokens && tokenizationSupport.createBackgroundTokenizer) {
|
|
39202
|
-
this._debugBackgroundTokens = new
|
|
40059
|
+
this._debugBackgroundTokens = new _tokens_contiguousTokensStore_js__WEBPACK_IMPORTED_MODULE_15__.ContiguousTokensStore(this._languageIdCodec);
|
|
39203
40060
|
this._debugBackgroundStates = new _textModelTokens_js__WEBPACK_IMPORTED_MODULE_11__.TrackingTokenizationStateStore(this._textModel.getLineCount());
|
|
39204
40061
|
this._debugBackgroundTokenizer.clear();
|
|
39205
40062
|
this._debugBackgroundTokenizer.value = tokenizationSupport.createBackgroundTokenizer(this._textModel, {
|
|
@@ -39265,7 +40122,7 @@ class GrammarTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_12__.AbstractTok
|
|
|
39265
40122
|
}
|
|
39266
40123
|
startLineNumber = Math.max(1, Math.min(this._textModel.getLineCount(), startLineNumber));
|
|
39267
40124
|
endLineNumber = Math.min(this._textModel.getLineCount(), endLineNumber);
|
|
39268
|
-
const builder = new
|
|
40125
|
+
const builder = new _tokens_contiguousMultilineTokensBuilder_js__WEBPACK_IMPORTED_MODULE_14__.ContiguousMultilineTokensBuilder();
|
|
39269
40126
|
const { heuristicTokens } = this._tokenizer.tokenizeHeuristically(builder, startLineNumber, endLineNumber);
|
|
39270
40127
|
const changedTokens = this.setTokens(builder.finalize());
|
|
39271
40128
|
if (heuristicTokens) {
|
|
@@ -39279,7 +40136,7 @@ class GrammarTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_12__.AbstractTok
|
|
|
39279
40136
|
this._defaultBackgroundTokenizer?.checkFinished();
|
|
39280
40137
|
}
|
|
39281
40138
|
forceTokenization(lineNumber) {
|
|
39282
|
-
const builder = new
|
|
40139
|
+
const builder = new _tokens_contiguousMultilineTokensBuilder_js__WEBPACK_IMPORTED_MODULE_14__.ContiguousMultilineTokensBuilder();
|
|
39283
40140
|
this._tokenizer?.updateTokensUntilLine(builder, lineNumber);
|
|
39284
40141
|
this.setTokens(builder.finalize());
|
|
39285
40142
|
this._defaultBackgroundTokenizer?.checkFinished();
|
|
@@ -39317,12 +40174,12 @@ class GrammarTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_12__.AbstractTok
|
|
|
39317
40174
|
this.forceTokenization(position.lineNumber);
|
|
39318
40175
|
return this._tokenizer.getTokenTypeIfInsertingCharacter(position, character);
|
|
39319
40176
|
}
|
|
39320
|
-
|
|
40177
|
+
tokenizeLinesAt(lineNumber, lines) {
|
|
39321
40178
|
if (!this._tokenizer) {
|
|
39322
|
-
return
|
|
40179
|
+
return null;
|
|
39323
40180
|
}
|
|
39324
40181
|
this.forceTokenization(lineNumber);
|
|
39325
|
-
return this._tokenizer.
|
|
40182
|
+
return this._tokenizer.tokenizeLinesAt(lineNumber, lines);
|
|
39326
40183
|
}
|
|
39327
40184
|
get hasTokens() {
|
|
39328
40185
|
return this._tokens.hasTokens;
|
|
@@ -39443,6 +40300,143 @@ class AbstractTokens extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_
|
|
|
39443
40300
|
|
|
39444
40301
|
/***/ }),
|
|
39445
40302
|
|
|
40303
|
+
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/treeSitterTokenStoreService.js":
|
|
40304
|
+
/*!*****************************************************************************************************************!*\
|
|
40305
|
+
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/treeSitterTokenStoreService.js ***!
|
|
40306
|
+
\*****************************************************************************************************************/
|
|
40307
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
40308
|
+
|
|
40309
|
+
"use strict";
|
|
40310
|
+
__webpack_require__.r(__webpack_exports__);
|
|
40311
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
40312
|
+
/* harmony export */ ITreeSitterTokenizationStoreService: () => (/* binding */ ITreeSitterTokenizationStoreService)
|
|
40313
|
+
/* harmony export */ });
|
|
40314
|
+
/* harmony import */ var _core_range_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/range.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/range.js");
|
|
40315
|
+
/* harmony import */ var _tokenStore_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./tokenStore.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/tokenStore.js");
|
|
40316
|
+
/* harmony import */ var _platform_instantiation_common_extensions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../platform/instantiation/common/extensions.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/platform/instantiation/common/extensions.js");
|
|
40317
|
+
/* harmony import */ var _platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../platform/instantiation/common/instantiation.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/platform/instantiation/common/instantiation.js");
|
|
40318
|
+
/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/lifecycle.js");
|
|
40319
|
+
/*---------------------------------------------------------------------------------------------
|
|
40320
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
40321
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
40322
|
+
*--------------------------------------------------------------------------------------------*/
|
|
40323
|
+
|
|
40324
|
+
|
|
40325
|
+
|
|
40326
|
+
|
|
40327
|
+
|
|
40328
|
+
const ITreeSitterTokenizationStoreService = (0,_platform_instantiation_common_instantiation_js__WEBPACK_IMPORTED_MODULE_3__.createDecorator)('treeSitterTokenizationStoreService');
|
|
40329
|
+
class TreeSitterTokenizationStoreService {
|
|
40330
|
+
constructor() {
|
|
40331
|
+
this.tokens = new Map();
|
|
40332
|
+
}
|
|
40333
|
+
setTokens(model, tokens) {
|
|
40334
|
+
const disposables = new _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_4__.DisposableStore();
|
|
40335
|
+
const store = disposables.add(new _tokenStore_js__WEBPACK_IMPORTED_MODULE_1__.TokenStore(model));
|
|
40336
|
+
this.tokens.set(model, { store: store, accurateVersion: model.getVersionId(), disposables, guessVersion: model.getVersionId() });
|
|
40337
|
+
store.buildStore(tokens);
|
|
40338
|
+
disposables.add(model.onDidChangeContent(e => {
|
|
40339
|
+
const storeInfo = this.tokens.get(model);
|
|
40340
|
+
if (!storeInfo) {
|
|
40341
|
+
return;
|
|
40342
|
+
}
|
|
40343
|
+
storeInfo.guessVersion = e.versionId;
|
|
40344
|
+
for (const change of e.changes) {
|
|
40345
|
+
if (change.text.length > change.rangeLength) {
|
|
40346
|
+
const oldToken = storeInfo.store.getTokenAt(change.rangeOffset);
|
|
40347
|
+
let newToken;
|
|
40348
|
+
if (oldToken) {
|
|
40349
|
+
// Insert. Just grow the token at this position to include the insert.
|
|
40350
|
+
newToken = { startOffsetInclusive: oldToken.startOffsetInclusive, length: oldToken.length + change.text.length - change.rangeLength, token: oldToken.token };
|
|
40351
|
+
}
|
|
40352
|
+
else {
|
|
40353
|
+
// The document got larger and the change is at the end of the document.
|
|
40354
|
+
newToken = { startOffsetInclusive: change.rangeOffset, length: change.text.length, token: 0 };
|
|
40355
|
+
}
|
|
40356
|
+
storeInfo.store.update(oldToken?.length ?? 0, [newToken], true);
|
|
40357
|
+
}
|
|
40358
|
+
else if (change.text.length < change.rangeLength) {
|
|
40359
|
+
// Delete. Delete the tokens at the corresponding range.
|
|
40360
|
+
const deletedCharCount = change.rangeLength - change.text.length;
|
|
40361
|
+
storeInfo.store.delete(deletedCharCount, change.rangeOffset);
|
|
40362
|
+
}
|
|
40363
|
+
const refreshLength = change.rangeLength > change.text.length ? change.rangeLength : change.text.length;
|
|
40364
|
+
storeInfo.store.markForRefresh(change.rangeOffset, change.rangeOffset + refreshLength);
|
|
40365
|
+
}
|
|
40366
|
+
}));
|
|
40367
|
+
disposables.add(model.onWillDispose(() => {
|
|
40368
|
+
const storeInfo = this.tokens.get(model);
|
|
40369
|
+
if (storeInfo) {
|
|
40370
|
+
storeInfo.disposables.dispose();
|
|
40371
|
+
this.tokens.delete(model);
|
|
40372
|
+
}
|
|
40373
|
+
}));
|
|
40374
|
+
}
|
|
40375
|
+
hasTokens(model, accurateForRange) {
|
|
40376
|
+
const tokens = this.tokens.get(model);
|
|
40377
|
+
if (!tokens) {
|
|
40378
|
+
return false;
|
|
40379
|
+
}
|
|
40380
|
+
if (!accurateForRange || (tokens.guessVersion === tokens.accurateVersion)) {
|
|
40381
|
+
return true;
|
|
40382
|
+
}
|
|
40383
|
+
return !tokens.store.rangeNeedsRefresh(model.getOffsetAt(accurateForRange.getStartPosition()), model.getOffsetAt(accurateForRange.getEndPosition()));
|
|
40384
|
+
}
|
|
40385
|
+
getTokens(model, line) {
|
|
40386
|
+
const tokens = this.tokens.get(model)?.store;
|
|
40387
|
+
if (!tokens) {
|
|
40388
|
+
return undefined;
|
|
40389
|
+
}
|
|
40390
|
+
const lineStartOffset = model.getOffsetAt({ lineNumber: line, column: 1 });
|
|
40391
|
+
const lineTokens = tokens.getTokensInRange(lineStartOffset, model.getOffsetAt({ lineNumber: line, column: model.getLineMaxColumn(line) }) + 1);
|
|
40392
|
+
const result = new Uint32Array(lineTokens.length * 2);
|
|
40393
|
+
for (let i = 0; i < lineTokens.length; i++) {
|
|
40394
|
+
result[i * 2] = lineTokens[i].startOffsetInclusive - lineStartOffset + lineTokens[i].length;
|
|
40395
|
+
result[i * 2 + 1] = lineTokens[i].token;
|
|
40396
|
+
}
|
|
40397
|
+
return result;
|
|
40398
|
+
}
|
|
40399
|
+
updateTokens(model, version, updates) {
|
|
40400
|
+
const existingTokens = this.tokens.get(model);
|
|
40401
|
+
if (!existingTokens) {
|
|
40402
|
+
return;
|
|
40403
|
+
}
|
|
40404
|
+
existingTokens.accurateVersion = version;
|
|
40405
|
+
for (const update of updates) {
|
|
40406
|
+
const lastToken = update.newTokens.length > 0 ? update.newTokens[update.newTokens.length - 1] : undefined;
|
|
40407
|
+
const oldRangeLength = ((existingTokens.guessVersion >= version) && lastToken) ? (lastToken.startOffsetInclusive + lastToken.length - update.newTokens[0].startOffsetInclusive) : update.oldRangeLength;
|
|
40408
|
+
existingTokens.store.update(oldRangeLength, update.newTokens);
|
|
40409
|
+
}
|
|
40410
|
+
}
|
|
40411
|
+
markForRefresh(model, range) {
|
|
40412
|
+
const tree = this.tokens.get(model)?.store;
|
|
40413
|
+
if (!tree) {
|
|
40414
|
+
return;
|
|
40415
|
+
}
|
|
40416
|
+
tree.markForRefresh(model.getOffsetAt(range.getStartPosition()), model.getOffsetAt(range.getEndPosition()));
|
|
40417
|
+
}
|
|
40418
|
+
getNeedsRefresh(model) {
|
|
40419
|
+
const needsRefreshOffsetRanges = this.tokens.get(model)?.store.getNeedsRefresh();
|
|
40420
|
+
if (!needsRefreshOffsetRanges) {
|
|
40421
|
+
return [];
|
|
40422
|
+
}
|
|
40423
|
+
return needsRefreshOffsetRanges.map(range => ({
|
|
40424
|
+
range: _core_range_js__WEBPACK_IMPORTED_MODULE_0__.Range.fromPositions(model.getPositionAt(range.startOffset), model.getPositionAt(range.endOffset)),
|
|
40425
|
+
startOffset: range.startOffset,
|
|
40426
|
+
endOffset: range.endOffset
|
|
40427
|
+
}));
|
|
40428
|
+
}
|
|
40429
|
+
dispose() {
|
|
40430
|
+
for (const [, value] of this.tokens) {
|
|
40431
|
+
value.disposables.dispose();
|
|
40432
|
+
}
|
|
40433
|
+
}
|
|
40434
|
+
}
|
|
40435
|
+
(0,_platform_instantiation_common_extensions_js__WEBPACK_IMPORTED_MODULE_2__.registerSingleton)(ITreeSitterTokenizationStoreService, TreeSitterTokenizationStoreService, 1 /* InstantiationType.Delayed */);
|
|
40436
|
+
//# sourceMappingURL=treeSitterTokenStoreService.js.map
|
|
40437
|
+
|
|
40438
|
+
/***/ }),
|
|
40439
|
+
|
|
39446
40440
|
/***/ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/treeSitterTokens.js":
|
|
39447
40441
|
/*!******************************************************************************************************!*\
|
|
39448
40442
|
!*** ../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/treeSitterTokens.js ***!
|
|
@@ -39458,18 +40452,31 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
39458
40452
|
/* harmony import */ var _tokens_lineTokens_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../tokens/lineTokens.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/lineTokens.js");
|
|
39459
40453
|
/* harmony import */ var _tokens_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./tokens.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/tokens.js");
|
|
39460
40454
|
/* harmony import */ var _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../base/common/lifecycle.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/lifecycle.js");
|
|
40455
|
+
/* harmony import */ var _treeSitterTokenStoreService_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./treeSitterTokenStoreService.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/model/treeSitterTokenStoreService.js");
|
|
40456
|
+
/* harmony import */ var _core_range_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/range.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/range.js");
|
|
39461
40457
|
/*---------------------------------------------------------------------------------------------
|
|
39462
40458
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
39463
40459
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
39464
40460
|
*--------------------------------------------------------------------------------------------*/
|
|
40461
|
+
var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
40462
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
40463
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
40464
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
40465
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
40466
|
+
};
|
|
40467
|
+
var __param = (undefined && undefined.__param) || function (paramIndex, decorator) {
|
|
40468
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
40469
|
+
};
|
|
40470
|
+
|
|
40471
|
+
|
|
39465
40472
|
|
|
39466
40473
|
|
|
39467
40474
|
|
|
39468
40475
|
|
|
39469
|
-
class TreeSitterTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_2__.AbstractTokens {
|
|
39470
|
-
constructor(
|
|
40476
|
+
let TreeSitterTokens = class TreeSitterTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_2__.AbstractTokens {
|
|
40477
|
+
constructor(languageIdCodec, textModel, languageId, _tokenStore) {
|
|
39471
40478
|
super(languageIdCodec, textModel, languageId);
|
|
39472
|
-
this.
|
|
40479
|
+
this._tokenStore = _tokenStore;
|
|
39473
40480
|
this._tokenizationSupport = null;
|
|
39474
40481
|
this._tokensChangedListener = this._register(new _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_3__.MutableDisposable());
|
|
39475
40482
|
this._initialize();
|
|
@@ -39489,7 +40496,7 @@ class TreeSitterTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_2__.AbstractT
|
|
|
39489
40496
|
getLineTokens(lineNumber) {
|
|
39490
40497
|
const content = this._textModel.getLineContent(lineNumber);
|
|
39491
40498
|
if (this._tokenizationSupport) {
|
|
39492
|
-
const rawTokens = this.
|
|
40499
|
+
const rawTokens = this._tokenStore.getTokens(this._textModel, lineNumber);
|
|
39493
40500
|
if (rawTokens) {
|
|
39494
40501
|
return new _tokens_lineTokens_js__WEBPACK_IMPORTED_MODULE_1__.LineTokens(rawTokens, content, this._languageIdCodec);
|
|
39495
40502
|
}
|
|
@@ -39520,30 +40527,33 @@ class TreeSitterTokens extends _tokens_js__WEBPACK_IMPORTED_MODULE_2__.AbstractT
|
|
|
39520
40527
|
}
|
|
39521
40528
|
}
|
|
39522
40529
|
forceTokenization(lineNumber) {
|
|
39523
|
-
|
|
40530
|
+
if (this._tokenizationSupport) {
|
|
40531
|
+
this._tokenizationSupport.tokenizeEncoded(lineNumber, this._textModel);
|
|
40532
|
+
}
|
|
39524
40533
|
}
|
|
39525
40534
|
hasAccurateTokensForLine(lineNumber) {
|
|
39526
|
-
|
|
39527
|
-
return true;
|
|
40535
|
+
return this._tokenStore.hasTokens(this._textModel, new _core_range_js__WEBPACK_IMPORTED_MODULE_5__.Range(lineNumber, 1, lineNumber, this._textModel.getLineMaxColumn(lineNumber)));
|
|
39528
40536
|
}
|
|
39529
40537
|
isCheapToTokenize(lineNumber) {
|
|
39530
|
-
// TODO @alexr00
|
|
40538
|
+
// TODO @alexr00 determine what makes it cheap to tokenize?
|
|
39531
40539
|
return true;
|
|
39532
40540
|
}
|
|
39533
40541
|
getTokenTypeIfInsertingCharacter(lineNumber, column, character) {
|
|
39534
40542
|
// TODO @alexr00 implement once we have custom parsing and don't just feed in the whole text model value
|
|
39535
40543
|
return 0 /* StandardTokenType.Other */;
|
|
39536
40544
|
}
|
|
39537
|
-
|
|
40545
|
+
tokenizeLinesAt(lineNumber, lines) {
|
|
39538
40546
|
// TODO @alexr00 understand what this is for and implement
|
|
39539
|
-
return
|
|
40547
|
+
return null;
|
|
39540
40548
|
}
|
|
39541
40549
|
get hasTokens() {
|
|
39542
|
-
|
|
39543
|
-
const hasTree = this._treeSitterService.getParseResult(this._textModel) !== undefined;
|
|
39544
|
-
return hasTree;
|
|
40550
|
+
return this._tokenStore.hasTokens(this._textModel);
|
|
39545
40551
|
}
|
|
39546
|
-
}
|
|
40552
|
+
};
|
|
40553
|
+
TreeSitterTokens = __decorate([
|
|
40554
|
+
__param(3, _treeSitterTokenStoreService_js__WEBPACK_IMPORTED_MODULE_4__.ITreeSitterTokenizationStoreService)
|
|
40555
|
+
], TreeSitterTokens);
|
|
40556
|
+
|
|
39547
40557
|
//# sourceMappingURL=treeSitterTokens.js.map
|
|
39548
40558
|
|
|
39549
40559
|
/***/ }),
|
|
@@ -40334,6 +41344,7 @@ function getHeaderText(text) {
|
|
|
40334
41344
|
"use strict";
|
|
40335
41345
|
__webpack_require__.r(__webpack_exports__);
|
|
40336
41346
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
41347
|
+
/* harmony export */ fileIconSelectorEscape: () => (/* binding */ fileIconSelectorEscape),
|
|
40337
41348
|
/* harmony export */ getIconClasses: () => (/* binding */ getIconClasses)
|
|
40338
41349
|
/* harmony export */ });
|
|
40339
41350
|
/* harmony import */ var _base_common_network_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../base/common/network.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/network.js");
|
|
@@ -40372,13 +41383,13 @@ function getIconClasses(modelService, languageService, resource, fileKind, icon)
|
|
|
40372
41383
|
else {
|
|
40373
41384
|
const match = resource.path.match(fileIconDirectoryRegex);
|
|
40374
41385
|
if (match) {
|
|
40375
|
-
name =
|
|
41386
|
+
name = fileIconSelectorEscape(match[2].toLowerCase());
|
|
40376
41387
|
if (match[1]) {
|
|
40377
|
-
classes.push(`${
|
|
41388
|
+
classes.push(`${fileIconSelectorEscape(match[1].toLowerCase())}-name-dir-icon`); // parent directory
|
|
40378
41389
|
}
|
|
40379
41390
|
}
|
|
40380
41391
|
else {
|
|
40381
|
-
name =
|
|
41392
|
+
name = fileIconSelectorEscape(resource.authority.toLowerCase());
|
|
40382
41393
|
}
|
|
40383
41394
|
}
|
|
40384
41395
|
// Root Folders
|
|
@@ -40409,7 +41420,7 @@ function getIconClasses(modelService, languageService, resource, fileKind, icon)
|
|
|
40409
41420
|
// Detected Mode
|
|
40410
41421
|
const detectedLanguageId = detectLanguageId(modelService, languageService, resource);
|
|
40411
41422
|
if (detectedLanguageId) {
|
|
40412
|
-
classes.push(`${
|
|
41423
|
+
classes.push(`${fileIconSelectorEscape(detectedLanguageId)}-lang-file-icon`);
|
|
40413
41424
|
}
|
|
40414
41425
|
}
|
|
40415
41426
|
}
|
|
@@ -40442,7 +41453,7 @@ function detectLanguageId(modelService, languageService, resource) {
|
|
|
40442
41453
|
// otherwise fallback to path based detection
|
|
40443
41454
|
return languageService.guessLanguageIdByFilepathOrFirstLine(resource);
|
|
40444
41455
|
}
|
|
40445
|
-
function
|
|
41456
|
+
function fileIconSelectorEscape(str) {
|
|
40446
41457
|
return str.replace(/[\s]/g, '/'); // HTML class names can not contain certain whitespace characters (https://dom.spec.whatwg.org/#interface-domtokenlist), use / instead, which doesn't exist in file names.
|
|
40447
41458
|
}
|
|
40448
41459
|
//# sourceMappingURL=getIconClasses.js.map
|
|
@@ -40685,7 +41696,6 @@ class LanguageFeaturesService {
|
|
|
40685
41696
|
this.documentSemanticTokensProvider = new _languageFeatureRegistry_js__WEBPACK_IMPORTED_MODULE_0__.LanguageFeatureRegistry(this._score.bind(this));
|
|
40686
41697
|
this.documentDropEditProvider = new _languageFeatureRegistry_js__WEBPACK_IMPORTED_MODULE_0__.LanguageFeatureRegistry(this._score.bind(this));
|
|
40687
41698
|
this.documentPasteEditProvider = new _languageFeatureRegistry_js__WEBPACK_IMPORTED_MODULE_0__.LanguageFeatureRegistry(this._score.bind(this));
|
|
40688
|
-
this.mappedEditsProvider = new _languageFeatureRegistry_js__WEBPACK_IMPORTED_MODULE_0__.LanguageFeatureRegistry(this._score.bind(this));
|
|
40689
41699
|
}
|
|
40690
41700
|
setNotebookTypeResolver(resolver) {
|
|
40691
41701
|
this._notebookTypeResolver = resolver;
|
|
@@ -41417,6 +42427,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
41417
42427
|
/* harmony import */ var _platform_theme_common_colorRegistry_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../platform/theme/common/colorRegistry.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/platform/theme/common/colorRegistry.js");
|
|
41418
42428
|
/* harmony import */ var _base_common_map_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../../base/common/map.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/map.js");
|
|
41419
42429
|
/* harmony import */ var _base_common_collections_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../base/common/collections.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/collections.js");
|
|
42430
|
+
/* harmony import */ var _base_common_iterator_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../../base/common/iterator.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/base/common/iterator.js");
|
|
41420
42431
|
/*---------------------------------------------------------------------------------------------
|
|
41421
42432
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
41422
42433
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
@@ -41442,12 +42453,14 @@ var __param = (undefined && undefined.__param) || function (paramIndex, decorato
|
|
|
41442
42453
|
|
|
41443
42454
|
|
|
41444
42455
|
|
|
42456
|
+
|
|
41445
42457
|
let MarkerDecorationsService = class MarkerDecorationsService extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.Disposable {
|
|
41446
42458
|
constructor(modelService, _markerService) {
|
|
41447
42459
|
super();
|
|
41448
42460
|
this._markerService = _markerService;
|
|
41449
42461
|
this._onDidChangeMarker = this._register(new _base_common_event_js__WEBPACK_IMPORTED_MODULE_8__.Emitter());
|
|
41450
42462
|
this.onDidChangeMarker = this._onDidChangeMarker.event;
|
|
42463
|
+
this._suppressedRanges = new _base_common_map_js__WEBPACK_IMPORTED_MODULE_10__.ResourceMap();
|
|
41451
42464
|
this._markerDecorations = new _base_common_map_js__WEBPACK_IMPORTED_MODULE_10__.ResourceMap();
|
|
41452
42465
|
modelService.getModels().forEach(model => this._onModelAdded(model));
|
|
41453
42466
|
this._register(modelService.onModelAdded(this._onModelAdded, this));
|
|
@@ -41467,6 +42480,25 @@ let MarkerDecorationsService = class MarkerDecorationsService extends _base_comm
|
|
|
41467
42480
|
const markerDecorations = this._markerDecorations.get(uri);
|
|
41468
42481
|
return markerDecorations ? markerDecorations.getMarkers() : [];
|
|
41469
42482
|
}
|
|
42483
|
+
addMarkerSuppression(uri, range) {
|
|
42484
|
+
let suppressedRanges = this._suppressedRanges.get(uri);
|
|
42485
|
+
if (!suppressedRanges) {
|
|
42486
|
+
suppressedRanges = new Set();
|
|
42487
|
+
this._suppressedRanges.set(uri, suppressedRanges);
|
|
42488
|
+
}
|
|
42489
|
+
suppressedRanges.add(range);
|
|
42490
|
+
this._handleMarkerChange([uri]);
|
|
42491
|
+
return (0,_base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_1__.toDisposable)(() => {
|
|
42492
|
+
const suppressedRanges = this._suppressedRanges.get(uri);
|
|
42493
|
+
if (suppressedRanges) {
|
|
42494
|
+
suppressedRanges.delete(range);
|
|
42495
|
+
if (suppressedRanges.size === 0) {
|
|
42496
|
+
this._suppressedRanges.delete(uri);
|
|
42497
|
+
}
|
|
42498
|
+
this._handleMarkerChange([uri]);
|
|
42499
|
+
}
|
|
42500
|
+
});
|
|
42501
|
+
}
|
|
41470
42502
|
_handleMarkerChange(changedResources) {
|
|
41471
42503
|
changedResources.forEach((resource) => {
|
|
41472
42504
|
const markerDecorations = this._markerDecorations.get(resource);
|
|
@@ -41495,7 +42527,14 @@ let MarkerDecorationsService = class MarkerDecorationsService extends _base_comm
|
|
|
41495
42527
|
}
|
|
41496
42528
|
_updateDecorations(markerDecorations) {
|
|
41497
42529
|
// Limit to the first 500 errors/warnings
|
|
41498
|
-
|
|
42530
|
+
let markers = this._markerService.read({ resource: markerDecorations.model.uri, take: 500 });
|
|
42531
|
+
// filter markers from suppressed ranges
|
|
42532
|
+
const suppressedRanges = this._suppressedRanges.get(markerDecorations.model.uri);
|
|
42533
|
+
if (suppressedRanges) {
|
|
42534
|
+
markers = markers.filter(marker => {
|
|
42535
|
+
return !_base_common_iterator_js__WEBPACK_IMPORTED_MODULE_12__.Iterable.some(suppressedRanges, candidate => _core_range_js__WEBPACK_IMPORTED_MODULE_6__.Range.areIntersectingOrTouching(candidate, marker));
|
|
42536
|
+
});
|
|
42537
|
+
}
|
|
41499
42538
|
if (markerDecorations.update(markers)) {
|
|
41500
42539
|
this._onDidChangeMarker.fire(markerDecorations.model);
|
|
41501
42540
|
}
|
|
@@ -44004,75 +45043,78 @@ var EditorOption;
|
|
|
44004
45043
|
EditorOption[EditorOption["multiCursorLimit"] = 81] = "multiCursorLimit";
|
|
44005
45044
|
EditorOption[EditorOption["occurrencesHighlight"] = 82] = "occurrencesHighlight";
|
|
44006
45045
|
EditorOption[EditorOption["occurrencesHighlightDelay"] = 83] = "occurrencesHighlightDelay";
|
|
44007
|
-
EditorOption[EditorOption["
|
|
44008
|
-
EditorOption[EditorOption["
|
|
44009
|
-
EditorOption[EditorOption["
|
|
44010
|
-
EditorOption[EditorOption["
|
|
44011
|
-
EditorOption[EditorOption["
|
|
44012
|
-
EditorOption[EditorOption["
|
|
44013
|
-
EditorOption[EditorOption["
|
|
44014
|
-
EditorOption[EditorOption["
|
|
44015
|
-
EditorOption[EditorOption["
|
|
44016
|
-
EditorOption[EditorOption["
|
|
44017
|
-
EditorOption[EditorOption["
|
|
44018
|
-
EditorOption[EditorOption["
|
|
44019
|
-
EditorOption[EditorOption["
|
|
44020
|
-
EditorOption[EditorOption["
|
|
44021
|
-
EditorOption[EditorOption["
|
|
44022
|
-
EditorOption[EditorOption["
|
|
44023
|
-
EditorOption[EditorOption["
|
|
44024
|
-
EditorOption[EditorOption["
|
|
44025
|
-
EditorOption[EditorOption["
|
|
44026
|
-
EditorOption[EditorOption["
|
|
44027
|
-
EditorOption[EditorOption["
|
|
44028
|
-
EditorOption[EditorOption["
|
|
44029
|
-
EditorOption[EditorOption["
|
|
44030
|
-
EditorOption[EditorOption["
|
|
44031
|
-
EditorOption[EditorOption["
|
|
44032
|
-
EditorOption[EditorOption["
|
|
44033
|
-
EditorOption[EditorOption["
|
|
44034
|
-
EditorOption[EditorOption["
|
|
44035
|
-
EditorOption[EditorOption["
|
|
44036
|
-
EditorOption[EditorOption["
|
|
44037
|
-
EditorOption[EditorOption["
|
|
44038
|
-
EditorOption[EditorOption["
|
|
44039
|
-
EditorOption[EditorOption["
|
|
44040
|
-
EditorOption[EditorOption["
|
|
44041
|
-
EditorOption[EditorOption["
|
|
44042
|
-
EditorOption[EditorOption["
|
|
44043
|
-
EditorOption[EditorOption["
|
|
44044
|
-
EditorOption[EditorOption["
|
|
44045
|
-
EditorOption[EditorOption["
|
|
44046
|
-
EditorOption[EditorOption["
|
|
44047
|
-
EditorOption[EditorOption["
|
|
44048
|
-
EditorOption[EditorOption["
|
|
44049
|
-
EditorOption[EditorOption["
|
|
44050
|
-
EditorOption[EditorOption["
|
|
44051
|
-
EditorOption[EditorOption["
|
|
44052
|
-
EditorOption[EditorOption["
|
|
44053
|
-
EditorOption[EditorOption["
|
|
44054
|
-
EditorOption[EditorOption["
|
|
44055
|
-
EditorOption[EditorOption["
|
|
44056
|
-
EditorOption[EditorOption["
|
|
44057
|
-
EditorOption[EditorOption["
|
|
44058
|
-
EditorOption[EditorOption["
|
|
44059
|
-
EditorOption[EditorOption["
|
|
44060
|
-
EditorOption[EditorOption["
|
|
44061
|
-
EditorOption[EditorOption["
|
|
44062
|
-
EditorOption[EditorOption["
|
|
44063
|
-
EditorOption[EditorOption["
|
|
44064
|
-
EditorOption[EditorOption["
|
|
44065
|
-
EditorOption[EditorOption["
|
|
44066
|
-
EditorOption[EditorOption["
|
|
44067
|
-
EditorOption[EditorOption["
|
|
44068
|
-
EditorOption[EditorOption["
|
|
44069
|
-
EditorOption[EditorOption["
|
|
44070
|
-
EditorOption[EditorOption["
|
|
44071
|
-
EditorOption[EditorOption["
|
|
44072
|
-
EditorOption[EditorOption["
|
|
44073
|
-
EditorOption[EditorOption["
|
|
44074
|
-
EditorOption[EditorOption["
|
|
44075
|
-
EditorOption[EditorOption["
|
|
45046
|
+
EditorOption[EditorOption["overtypeCursorStyle"] = 84] = "overtypeCursorStyle";
|
|
45047
|
+
EditorOption[EditorOption["overtypeOnPaste"] = 85] = "overtypeOnPaste";
|
|
45048
|
+
EditorOption[EditorOption["overviewRulerBorder"] = 86] = "overviewRulerBorder";
|
|
45049
|
+
EditorOption[EditorOption["overviewRulerLanes"] = 87] = "overviewRulerLanes";
|
|
45050
|
+
EditorOption[EditorOption["padding"] = 88] = "padding";
|
|
45051
|
+
EditorOption[EditorOption["pasteAs"] = 89] = "pasteAs";
|
|
45052
|
+
EditorOption[EditorOption["parameterHints"] = 90] = "parameterHints";
|
|
45053
|
+
EditorOption[EditorOption["peekWidgetDefaultFocus"] = 91] = "peekWidgetDefaultFocus";
|
|
45054
|
+
EditorOption[EditorOption["placeholder"] = 92] = "placeholder";
|
|
45055
|
+
EditorOption[EditorOption["definitionLinkOpensInPeek"] = 93] = "definitionLinkOpensInPeek";
|
|
45056
|
+
EditorOption[EditorOption["quickSuggestions"] = 94] = "quickSuggestions";
|
|
45057
|
+
EditorOption[EditorOption["quickSuggestionsDelay"] = 95] = "quickSuggestionsDelay";
|
|
45058
|
+
EditorOption[EditorOption["readOnly"] = 96] = "readOnly";
|
|
45059
|
+
EditorOption[EditorOption["readOnlyMessage"] = 97] = "readOnlyMessage";
|
|
45060
|
+
EditorOption[EditorOption["renameOnType"] = 98] = "renameOnType";
|
|
45061
|
+
EditorOption[EditorOption["renderControlCharacters"] = 99] = "renderControlCharacters";
|
|
45062
|
+
EditorOption[EditorOption["renderFinalNewline"] = 100] = "renderFinalNewline";
|
|
45063
|
+
EditorOption[EditorOption["renderLineHighlight"] = 101] = "renderLineHighlight";
|
|
45064
|
+
EditorOption[EditorOption["renderLineHighlightOnlyWhenFocus"] = 102] = "renderLineHighlightOnlyWhenFocus";
|
|
45065
|
+
EditorOption[EditorOption["renderValidationDecorations"] = 103] = "renderValidationDecorations";
|
|
45066
|
+
EditorOption[EditorOption["renderWhitespace"] = 104] = "renderWhitespace";
|
|
45067
|
+
EditorOption[EditorOption["revealHorizontalRightPadding"] = 105] = "revealHorizontalRightPadding";
|
|
45068
|
+
EditorOption[EditorOption["roundedSelection"] = 106] = "roundedSelection";
|
|
45069
|
+
EditorOption[EditorOption["rulers"] = 107] = "rulers";
|
|
45070
|
+
EditorOption[EditorOption["scrollbar"] = 108] = "scrollbar";
|
|
45071
|
+
EditorOption[EditorOption["scrollBeyondLastColumn"] = 109] = "scrollBeyondLastColumn";
|
|
45072
|
+
EditorOption[EditorOption["scrollBeyondLastLine"] = 110] = "scrollBeyondLastLine";
|
|
45073
|
+
EditorOption[EditorOption["scrollPredominantAxis"] = 111] = "scrollPredominantAxis";
|
|
45074
|
+
EditorOption[EditorOption["selectionClipboard"] = 112] = "selectionClipboard";
|
|
45075
|
+
EditorOption[EditorOption["selectionHighlight"] = 113] = "selectionHighlight";
|
|
45076
|
+
EditorOption[EditorOption["selectOnLineNumbers"] = 114] = "selectOnLineNumbers";
|
|
45077
|
+
EditorOption[EditorOption["showFoldingControls"] = 115] = "showFoldingControls";
|
|
45078
|
+
EditorOption[EditorOption["showUnused"] = 116] = "showUnused";
|
|
45079
|
+
EditorOption[EditorOption["snippetSuggestions"] = 117] = "snippetSuggestions";
|
|
45080
|
+
EditorOption[EditorOption["smartSelect"] = 118] = "smartSelect";
|
|
45081
|
+
EditorOption[EditorOption["smoothScrolling"] = 119] = "smoothScrolling";
|
|
45082
|
+
EditorOption[EditorOption["stickyScroll"] = 120] = "stickyScroll";
|
|
45083
|
+
EditorOption[EditorOption["stickyTabStops"] = 121] = "stickyTabStops";
|
|
45084
|
+
EditorOption[EditorOption["stopRenderingLineAfter"] = 122] = "stopRenderingLineAfter";
|
|
45085
|
+
EditorOption[EditorOption["suggest"] = 123] = "suggest";
|
|
45086
|
+
EditorOption[EditorOption["suggestFontSize"] = 124] = "suggestFontSize";
|
|
45087
|
+
EditorOption[EditorOption["suggestLineHeight"] = 125] = "suggestLineHeight";
|
|
45088
|
+
EditorOption[EditorOption["suggestOnTriggerCharacters"] = 126] = "suggestOnTriggerCharacters";
|
|
45089
|
+
EditorOption[EditorOption["suggestSelection"] = 127] = "suggestSelection";
|
|
45090
|
+
EditorOption[EditorOption["tabCompletion"] = 128] = "tabCompletion";
|
|
45091
|
+
EditorOption[EditorOption["tabIndex"] = 129] = "tabIndex";
|
|
45092
|
+
EditorOption[EditorOption["unicodeHighlighting"] = 130] = "unicodeHighlighting";
|
|
45093
|
+
EditorOption[EditorOption["unusualLineTerminators"] = 131] = "unusualLineTerminators";
|
|
45094
|
+
EditorOption[EditorOption["useShadowDOM"] = 132] = "useShadowDOM";
|
|
45095
|
+
EditorOption[EditorOption["useTabStops"] = 133] = "useTabStops";
|
|
45096
|
+
EditorOption[EditorOption["wordBreak"] = 134] = "wordBreak";
|
|
45097
|
+
EditorOption[EditorOption["wordSegmenterLocales"] = 135] = "wordSegmenterLocales";
|
|
45098
|
+
EditorOption[EditorOption["wordSeparators"] = 136] = "wordSeparators";
|
|
45099
|
+
EditorOption[EditorOption["wordWrap"] = 137] = "wordWrap";
|
|
45100
|
+
EditorOption[EditorOption["wordWrapBreakAfterCharacters"] = 138] = "wordWrapBreakAfterCharacters";
|
|
45101
|
+
EditorOption[EditorOption["wordWrapBreakBeforeCharacters"] = 139] = "wordWrapBreakBeforeCharacters";
|
|
45102
|
+
EditorOption[EditorOption["wordWrapColumn"] = 140] = "wordWrapColumn";
|
|
45103
|
+
EditorOption[EditorOption["wordWrapOverride1"] = 141] = "wordWrapOverride1";
|
|
45104
|
+
EditorOption[EditorOption["wordWrapOverride2"] = 142] = "wordWrapOverride2";
|
|
45105
|
+
EditorOption[EditorOption["wrappingIndent"] = 143] = "wrappingIndent";
|
|
45106
|
+
EditorOption[EditorOption["wrappingStrategy"] = 144] = "wrappingStrategy";
|
|
45107
|
+
EditorOption[EditorOption["showDeprecated"] = 145] = "showDeprecated";
|
|
45108
|
+
EditorOption[EditorOption["inlayHints"] = 146] = "inlayHints";
|
|
45109
|
+
EditorOption[EditorOption["effectiveCursorStyle"] = 147] = "effectiveCursorStyle";
|
|
45110
|
+
EditorOption[EditorOption["editorClassName"] = 148] = "editorClassName";
|
|
45111
|
+
EditorOption[EditorOption["pixelRatio"] = 149] = "pixelRatio";
|
|
45112
|
+
EditorOption[EditorOption["tabFocusMode"] = 150] = "tabFocusMode";
|
|
45113
|
+
EditorOption[EditorOption["layoutInfo"] = 151] = "layoutInfo";
|
|
45114
|
+
EditorOption[EditorOption["wrappingInfo"] = 152] = "wrappingInfo";
|
|
45115
|
+
EditorOption[EditorOption["defaultColorDecorators"] = 153] = "defaultColorDecorators";
|
|
45116
|
+
EditorOption[EditorOption["colorDecoratorsActivatedOn"] = 154] = "colorDecoratorsActivatedOn";
|
|
45117
|
+
EditorOption[EditorOption["inlineCompletionsAccessibilityVerbose"] = 155] = "inlineCompletionsAccessibilityVerbose";
|
|
44076
45118
|
})(EditorOption || (EditorOption = {}));
|
|
44077
45119
|
/**
|
|
44078
45120
|
* End of line character preference.
|
|
@@ -46016,6 +47058,9 @@ class LineTokens {
|
|
|
46016
47058
|
sliceAndInflate(startOffset, endOffset, deltaOffset) {
|
|
46017
47059
|
return new SliceLineTokens(this, startOffset, endOffset, deltaOffset);
|
|
46018
47060
|
}
|
|
47061
|
+
sliceZeroCopy(range) {
|
|
47062
|
+
return this.sliceAndInflate(range.start, range.endExclusive, 0);
|
|
47063
|
+
}
|
|
46019
47064
|
/**
|
|
46020
47065
|
* @pure
|
|
46021
47066
|
* @param insertTokens Must be sorted by offset.
|
|
@@ -46083,6 +47128,13 @@ class LineTokens {
|
|
|
46083
47128
|
callback(tokenIndex);
|
|
46084
47129
|
}
|
|
46085
47130
|
}
|
|
47131
|
+
toString() {
|
|
47132
|
+
let result = '';
|
|
47133
|
+
this.forEach((i) => {
|
|
47134
|
+
result += `[${this.getTokenText(i)}]{${this.getClassName(i)}}`;
|
|
47135
|
+
});
|
|
47136
|
+
return result;
|
|
47137
|
+
}
|
|
46086
47138
|
}
|
|
46087
47139
|
class SliceLineTokens {
|
|
46088
47140
|
constructor(source, startOffset, endOffset, deltaOffset) {
|
|
@@ -46938,11 +47990,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
46938
47990
|
/* harmony export */ TokenInfo: () => (/* binding */ TokenInfo)
|
|
46939
47991
|
/* harmony export */ });
|
|
46940
47992
|
/* harmony import */ var _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core/offsetRange.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/core/offsetRange.js");
|
|
47993
|
+
/* harmony import */ var _lineTokens_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lineTokens.js */ "../../node_modules/@opensumi/monaco-editor-core/esm/vs/editor/common/tokens/lineTokens.js");
|
|
46941
47994
|
/*---------------------------------------------------------------------------------------------
|
|
46942
47995
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
46943
47996
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
46944
47997
|
*--------------------------------------------------------------------------------------------*/
|
|
46945
47998
|
|
|
47999
|
+
|
|
46946
48000
|
/**
|
|
46947
48001
|
* This class represents a sequence of tokens.
|
|
46948
48002
|
* Conceptually, each token has a length and a metadata number.
|
|
@@ -46952,12 +48006,22 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
46952
48006
|
* TODO: Make this class more efficient (e.g. by using a Int32Array).
|
|
46953
48007
|
*/
|
|
46954
48008
|
class TokenArray {
|
|
48009
|
+
static fromLineTokens(lineTokens) {
|
|
48010
|
+
const tokenInfo = [];
|
|
48011
|
+
for (let i = 0; i < lineTokens.getCount(); i++) {
|
|
48012
|
+
tokenInfo.push(new TokenInfo(lineTokens.getEndOffset(i) - lineTokens.getStartOffset(i), lineTokens.getMetadata(i)));
|
|
48013
|
+
}
|
|
48014
|
+
return TokenArray.create(tokenInfo);
|
|
48015
|
+
}
|
|
46955
48016
|
static create(tokenInfo) {
|
|
46956
48017
|
return new TokenArray(tokenInfo);
|
|
46957
48018
|
}
|
|
46958
48019
|
constructor(_tokenInfo) {
|
|
46959
48020
|
this._tokenInfo = _tokenInfo;
|
|
46960
48021
|
}
|
|
48022
|
+
toLineTokens(lineContent, decoder) {
|
|
48023
|
+
return _lineTokens_js__WEBPACK_IMPORTED_MODULE_1__.LineTokens.createFromTextAndMetadata(this.map((r, t) => ({ text: r.substring(lineContent), metadata: t.metadata })), decoder);
|
|
48024
|
+
}
|
|
46961
48025
|
forEach(cb) {
|
|
46962
48026
|
let lengthSum = 0;
|
|
46963
48027
|
for (const tokenInfo of this._tokenInfo) {
|
|
@@ -46966,6 +48030,16 @@ class TokenArray {
|
|
|
46966
48030
|
lengthSum += tokenInfo.length;
|
|
46967
48031
|
}
|
|
46968
48032
|
}
|
|
48033
|
+
map(cb) {
|
|
48034
|
+
const result = [];
|
|
48035
|
+
let lengthSum = 0;
|
|
48036
|
+
for (const tokenInfo of this._tokenInfo) {
|
|
48037
|
+
const range = new _core_offsetRange_js__WEBPACK_IMPORTED_MODULE_0__.OffsetRange(lengthSum, lengthSum + tokenInfo.length);
|
|
48038
|
+
result.push(cb(range, tokenInfo));
|
|
48039
|
+
lengthSum += tokenInfo.length;
|
|
48040
|
+
}
|
|
48041
|
+
return result;
|
|
48042
|
+
}
|
|
46969
48043
|
slice(range) {
|
|
46970
48044
|
const result = [];
|
|
46971
48045
|
let lengthSum = 0;
|
|
@@ -47245,6 +48319,9 @@ function removeFromValueTree(valueTree, key) {
|
|
|
47245
48319
|
doRemoveFromValueTree(valueTree, segments);
|
|
47246
48320
|
}
|
|
47247
48321
|
function doRemoveFromValueTree(valueTree, segments) {
|
|
48322
|
+
if (!valueTree) {
|
|
48323
|
+
return;
|
|
48324
|
+
}
|
|
47248
48325
|
const first = segments.shift();
|
|
47249
48326
|
if (segments.length === 0) {
|
|
47250
48327
|
// Reached last segment
|
|
@@ -47261,9 +48338,6 @@ function doRemoveFromValueTree(valueTree, segments) {
|
|
|
47261
48338
|
}
|
|
47262
48339
|
}
|
|
47263
48340
|
}
|
|
47264
|
-
/**
|
|
47265
|
-
* A helper function to get the configuration value with a specific settings path (e.g. config.some.setting)
|
|
47266
|
-
*/
|
|
47267
48341
|
function getConfigurationValue(config, settingPath, defaultValue) {
|
|
47268
48342
|
function accessSetting(config, path) {
|
|
47269
48343
|
let current = config;
|
|
@@ -47301,6 +48375,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
47301
48375
|
/* harmony export */ OVERRIDE_PROPERTY_PATTERN: () => (/* binding */ OVERRIDE_PROPERTY_PATTERN),
|
|
47302
48376
|
/* harmony export */ OVERRIDE_PROPERTY_REGEX: () => (/* binding */ OVERRIDE_PROPERTY_REGEX),
|
|
47303
48377
|
/* harmony export */ allSettings: () => (/* binding */ allSettings),
|
|
48378
|
+
/* harmony export */ applicationMachineSettings: () => (/* binding */ applicationMachineSettings),
|
|
47304
48379
|
/* harmony export */ applicationSettings: () => (/* binding */ applicationSettings),
|
|
47305
48380
|
/* harmony export */ getDefaultValue: () => (/* binding */ getDefaultValue),
|
|
47306
48381
|
/* harmony export */ machineOverridableSettings: () => (/* binding */ machineOverridableSettings),
|
|
@@ -47340,32 +48415,37 @@ const Extensions = {
|
|
|
47340
48415
|
var ConfigurationScope;
|
|
47341
48416
|
(function (ConfigurationScope) {
|
|
47342
48417
|
/**
|
|
47343
|
-
* Application specific configuration, which can be configured only in
|
|
48418
|
+
* Application specific configuration, which can be configured only in default profile user settings.
|
|
47344
48419
|
*/
|
|
47345
48420
|
ConfigurationScope[ConfigurationScope["APPLICATION"] = 1] = "APPLICATION";
|
|
47346
48421
|
/**
|
|
47347
48422
|
* Machine specific configuration, which can be configured only in local and remote user settings.
|
|
47348
48423
|
*/
|
|
47349
48424
|
ConfigurationScope[ConfigurationScope["MACHINE"] = 2] = "MACHINE";
|
|
48425
|
+
/**
|
|
48426
|
+
* An application machine specific configuration, which can be configured only in default profile user settings and remote user settings.
|
|
48427
|
+
*/
|
|
48428
|
+
ConfigurationScope[ConfigurationScope["APPLICATION_MACHINE"] = 3] = "APPLICATION_MACHINE";
|
|
47350
48429
|
/**
|
|
47351
48430
|
* Window specific configuration, which can be configured in the user or workspace settings.
|
|
47352
48431
|
*/
|
|
47353
|
-
ConfigurationScope[ConfigurationScope["WINDOW"] =
|
|
48432
|
+
ConfigurationScope[ConfigurationScope["WINDOW"] = 4] = "WINDOW";
|
|
47354
48433
|
/**
|
|
47355
48434
|
* Resource specific configuration, which can be configured in the user, workspace or folder settings.
|
|
47356
48435
|
*/
|
|
47357
|
-
ConfigurationScope[ConfigurationScope["RESOURCE"] =
|
|
48436
|
+
ConfigurationScope[ConfigurationScope["RESOURCE"] = 5] = "RESOURCE";
|
|
47358
48437
|
/**
|
|
47359
48438
|
* Resource specific configuration that can be configured in language specific settings
|
|
47360
48439
|
*/
|
|
47361
|
-
ConfigurationScope[ConfigurationScope["LANGUAGE_OVERRIDABLE"] =
|
|
48440
|
+
ConfigurationScope[ConfigurationScope["LANGUAGE_OVERRIDABLE"] = 6] = "LANGUAGE_OVERRIDABLE";
|
|
47362
48441
|
/**
|
|
47363
48442
|
* Machine specific configuration that can also be configured in workspace or folder settings.
|
|
47364
48443
|
*/
|
|
47365
|
-
ConfigurationScope[ConfigurationScope["MACHINE_OVERRIDABLE"] =
|
|
48444
|
+
ConfigurationScope[ConfigurationScope["MACHINE_OVERRIDABLE"] = 7] = "MACHINE_OVERRIDABLE";
|
|
47366
48445
|
})(ConfigurationScope || (ConfigurationScope = {}));
|
|
47367
48446
|
const allSettings = { properties: {}, patternProperties: {} };
|
|
47368
48447
|
const applicationSettings = { properties: {}, patternProperties: {} };
|
|
48448
|
+
const applicationMachineSettings = { properties: {}, patternProperties: {} };
|
|
47369
48449
|
const machineSettings = { properties: {}, patternProperties: {} };
|
|
47370
48450
|
const machineOverridableSettings = { properties: {}, patternProperties: {} };
|
|
47371
48451
|
const windowSettings = { properties: {}, patternProperties: {} };
|
|
@@ -47667,7 +48747,7 @@ class ConfigurationRegistry {
|
|
|
47667
48747
|
}
|
|
47668
48748
|
}
|
|
47669
48749
|
}
|
|
47670
|
-
validateAndRegisterProperties(configuration, validate = true, extensionInfo, restrictedProperties, scope =
|
|
48750
|
+
validateAndRegisterProperties(configuration, validate = true, extensionInfo, restrictedProperties, scope = 4 /* ConfigurationScope.WINDOW */, bucket) {
|
|
47671
48751
|
scope = _base_common_types_js__WEBPACK_IMPORTED_MODULE_2__.isUndefinedOrNull(configuration.scope) ? scope : configuration.scope;
|
|
47672
48752
|
const properties = configuration.properties;
|
|
47673
48753
|
if (properties) {
|
|
@@ -47763,16 +48843,19 @@ class ConfigurationRegistry {
|
|
|
47763
48843
|
case 2 /* ConfigurationScope.MACHINE */:
|
|
47764
48844
|
machineSettings.properties[key] = property;
|
|
47765
48845
|
break;
|
|
47766
|
-
case
|
|
48846
|
+
case 3 /* ConfigurationScope.APPLICATION_MACHINE */:
|
|
48847
|
+
applicationMachineSettings.properties[key] = property;
|
|
48848
|
+
break;
|
|
48849
|
+
case 7 /* ConfigurationScope.MACHINE_OVERRIDABLE */:
|
|
47767
48850
|
machineOverridableSettings.properties[key] = property;
|
|
47768
48851
|
break;
|
|
47769
|
-
case
|
|
48852
|
+
case 4 /* ConfigurationScope.WINDOW */:
|
|
47770
48853
|
windowSettings.properties[key] = property;
|
|
47771
48854
|
break;
|
|
47772
|
-
case
|
|
48855
|
+
case 5 /* ConfigurationScope.RESOURCE */:
|
|
47773
48856
|
resourceSettings.properties[key] = property;
|
|
47774
48857
|
break;
|
|
47775
|
-
case
|
|
48858
|
+
case 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */:
|
|
47776
48859
|
resourceSettings.properties[key] = property;
|
|
47777
48860
|
this.resourceLanguageSettingsSchema.properties[key] = property;
|
|
47778
48861
|
break;
|
|
@@ -47787,14 +48870,17 @@ class ConfigurationRegistry {
|
|
|
47787
48870
|
case 2 /* ConfigurationScope.MACHINE */:
|
|
47788
48871
|
delete machineSettings.properties[key];
|
|
47789
48872
|
break;
|
|
47790
|
-
case
|
|
48873
|
+
case 3 /* ConfigurationScope.APPLICATION_MACHINE */:
|
|
48874
|
+
delete applicationMachineSettings.properties[key];
|
|
48875
|
+
break;
|
|
48876
|
+
case 7 /* ConfigurationScope.MACHINE_OVERRIDABLE */:
|
|
47791
48877
|
delete machineOverridableSettings.properties[key];
|
|
47792
48878
|
break;
|
|
47793
|
-
case
|
|
48879
|
+
case 4 /* ConfigurationScope.WINDOW */:
|
|
47794
48880
|
delete windowSettings.properties[key];
|
|
47795
48881
|
break;
|
|
47796
|
-
case
|
|
47797
|
-
case
|
|
48882
|
+
case 5 /* ConfigurationScope.RESOURCE */:
|
|
48883
|
+
case 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */:
|
|
47798
48884
|
delete resourceSettings.properties[key];
|
|
47799
48885
|
delete this.resourceLanguageSettingsSchema.properties[key];
|
|
47800
48886
|
break;
|
|
@@ -47812,6 +48898,7 @@ class ConfigurationRegistry {
|
|
|
47812
48898
|
this.updatePropertyDefaultValue(overrideIdentifierProperty, resourceLanguagePropertiesSchema);
|
|
47813
48899
|
allSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;
|
|
47814
48900
|
applicationSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;
|
|
48901
|
+
applicationMachineSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;
|
|
47815
48902
|
machineSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;
|
|
47816
48903
|
machineOverridableSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;
|
|
47817
48904
|
windowSettings.properties[overrideIdentifierProperty] = resourceLanguagePropertiesSchema;
|
|
@@ -47827,6 +48914,7 @@ class ConfigurationRegistry {
|
|
|
47827
48914
|
};
|
|
47828
48915
|
allSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;
|
|
47829
48916
|
applicationSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;
|
|
48917
|
+
applicationMachineSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;
|
|
47830
48918
|
machineSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;
|
|
47831
48919
|
machineOverridableSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;
|
|
47832
48920
|
windowSettings.patternProperties[OVERRIDE_PROPERTY_PATTERN] = resourceLanguagePropertiesSchema;
|
|
@@ -50525,6 +51613,12 @@ class AbstractLogger extends _base_common_lifecycle_js__WEBPACK_IMPORTED_MODULE_
|
|
|
50525
51613
|
checkLogLevel(level) {
|
|
50526
51614
|
return this.level !== LogLevel.Off && this.level <= level;
|
|
50527
51615
|
}
|
|
51616
|
+
canLog(level) {
|
|
51617
|
+
if (this._store.isDisposed) {
|
|
51618
|
+
return false;
|
|
51619
|
+
}
|
|
51620
|
+
return this.checkLogLevel(level);
|
|
51621
|
+
}
|
|
50528
51622
|
}
|
|
50529
51623
|
class ConsoleLogger extends AbstractLogger {
|
|
50530
51624
|
constructor(logLevel = DEFAULT_LOG_LEVEL, useColors = true) {
|
|
@@ -50533,7 +51627,7 @@ class ConsoleLogger extends AbstractLogger {
|
|
|
50533
51627
|
this.setLevel(logLevel);
|
|
50534
51628
|
}
|
|
50535
51629
|
trace(message, ...args) {
|
|
50536
|
-
if (this.
|
|
51630
|
+
if (this.canLog(LogLevel.Trace)) {
|
|
50537
51631
|
if (this.useColors) {
|
|
50538
51632
|
console.log('%cTRACE', 'color: #888', message, ...args);
|
|
50539
51633
|
}
|
|
@@ -50543,7 +51637,7 @@ class ConsoleLogger extends AbstractLogger {
|
|
|
50543
51637
|
}
|
|
50544
51638
|
}
|
|
50545
51639
|
debug(message, ...args) {
|
|
50546
|
-
if (this.
|
|
51640
|
+
if (this.canLog(LogLevel.Debug)) {
|
|
50547
51641
|
if (this.useColors) {
|
|
50548
51642
|
console.log('%cDEBUG', 'background: #eee; color: #888', message, ...args);
|
|
50549
51643
|
}
|
|
@@ -50553,7 +51647,7 @@ class ConsoleLogger extends AbstractLogger {
|
|
|
50553
51647
|
}
|
|
50554
51648
|
}
|
|
50555
51649
|
info(message, ...args) {
|
|
50556
|
-
if (this.
|
|
51650
|
+
if (this.canLog(LogLevel.Info)) {
|
|
50557
51651
|
if (this.useColors) {
|
|
50558
51652
|
console.log('%c INFO', 'color: #33f', message, ...args);
|
|
50559
51653
|
}
|
|
@@ -50563,9 +51657,9 @@ class ConsoleLogger extends AbstractLogger {
|
|
|
50563
51657
|
}
|
|
50564
51658
|
}
|
|
50565
51659
|
warn(message, ...args) {
|
|
50566
|
-
if (this.
|
|
51660
|
+
if (this.canLog(LogLevel.Warning)) {
|
|
50567
51661
|
if (this.useColors) {
|
|
50568
|
-
console.
|
|
51662
|
+
console.warn('%c WARN', 'color: #993', message, ...args);
|
|
50569
51663
|
}
|
|
50570
51664
|
else {
|
|
50571
51665
|
console.log(message, ...args);
|
|
@@ -50573,9 +51667,9 @@ class ConsoleLogger extends AbstractLogger {
|
|
|
50573
51667
|
}
|
|
50574
51668
|
}
|
|
50575
51669
|
error(message, ...args) {
|
|
50576
|
-
if (this.
|
|
51670
|
+
if (this.canLog(LogLevel.Error)) {
|
|
50577
51671
|
if (this.useColors) {
|
|
50578
|
-
console.
|
|
51672
|
+
console.error('%c ERR', 'color: #f33', message, ...args);
|
|
50579
51673
|
}
|
|
50580
51674
|
else {
|
|
50581
51675
|
console.error(message, ...args);
|
|
@@ -50850,6 +51944,10 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
50850
51944
|
/* harmony export */ Extensions: () => (/* reexport safe */ _colorUtils_js__WEBPACK_IMPORTED_MODULE_0__.Extensions),
|
|
50851
51945
|
/* harmony export */ _deprecatedQuickInputListFocusBackground: () => (/* reexport safe */ _colors_quickpickColors_js__WEBPACK_IMPORTED_MODULE_9__._deprecatedQuickInputListFocusBackground),
|
|
50852
51946
|
/* harmony export */ activeContrastBorder: () => (/* reexport safe */ _colors_baseColors_js__WEBPACK_IMPORTED_MODULE_1__.activeContrastBorder),
|
|
51947
|
+
/* harmony export */ activityErrorBadgeBackground: () => (/* reexport safe */ _colors_miscColors_js__WEBPACK_IMPORTED_MODULE_8__.activityErrorBadgeBackground),
|
|
51948
|
+
/* harmony export */ activityErrorBadgeForeground: () => (/* reexport safe */ _colors_miscColors_js__WEBPACK_IMPORTED_MODULE_8__.activityErrorBadgeForeground),
|
|
51949
|
+
/* harmony export */ activityWarningBadgeBackground: () => (/* reexport safe */ _colors_miscColors_js__WEBPACK_IMPORTED_MODULE_8__.activityWarningBadgeBackground),
|
|
51950
|
+
/* harmony export */ activityWarningBadgeForeground: () => (/* reexport safe */ _colors_miscColors_js__WEBPACK_IMPORTED_MODULE_8__.activityWarningBadgeForeground),
|
|
50853
51951
|
/* harmony export */ asCssVariable: () => (/* reexport safe */ _colorUtils_js__WEBPACK_IMPORTED_MODULE_0__.asCssVariable),
|
|
50854
51952
|
/* harmony export */ asCssVariableName: () => (/* reexport safe */ _colorUtils_js__WEBPACK_IMPORTED_MODULE_0__.asCssVariableName),
|
|
50855
51953
|
/* harmony export */ asCssVariableWithDefault: () => (/* reexport safe */ _colorUtils_js__WEBPACK_IMPORTED_MODULE_0__.asCssVariableWithDefault),
|
|
@@ -50868,6 +51966,9 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
50868
51966
|
/* harmony export */ buttonSecondaryForeground: () => (/* reexport safe */ _colors_inputColors_js__WEBPACK_IMPORTED_MODULE_4__.buttonSecondaryForeground),
|
|
50869
51967
|
/* harmony export */ buttonSecondaryHoverBackground: () => (/* reexport safe */ _colors_inputColors_js__WEBPACK_IMPORTED_MODULE_4__.buttonSecondaryHoverBackground),
|
|
50870
51968
|
/* harmony export */ buttonSeparator: () => (/* reexport safe */ _colors_inputColors_js__WEBPACK_IMPORTED_MODULE_4__.buttonSeparator),
|
|
51969
|
+
/* harmony export */ chartAxis: () => (/* reexport safe */ _colors_miscColors_js__WEBPACK_IMPORTED_MODULE_8__.chartAxis),
|
|
51970
|
+
/* harmony export */ chartGuide: () => (/* reexport safe */ _colors_miscColors_js__WEBPACK_IMPORTED_MODULE_8__.chartGuide),
|
|
51971
|
+
/* harmony export */ chartLine: () => (/* reexport safe */ _colors_miscColors_js__WEBPACK_IMPORTED_MODULE_8__.chartLine),
|
|
50871
51972
|
/* harmony export */ chartsBlue: () => (/* reexport safe */ _colors_chartsColors_js__WEBPACK_IMPORTED_MODULE_2__.chartsBlue),
|
|
50872
51973
|
/* harmony export */ chartsForeground: () => (/* reexport safe */ _colors_chartsColors_js__WEBPACK_IMPORTED_MODULE_2__.chartsForeground),
|
|
50873
51974
|
/* harmony export */ chartsGreen: () => (/* reexport safe */ _colors_chartsColors_js__WEBPACK_IMPORTED_MODULE_2__.chartsGreen),
|
|
@@ -52078,8 +53179,15 @@ const minimapSliderActiveBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE
|
|
|
52078
53179
|
"use strict";
|
|
52079
53180
|
__webpack_require__.r(__webpack_exports__);
|
|
52080
53181
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
53182
|
+
/* harmony export */ activityErrorBadgeBackground: () => (/* binding */ activityErrorBadgeBackground),
|
|
53183
|
+
/* harmony export */ activityErrorBadgeForeground: () => (/* binding */ activityErrorBadgeForeground),
|
|
53184
|
+
/* harmony export */ activityWarningBadgeBackground: () => (/* binding */ activityWarningBadgeBackground),
|
|
53185
|
+
/* harmony export */ activityWarningBadgeForeground: () => (/* binding */ activityWarningBadgeForeground),
|
|
52081
53186
|
/* harmony export */ badgeBackground: () => (/* binding */ badgeBackground),
|
|
52082
53187
|
/* harmony export */ badgeForeground: () => (/* binding */ badgeForeground),
|
|
53188
|
+
/* harmony export */ chartAxis: () => (/* binding */ chartAxis),
|
|
53189
|
+
/* harmony export */ chartGuide: () => (/* binding */ chartGuide),
|
|
53190
|
+
/* harmony export */ chartLine: () => (/* binding */ chartLine),
|
|
52083
53191
|
/* harmony export */ progressBarBackground: () => (/* binding */ progressBarBackground),
|
|
52084
53192
|
/* harmony export */ sashHoverBorder: () => (/* binding */ sashHoverBorder),
|
|
52085
53193
|
/* harmony export */ scrollbarShadow: () => (/* binding */ scrollbarShadow),
|
|
@@ -52106,13 +53214,21 @@ const sashHoverBorder = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerC
|
|
|
52106
53214
|
// ----- badge
|
|
52107
53215
|
const badgeBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('badge.background', { dark: '#4D4D4D', light: '#C4C4C4', hcDark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.black, hcLight: '#0F4A85' }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",1, "Badge background color. Badges are small information labels, e.g. for search results count."));
|
|
52108
53216
|
const badgeForeground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('badge.foreground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.white, light: '#333', hcDark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.white, hcLight: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.white }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",2, "Badge foreground color. Badges are small information labels, e.g. for search results count."));
|
|
53217
|
+
const activityWarningBadgeForeground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('activityWarningBadge.foreground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.black.lighten(0.2), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.white, hcDark: null, hcLight: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.black.lighten(0.2) }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",3, 'Foreground color of the warning activity badge'));
|
|
53218
|
+
const activityWarningBadgeBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('activityWarningBadge.background', { dark: '#CCA700', light: '#BF8803', hcDark: null, hcLight: '#CCA700' }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",4, 'Background color of the warning activity badge'));
|
|
53219
|
+
const activityErrorBadgeForeground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('activityErrorBadge.foreground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.black.lighten(0.2), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.white, hcDark: null, hcLight: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.black.lighten(0.2) }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",5, 'Foreground color of the error activity badge'));
|
|
53220
|
+
const activityErrorBadgeBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('activityErrorBadge.background', { dark: '#F14C4C', light: '#E51400', hcDark: null, hcLight: '#F14C4C' }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",6, 'Background color of the error activity badge'));
|
|
52109
53221
|
// ----- scrollbar
|
|
52110
|
-
const scrollbarShadow = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbar.shadow', { dark: '#000000', light: '#DDDDDD', hcDark: null, hcLight: null }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",
|
|
52111
|
-
const scrollbarSliderBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbarSlider.background', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#797979').transparent(0.4), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#646464').transparent(0.4), hcDark: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.6), hcLight: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.4) }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",
|
|
52112
|
-
const scrollbarSliderHoverBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbarSlider.hoverBackground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#646464').transparent(0.7), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#646464').transparent(0.7), hcDark: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.8), hcLight: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.8) }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",
|
|
52113
|
-
const scrollbarSliderActiveBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbarSlider.activeBackground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#BFBFBF').transparent(0.4), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#000000').transparent(0.6), hcDark: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, hcLight: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",
|
|
53222
|
+
const scrollbarShadow = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbar.shadow', { dark: '#000000', light: '#DDDDDD', hcDark: null, hcLight: null }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",7, "Scrollbar shadow to indicate that the view is scrolled."));
|
|
53223
|
+
const scrollbarSliderBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbarSlider.background', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#797979').transparent(0.4), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#646464').transparent(0.4), hcDark: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.6), hcLight: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.4) }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",8, "Scrollbar slider background color."));
|
|
53224
|
+
const scrollbarSliderHoverBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbarSlider.hoverBackground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#646464').transparent(0.7), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#646464').transparent(0.7), hcDark: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.8), hcLight: (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.transparent)(_baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, 0.8) }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",9, "Scrollbar slider background color when hovering."));
|
|
53225
|
+
const scrollbarSliderActiveBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('scrollbarSlider.activeBackground', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#BFBFBF').transparent(0.4), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#000000').transparent(0.6), hcDark: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, hcLight: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",10, "Scrollbar slider background color when clicked on."));
|
|
52114
53226
|
// ----- progress bar
|
|
52115
|
-
const progressBarBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('progressBar.background', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#0E70C0'), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#0E70C0'), hcDark: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, hcLight: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",
|
|
53227
|
+
const progressBarBackground = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('progressBar.background', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#0E70C0'), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#0E70C0'), hcDark: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, hcLight: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",11, "Background color of the progress bar that can show for long running operations."));
|
|
53228
|
+
// ----- chart
|
|
53229
|
+
const chartLine = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('chart.line', { dark: '#236B8E', light: '#236B8E', hcDark: '#236B8E', hcLight: '#236B8E' }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",12, "Line color for the chart."));
|
|
53230
|
+
const chartAxis = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('chart.axis', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#BFBFBF').transparent(0.4), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#000000').transparent(0.6), hcDark: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, hcLight: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",13, "Axis color for the chart."));
|
|
53231
|
+
const chartGuide = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_2__.registerColor)('chart.guide', { dark: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#BFBFBF').transparent(0.2), light: _base_common_color_js__WEBPACK_IMPORTED_MODULE_1__.Color.fromHex('#000000').transparent(0.2), hcDark: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder, hcLight: _baseColors_js__WEBPACK_IMPORTED_MODULE_3__.contrastBorder }, _nls_js__WEBPACK_IMPORTED_MODULE_0__.localize("vs/platform/theme/common/colors/miscColors",14, "Guide line for the chart."));
|
|
52116
53232
|
//# sourceMappingURL=miscColors.js.map
|
|
52117
53233
|
|
|
52118
53234
|
/***/ }),
|
|
@@ -52210,6 +53326,7 @@ const searchEditorFindMatchBorder = (0,_colorUtils_js__WEBPACK_IMPORTED_MODULE_1
|
|
|
52210
53326
|
__webpack_require__.r(__webpack_exports__);
|
|
52211
53327
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
52212
53328
|
/* harmony export */ ColorScheme: () => (/* binding */ ColorScheme),
|
|
53329
|
+
/* harmony export */ ThemeTypeSelector: () => (/* binding */ ThemeTypeSelector),
|
|
52213
53330
|
/* harmony export */ isDark: () => (/* binding */ isDark),
|
|
52214
53331
|
/* harmony export */ isHighContrast: () => (/* binding */ isHighContrast)
|
|
52215
53332
|
/* harmony export */ });
|
|
@@ -52227,6 +53344,13 @@ var ColorScheme;
|
|
|
52227
53344
|
ColorScheme["HIGH_CONTRAST_DARK"] = "hcDark";
|
|
52228
53345
|
ColorScheme["HIGH_CONTRAST_LIGHT"] = "hcLight";
|
|
52229
53346
|
})(ColorScheme || (ColorScheme = {}));
|
|
53347
|
+
var ThemeTypeSelector;
|
|
53348
|
+
(function (ThemeTypeSelector) {
|
|
53349
|
+
ThemeTypeSelector["VS"] = "vs";
|
|
53350
|
+
ThemeTypeSelector["VS_DARK"] = "vs-dark";
|
|
53351
|
+
ThemeTypeSelector["HC_BLACK"] = "hc-black";
|
|
53352
|
+
ThemeTypeSelector["HC_LIGHT"] = "hc-light";
|
|
53353
|
+
})(ThemeTypeSelector || (ThemeTypeSelector = {}));
|
|
52230
53354
|
function isHighContrast(scheme) {
|
|
52231
53355
|
return scheme === ColorScheme.HIGH_CONTRAST_DARK || scheme === ColorScheme.HIGH_CONTRAST_LIGHT;
|
|
52232
53356
|
}
|
|
@@ -52269,10 +53393,10 @@ function themeColorFromId(id) {
|
|
|
52269
53393
|
}
|
|
52270
53394
|
function getThemeTypeSelector(type) {
|
|
52271
53395
|
switch (type) {
|
|
52272
|
-
case _theme_js__WEBPACK_IMPORTED_MODULE_4__.ColorScheme.DARK: return
|
|
52273
|
-
case _theme_js__WEBPACK_IMPORTED_MODULE_4__.ColorScheme.HIGH_CONTRAST_DARK: return
|
|
52274
|
-
case _theme_js__WEBPACK_IMPORTED_MODULE_4__.ColorScheme.HIGH_CONTRAST_LIGHT: return
|
|
52275
|
-
default: return
|
|
53396
|
+
case _theme_js__WEBPACK_IMPORTED_MODULE_4__.ColorScheme.DARK: return _theme_js__WEBPACK_IMPORTED_MODULE_4__.ThemeTypeSelector.VS_DARK;
|
|
53397
|
+
case _theme_js__WEBPACK_IMPORTED_MODULE_4__.ColorScheme.HIGH_CONTRAST_DARK: return _theme_js__WEBPACK_IMPORTED_MODULE_4__.ThemeTypeSelector.HC_BLACK;
|
|
53398
|
+
case _theme_js__WEBPACK_IMPORTED_MODULE_4__.ColorScheme.HIGH_CONTRAST_LIGHT: return _theme_js__WEBPACK_IMPORTED_MODULE_4__.ThemeTypeSelector.HC_LIGHT;
|
|
53399
|
+
default: return _theme_js__WEBPACK_IMPORTED_MODULE_4__.ThemeTypeSelector.VS;
|
|
52276
53400
|
}
|
|
52277
53401
|
}
|
|
52278
53402
|
// static theming participant
|
|
@@ -52407,7 +53531,7 @@ class UndoRedoSource {
|
|
|
52407
53531
|
/***/ ((module) => {
|
|
52408
53532
|
|
|
52409
53533
|
"use strict";
|
|
52410
|
-
module.exports = /*#__PURE__*/JSON.parse('{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["输入"],"vs/base/browser/ui/findinput/findInputToggles":["区分大小写","全字匹配","使用正则表达式"],"vs/base/browser/ui/findinput/replaceInput":["输入","保留大小写"],"vs/base/browser/ui/hover/hoverWidget":["在辅助视图中用 {0} 检查此项。","通过命令“打开辅助视图”在辅助视图中检查此项,该命令当前无法通过键绑定触发。"],"vs/base/browser/ui/inputbox/inputBox":["错误: {0}","警告: {0}","信息: {0}"," 或使用 {0} 以查看历史记录"," (使用 {0} 查看历史记录)","清除的输入"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["未绑定"],"vs/base/browser/ui/selectBox/selectBoxCustom":["选择框"],"vs/base/browser/ui/toolbar/toolbar":["更多操作..."],"vs/base/browser/ui/tree/abstractTree":["要搜索的类型","关闭","要搜索的类型","未找到任何结果。","无结果","{0} 个结果","要筛选的类型","要搜索的类型","筛选器","模糊匹配"],"vs/base/common/actions":["(空)"],"vs/base/common/errorMessage":["{0}: {1}","发生了系统错误 ({0})","出现未知错误。有关详细信息,请参阅日志。","出现未知错误。有关详细信息,请参阅日志。","{0} 个(共 {1} 个错误)","出现未知错误。有关详细信息,请参阅日志。"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","超键","Control","Shift","选项","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","超键"],"vs/editor/browser/controller/editContext/native/screenReaderSupport":["编辑器"],"vs/editor/browser/controller/editContext/screenReaderUtils":["现在无法访问编辑器。","{0} 若要启用屏幕阅读器优化模式,请使用 {1}","{0} 若要启用屏幕阅读器优化模式,请使用 {1} 打开快速选取,然后运行“切换屏幕阅读器辅助功能模式”命令;当前无法通过键盘触发此命令。","{0} 请通过使用 {1} 访问键绑定编辑器并运行它,为“切换屏幕阅读器辅助功能模式”命令分配键绑定。"],"vs/editor/browser/controller/editContext/textArea/textAreaEditContext":["编辑器"],"vs/editor/browser/coreCommands":["即使转到较长的行,也一直到末尾","即使转到较长的行,也一直到末尾","已删除辅助游标"],"vs/editor/browser/editorExtensions":["撤消(&&U)","撤消","恢复(&&R)","恢复","全选(&&S)","选择全部"],"vs/editor/browser/gpu/viewGpuContext":["使用基于 DOM 的呈现"],"vs/editor/browser/services/hoverService/hoverWidget":["按住 {0} 键将鼠标悬停"],"vs/editor/browser/services/hoverService/updatableHoverWidget":["正在加载…"],"vs/editor/browser/widget/codeEditor/codeEditorWidget":["已将光标数限制为 {0}。请考虑使用 [查找和替换](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace)进行较大的更改或增加编辑器多光标限制设置。","增加多光标限制"],"vs/editor/browser/widget/diffEditor/commands":["切换折叠未更改的区域","切换显示移动的代码块","在空间受限时切换使用内联视图","差异编辑器","切换侧面","退出比较移动","折叠所有未更改的区域","显示所有未更改的区域","还原","可访问的差异查看器","转至下一个差异","转至上一个差异"],"vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer":["可访问差异查看器中“插入”的图标。","可访问差异查看器中“删除”的图标。","可访问差异查看器中“关闭”的图标。","关闭","可访问的差异查看器。使用向上和向下箭头导航。","未更改行","更改了 1 行","更改了 {0} 行","差异 {0}/ {1}: 原始行 {2},{3},修改后的行 {4},{5}","空白","{0} 未更改的行 {1}","{0}原始行{1}修改的行{2}","+ {0}修改的行{1}","- {0}原始行{1}"],"vs/editor/browser/widget/diffEditor/components/diffEditorEditors":[" 使用 {0} 打开辅助功能帮助。"],"vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin":["复制已删除的行","复制已删除的行","复制更改的行","复制更改的行","复制已删除的行({0})","复制更改的行({0})","还原此更改"],"vs/editor/browser/widget/diffEditor/diffEditor.contribution":["空间受限时使用内联视图","显示移动的代码块","还原块","还原所选内容","打开可访问差异查看器"],"vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature":["折叠未更改的区域","{0} 个隐藏的行","单击或拖动可在上面显示更多内容","显示未更改的区域","单击或拖动可在下方显示更多内容","{0} 个隐藏的行","双击展开"],"vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature":["代码已移动至行 {0}-{1},有更改","代码已从行 {0}-{1} 移动,有更改","代码已移动到行 {0} {1}","代码已从行 {0}-{1} 移动"],"vs/editor/browser/widget/diffEditor/features/revertButtonsFeature":["还原所选更改","还原更改"],"vs/editor/browser/widget/diffEditor/registrations.contribution":["在差异编辑器中移动的文本的边框颜色。","在差异编辑器中移动的文本的活动边框颜色。","未更改区域小组件周围的阴影颜色。","差异编辑器中插入项的线条修饰。","差异编辑器中删除项的线条修饰。"],"vs/editor/browser/widget/multiDiffEditor/colors":["差异编辑器标题的背景色","多文件差异编辑器的背景色","多文件差异编辑器的边框颜色"],"vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl":["正在加载...","没有已更改的文件"],"vs/editor/common/config/editorConfigurationSchema":["编辑器","一个制表符等于的空格数。当 {0} 打开时,将根据文件内容替代此设置。","用于缩进或 `\\"tabSize\\"` 的空格数,可使用 `#editor.tabSize#` 中的值。当 `#editor.detectIndentation#` 处于打开状态时,将根据文件内容替代此设置。","按 `Tab` 时插入空格。当 {0} 打开时,将根据文件内容替代此设置。","控制在基于文件内容打开文件时是否自动检测 {0} 和 {1}。","删除自动插入的尾随空白符号。","对大型文件进行特殊处理,禁用某些内存密集型功能。","关闭基于字词的建议。","仅建议活动文档中的字词。","建议使用同一语言的所有打开的文档中的字词。","建议所有打开的文档中的字词。","控制是否应根据文档中的字词计算补全,以及从哪些文档中计算补全。","对所有颜色主题启用语义突出显示。","对所有颜色主题禁用语义突出显示。","语义突出显示是由当前颜色主题的 \\"semanticHighlighting\\" 设置配置的。","控制是否为支持它的语言显示语义突出显示。","保持速览编辑器处于打开状态,即使双击其中的内容或者点击 `Escape` 键也是如此。","由于性能原因,超过这个长度的行将不会被标记","控制是否应在 Web 辅助进程上异步进行标记化。","控制是否应记录异步词汇切分。仅用于调试。","控制是否应对旧版后台令牌化验证异步令牌化。可能会减慢令牌化速度。仅用于调试。","控制是否应启用树坐标分析和收集遥测数据。将“editor.experimental.preferTreeSitter”设置为特定语言将优先。","控制是否应为特定语言启用树坐标分析。对于指定的语言,此操作将优先于 `editor.experimental.treeSitterTelemetry`。","定义增加和减少缩进的括号。","左方括号字符或字符串序列。","右方括号字符或字符串序列。","如果启用方括号对着色,则按照其嵌套级别定义已着色的方括号对。","左方括号字符或字符串序列。","右方括号字符或字符串序列。","超时(以毫秒为单位),之后将取消差异计算。使用0表示没有超时。","要为其计算差异的最大文件大小(MB)。使用 0 表示无限制。","控制差异编辑器的显示方式是并排还是内联。","如果差异编辑器宽度小于此值,则使用内联视图。","如果启用并且编辑器宽度太小,则使用内联视图。","启用后,差异编辑器会在其字形边距中显示箭头以还原更改。","启用后,差异编辑器将显示用于还原和阶段操作的特殊装订线。","启用后,差异编辑器将忽略前导空格或尾随空格中的更改。","控制差异编辑器是否为添加/删除的更改显示 +/- 指示符号。","控制是否在编辑器中显示 CodeLens。","永不换行。","将在视区宽度处换行。","行将根据 {0} 设置进行换行。","使用旧差异算法。","使用高级差异算法。","控制差异编辑器是否显示未更改的区域。","控制用于未更改区域的行数。","控制将多少行用作未更改区域的最小值。","控制在比较未改变的区域时使用多少行作为上下文。","控制差异编辑器是否应显示检测到的代码移动。","控制差异编辑器是否显示空修饰,以查看插入或删除字符的位置。","如果已启用并且编辑器使用内联视图,则将以内联方式呈现字词更改。"],"vs/editor/common/config/editorOptions":["连接屏幕阅读器后使用平台 API 进行检测。","针对屏幕阅读器的使用进行优化。","假定未连接屏幕阅读器。","控制 UI 是否应在已针对屏幕阅读器进行优化的模式下运行。","控制在注释时是否插入空格字符。","控制在对行注释执行切换、添加或删除操作时,是否应忽略空行。","控制在没有选择内容时进行复制是否复制当前行。","控制在键入时光标是否应跳转以查找匹配项。","切勿为编辑器选择中的搜索字符串设定种子。","始终为编辑器选择中的搜索字符串设定种子,包括光标位置的字词。","仅为编辑器选择中的搜索字符串设定种子。","控制是否将编辑器选中内容作为搜索词填入到查找小组件中。","从不自动打开“在选定内容中查找”(默认)。","始终自动打开“在选定内容中查找”。","选择多行内容时,自动打开“在选定内容中查找”。","控制自动打开“在选定内容中查找”的条件。","控制“查找”小组件是否读取或修改 macOS 的共享查找剪贴板。","控制 \\"查找小部件\\" 是否应在编辑器顶部添加额外的行。如果为 true, 则可以在 \\"查找小工具\\" 可见时滚动到第一行之外。","控制在找不到其他匹配项时,是否自动从开头(或结尾)重新开始搜索。","启用/禁用字体连字(\\"calt\\" 和 \\"liga\\" 字体特性)。将此更改为字符串,可对 \\"font-feature-settings\\" CSS 属性进行精细控制。","显式 \\"font-feature-settings\\" CSS 属性。如果只需打开/关闭连字,可以改为传递布尔值。","配置字体连字或字体特性。可以是用于启用/禁用连字的布尔值,或用于设置 CSS \\"font-feature-settings\\" 属性值的字符串。","启用/禁用从 font-weight 到 font-variation-settings 的转换。将此项更改为字符串,以便对“font-variation-settings”CSS 属性进行细化控制。","显式“font-variation-settings”CSS 属性。如果只需将 font-weight 转换为 font-variation-settings,则可以改为传递布尔值。","配置字体变体。可以是用于启用/禁用从 font-weight 到 font-variation-settings 的转换的布尔值,也可以是 CSS“font-variation-settings”属性值的字符串。","控制字体大小(像素)。","仅允许使用关键字“正常”和“加粗”,或使用介于 1 至 1000 之间的数字。","控制字体粗细。接受关键字“正常”和“加粗”,或者接受介于 1 至 1000 之间的数字。","显示结果的速览视图(默认)","转到主结果并显示速览视图","转到主结果,并对其他结果启用无速览导航","此设置已弃用,请改用单独的设置,如\\"editor.editor.gotoLocation.multipleDefinitions\\"或\\"editor.editor.gotoLocation.multipleImplementations\\"。","控制存在多个目标位置时\\"转到定义\\"命令的行为。","控制存在多个目标位置时\\"转到类型定义\\"命令的行为。","控制存在多个目标位置时\\"转到声明\\"命令的行为。","控制存在多个目标位置时\\"转到实现\\"命令的行为。","控制存在多个目标位置时\\"转到引用\\"命令的行为。","当\\"转到定义\\"的结果为当前位置时将要执行的替代命令的 ID。","当\\"转到类型定义\\"的结果是当前位置时正在执行的备用命令 ID。","当\\"转到声明\\"的结果为当前位置时将要执行的替代命令的 ID。","当\\"转到实现\\"的结果为当前位置时将要执行的替代命令的 ID。","当\\"转到引用\\"的结果是当前位置时正在执行的替代命令 ID。","控制是否显示悬停提示。","控制显示悬停提示前的等待时间 (毫秒)。","控制当鼠标移动到悬停提示上时,其是否保持可见。","控制隐藏悬停提示前的等待时间(毫秒)。需要启用“editor.hover.sticky”。","如果有空间,首选在线条上方显示悬停。","假定所有字符的宽度相同。这是一种快速算法,适用于等宽字体和某些字形宽度相等的文字(如拉丁字符)。","将包装点计算委托给浏览器。这是一个缓慢算法,可能会导致大型文件被冻结,但它在所有情况下都正常工作。","控制计算包装点的算法。请注意,在辅助功能模式下,高级版将用于提供最佳体验。","禁用代码操作菜单。","当光标与代码一起排列时,显示代码操作菜单。","当光标与代码一起排列或在空的行时,显示代码操作菜单。","在编辑器中启用代码操作小灯泡提示。","在编辑器顶部的滚动过程中显示嵌套的当前作用域。","定义要显示的最大粘滞行数。","定义用于确定要粘贴的行的模型。如果大纲模型不存在,它将回退到回退到缩进模型的折叠提供程序模型上。在所有三种情况下都遵循此顺序。","使用编辑器的水平滚动条启用粘滞滚动。","在编辑器中启用内联提示。","已启用内嵌提示","默认情况下显示内嵌提示,并在按住 {0} 时隐藏","默认情况下隐藏内嵌提示,并在按住 {0} 时显示","已禁用内嵌提示","控制编辑器中嵌入提示的字号。默认情况下,当配置的值小于 {1} 或大于编辑器字号时,将使用 {0}。","控制编辑器中嵌入提示的字体系列。设置为空时,将使用 {0}。","在编辑器中启用叠加提示周围的填充。","单行内嵌提示在被编辑器截断前的最大总长度。设置为“0”以永不截断","控制行高。\\r\\n - 使用 0 根据字号自动计算行高。\\r\\n - 介于 0 和 8 之间的值将用作字号的乘数。\\r\\n - 大于或等于 8 的值将用作有效值。","控制是否显示缩略图。","控制是否自动隐藏缩略图。","迷你地图的大小与编辑器内容相同(并且可能滚动)。","迷你地图将根据需要拉伸或缩小以填充编辑器的高度(不滚动)。","迷你地图将根据需要缩小,永远不会大于编辑器(不滚动)。","控制迷你地图的大小。","控制在哪一侧显示缩略图。","控制何时显示迷你地图滑块。","在迷你地图中绘制的内容比例: 1、2 或 3。","渲染每行的实际字符,而不是色块。","限制缩略图的宽度,控制其最多显示的列数。","控制命名区域是否在缩略图中显示为节标题。","控制 MARK: 命令是否在缩略图中显示为节标题。","控制缩略图中节标题的字号。","控制节标头字符之间的空间量(以像素为单位)。这有助于提高小字体大小的标题的可读性。","控制编辑器的顶边和第一行之间的间距量。","控制编辑器的底边和最后一行之间的间距量。","在输入时显示含有参数文档和类型信息的小面板。","控制参数提示菜单在到达列表末尾时进行循环还是关闭。","快速建议显示在建议小组件内","快速建议显示为虚影文本","已禁用快速建议","在字符串内启用快速建议。","在注释内启用快速建议。","在字符串和注释外启用快速建议。","控制是否应在键入时自动显示建议。这可以用于在注释、字符串和其他代码中键入时进行控制。可配置快速建议以显示为虚影文本或使用建议小组件显示。另请注意控制建议是否由特殊字符触发的 {0} 设置。","不显示行号。","将行号显示为绝对行数。","将行号显示为与光标相隔的行数。","每 10 行显示一次行号。","控制行号的显示。","此编辑器标尺将渲染的等宽字符数。","此编辑器标尺的颜色。","在一定数量的等宽字符后显示垂直标尺。输入多个值,显示多个标尺。若数组为空,则不绘制标尺。","垂直滚动条仅在必要时可见。","垂直滚动条将始终可见。","垂直滚动条将始终隐藏。","控制垂直滚动条的可见性。","水平滚动条仅在必要时可见。","水平滚动条将始终可见。","水平滚动条将始终隐藏。","控制水平滚动条的可见性。","垂直滚动条的宽度。","水平滚动条的高度。","控制单击按页滚动还是跳转到单击位置。","设置后,水平滚动条将不会增加编辑器内容的大小。","控制是否突出显示所有非基本 ASCII 字符。只有介于 U+0020 到 U+007E 之间的字符、制表符、换行符和回车符才被视为基本 ASCII。","控制是否突出显示仅保留空格或完全没有宽度的字符。","控制是否突出显示可能与基本 ASCII 字符混淆的字符,但当前用户区域设置中常见的字符除外。","控制注释中的字符是否也应进行 Unicode 突出显示。","控制字符串中的字符是否也应进行 Unicode 突出显示。","定义未突出显示的允许字符。","未突出显示在允许区域设置中常见的 Unicode 字符。","控制是否在编辑器中自动显示内联建议。","每当显示内联建议时,显示内联建议工具栏。","将鼠标悬停在内联建议上时显示内联建议工具栏。","从不显示内联建议工具栏。","控制何时显示内联建议工具栏。","控制是否在编辑器中显示内联建议的语法突出显示。","控制内联建议如何与建议小组件交互。如果启用,当内联建议可用时,不会自动显示建议小组件。","控制内联建议的字体系列。","Controls whether to enable experimental edits in inline suggestions.","控制是否启用括号对着色。请使用 {0} 重写括号突出显示颜色。","控制每个方括号类型是否具有自己的独立颜色池。","启用括号对参考线。","仅为活动括号对启用括号对参考线。","禁用括号对参考线。","控制是否启用括号对指南。","启用水平参考线作为垂直括号对参考线的添加项。","仅为活动括号对启用水平参考线。","禁用水平括号对参考线。","控制是否启用水平括号对指南。","控制编辑器是否应突出显示活动的括号对。","控制编辑器是否显示缩进参考线。","突出显示活动缩进参考线。","突出显示活动缩进参考线,即使突出显示了括号参考线。","不要突出显示活动缩进参考线。","控制是否突出显示编辑器中活动的缩进参考线。","插入建议而不覆盖光标右侧的文本。","插入建议并覆盖光标右侧的文本。","控制接受补全时是否覆盖单词。请注意,这取决于扩展选择使用此功能。","控制对建议的筛选和排序是否考虑小的拼写错误。","控制排序时是否首选光标附近的字词。","控制是否在多个工作区和窗口间共享记忆的建议选项(需要 `#editor.suggestSelection#`)。","自动触发 IntelliSense 时始终选择建议。","自动触发 IntelliSense 时,切勿选择建议。","仅当从触发器字符触发 IntelliSense 时,才选择建议。","仅在键入时触发 IntelliSense 时才选择建议。","控制在显示小组件时是否选择建议。请注意,这仅适用于自动触发的建议({0} 和 {1}),并且在显式调用时(例如通过 `Ctrl+Space`)始终选择建议。","控制活动代码段是否阻止快速建议。","控制是否在建议中显示或隐藏图标。","控制建议小部件底部的状态栏的可见性。","控制是否在编辑器中预览建议结果。","控制建议详细信息是随标签内联显示还是仅显示在详细信息小组件中。","此设置已弃用。现在可以调整建议小组件的大小。","此设置已弃用,请改用单独的设置,如\\"editor.suggest.showKeywords\\"或\\"editor.suggest.showSnippets\\"。","启用后,IntelliSense 将显示“方法”建议。","启用后,IntelliSense 将显示“函数”建议。","启用后,IntelliSense 将显示“构造函数”建议。","启用后,IntelliSense 将显示`已弃用`建议。","启用后,IntelliSense 筛选要求第一个字符在单词开头匹配,例如 “Console” 或 “WebContext” 上的 “c”,但 “description” 上的 _not_。禁用后,IntelliSense 将显示更多结果,但仍按匹配质量对其进行排序。","启用后,IntelliSense 将显示“字段”建议。","启用后,IntelliSense 将显示“变量”建议。","启用后,IntelliSense 将显示“类”建议。","启用后,IntelliSense 将显示“结构”建议。","启用后,IntelliSense 将显示“接口”建议。","启用后,IntelliSense 将显示“模块”建议。","启用后,IntelliSense 将显示“属性”建议。","启用后,IntelliSense 将显示“事件”建议。","启用后,IntelliSense 将显示“操作符”建议。","启用后,IntelliSense 将显示“单位”建议。","启用后,IntelliSense 将显示“值”建议。","启用后,IntelliSense 将显示“常量”建议。","启用后,IntelliSense 将显示“枚举”建议。","启用后,IntelliSense 将显示 \\"enumMember\\" 建议。","启用后,IntelliSense 将显示“关键字”建议。","启用后,IntelliSense 将显示“文本”建议。","启用后,IntelliSense 将显示“颜色”建议。","启用后,IntelliSense 将显示“文件”建议。","启用后,IntelliSense 将显示“参考”建议。","启用后,IntelliSense 将显示“自定义颜色”建议。","启用后,IntelliSense 将显示“文件夹”建议。","启用后,IntelliSense 将显示 \\"typeParameter\\" 建议。","启用后,IntelliSense 将显示“片段”建议。","启用后,IntelliSense 将显示\\"用户\\"建议。","启用后,IntelliSense 将显示\\"问题\\"建议。","是否应始终选择前导和尾随空格。","是否应选择子字(如“fooBar”或“foo_bar”中的“foo”)。","执行与字词相关的导航或操作时用于分词的区域设置。指定要识别的字词的 BCP 47 语言标记(如 ja、zh-CN、zh-Hant-TW 等)。","执行与字词相关的导航或操作时用于分词的区域设置。指定要识别的字词的 BCP 47 语言标记(如 ja、zh-CN、zh-Hant-TW 等)。","没有缩进。折行从第 1 列开始。","折行的缩进量与其父级相同。","折行的缩进量比其父级多 1。","折行的缩进量比其父级多 2。","控制折行的缩进。","控制是否可以通过按住 Shift`键将文件拖放到编辑器中(而不是在编辑器中打开该文件)。","控制将文件放入编辑器时是否显示小组件。使用此小组件可以控制文件的删除方式。","将文件放入编辑器后显示放置选择器小组件。","切勿显示放置选择器小组件。而是始终使用默认删除提供程序。","控制是否可以以不同的方式粘贴内容。","控制将内容粘贴到编辑器时是否显示小组件。使用此小组件可以控制文件的粘贴方式。","将内容粘贴到编辑器后显示粘贴选择器小组件。","切勿显示粘贴选择器小组件。而是始终使用默认粘贴行为。","控制是否应在遇到提交字符时接受建议。例如,在 JavaScript 中,半角分号 (`;`) 可以为提交字符,能够在接受建议的同时键入该字符。","仅当建议包含文本改动时才可使用 `Enter` 键进行接受。","控制除了 `Tab` 键以外, `Enter` 键是否同样可以接受建议。这能减少“插入新行”和“接受建议”命令之间的歧义。","控制编辑器中可由屏幕阅读器一次读出的行数。我们检测到屏幕阅读器时,会自动将默认值设置为 500。警告: 如果行数大于默认值,可能会影响性能。","编辑器内容","控制内联建议是否由屏幕阅读器公布。","使用语言配置确定何时自动闭合括号。","仅当光标位于空白字符左侧时,才自动闭合括号。","控制编辑器是否在左括号后自动插入右括号。","使用语言配置确定何时自动关闭注释。","仅当光标位于空格左侧时自动关闭注释。","控制在用户添加打开注释后编辑器是否应自动关闭注释。","仅在自动插入时才删除相邻的右引号或右括号。","控制在删除时编辑器是否应删除相邻的右引号或右方括号。","仅在自动插入时才改写右引号或右括号。","控制编辑器是否应改写右引号或右括号。","使用语言配置确定何时自动闭合引号。","仅当光标位于空白字符左侧时,才自动闭合引号。","控制编辑器是否在左引号后自动插入右引号。","编辑器不会自动插入缩进。","编辑器将保留当前行的缩进。","编辑器将保留当前行的缩进并遵循语言定义的括号。","编辑器将保留当前行的缩进、使用语言定义的括号并调用语言定义的特定 onEnterRules。","编辑器将保留当前行的缩进,使用语言定义的括号,调用由语言定义的特殊输入规则,并遵循由语言定义的缩进规则。","控制编辑器是否应在用户键入、粘贴、移动或缩进行时自动调整缩进。","使用语言配置确定何时自动包住所选内容。","使用引号而非括号来包住所选内容。","使用括号而非引号来包住所选内容。","控制在键入引号或方括号时,编辑器是否应自动将所选内容括起来。","在使用空格进行缩进时模拟制表符的选择行为。所选内容将始终使用制表符停止位。","控制是否在编辑器中显示 CodeLens。","控制 CodeLens 的字体系列。","控制 CodeLens 的字号(以像素为单位)。设置为 0 时,将使用 90% 的 `#editor.fontSize#`。","控制编辑器是否显示内联颜色修饰器和颜色选取器。","在颜色修饰器单击和悬停时使颜色选取器同时显示","使颜色选取器在颜色修饰器悬停时显示","单击颜色修饰器时显示颜色选取器","控制从颜色修饰器显示颜色选取器的条件","控制可一次性在编辑器中呈现的最大颜色修饰器数。","启用使用鼠标和键进行列选择。","控制在复制时是否同时复制语法高亮。","控制光标的动画样式。","已禁用平滑脱字号动画。","仅当用户使用显式手势移动光标时,才启用平滑脱字号动画。","始终启用平滑脱字号动画。","控制是否启用平滑插入动画。","控制光标样式。","控制光标周围可见的前置行(最小值为 0)和尾随行(最小值为 1)的最小数目。在其他一些编辑器中称为 “scrollOff” 或 “scrollOffset”。","仅当通过键盘或 API 触发时,才会强制执行\\"光标环绕行\\"。","始终强制执行 \\"cursorSurroundingLines\\"","控制何时应强制执行 `#editor.cursorSurroundingLines#`。","当 `#editor.cursorStyle#` 设置为 `line` 时,控制光标的宽度。","控制在编辑器中是否允许通过拖放来移动选中内容。","设置是否应使用新的实验性编辑上下文而不是文本输入区。","将新的呈现方法与 svg 配合使用。","使用包含字体字符的新呈现方法。","使用稳定呈现方法。","控制是否使用新的实验性方法呈现空格。","按下\\"Alt\\"时滚动速度倍增。","控制编辑器是否启用了代码折叠。","使用特定于语言的折叠策略(如果可用),否则使用基于缩进的策略。","使用基于缩进的折叠策略。","控制计算折叠范围的策略。","控制编辑器是否应突出显示折叠范围。","控制编辑器是否自动折叠导入范围。","可折叠区域的最大数量。如果当前源具有大量可折叠区域,那么增加此值可能会导致编辑器的响应速度变慢。","控制单击已折叠的行后面的空内容是否会展开该行。","控制字体系列。","控制编辑器是否自动格式化粘贴的内容。格式化程序必须可用,并且能针对文档中的某一范围进行格式化。","控制编辑器在键入一行后是否自动格式化该行。","控制编辑器是否应呈现垂直字形边距。字形边距最常用于调试。","控制是否在概览标尺中隐藏光标。","控制字母间距(像素)。","控制编辑器是否已启用链接编辑。相关符号(如 HTML 标记)将在编辑时进行更新,具体取决于语言。","控制是否在编辑器中检测链接并使其可被点击。","突出显示匹配的括号。","对鼠标滚轮滚动事件的 `deltaX` 和 `deltaY` 乘上的系数。","按住 Cmd 键并滚动鼠标滚轮时对编辑器字体大小进行缩放。","按住 `Ctrl` 键并滚动鼠标滚轮时对编辑器字体大小进行缩放。","当多个光标重叠时进行合并。","映射为 `Ctrl` (Windows 和 Linux) 或 `Command` (macOS)。","映射为 `Alt` (Windows 和 Linux) 或 `Option` (macOS)。","用于使用鼠标添加多个游标的修饰符。“转到定义”和“打开链接”鼠标手势将进行调整,使其不与 [多光标修饰符](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)冲突。","每个光标粘贴一行文本。","每个光标粘贴全文。","控制粘贴时粘贴文本的行计数与光标计数相匹配。","控制一次可以在活动编辑器中显示的最大游标数。","不突出显示出现次数。","仅突出显示当前文件中的出现次数。","实验性: 突出显示所有有效打开文件的出现次数。","控制是否应突出显示在打开的文件中的出现次数。","Controls the delay in milliseconds after which occurrences are highlighted.","控制是否在概览标尺周围绘制边框。","打开速览时聚焦树","打开预览时将焦点放在编辑器上","控制是将焦点放在内联编辑器上还是放在预览小部件中的树上。","控制\\"转到定义\\"鼠标手势是否始终打开预览小部件。","控制显示快速建议前的等待时间 (毫秒)。","控制是否在编辑器中输入时自动重命名。","已弃用,请改用 \\"editor.linkedEditing\\"。","控制编辑器是否显示控制字符。","当文件以换行符结束时, 呈现最后一行的行号。","同时突出显示导航线和当前行。","控制编辑器的当前行进行高亮显示的方式。","控制编辑器是否仅在焦点在编辑器时突出显示当前行。","呈现空格字符(字词之间的单个空格除外)。","仅在选定文本上呈现空白字符。","仅呈现尾随空格字符。","控制编辑器在空白字符上显示符号的方式。","控制选区是否有圆角。","控制编辑器水平滚动时可以超过范围的字符数。","控制编辑器是否可以滚动到最后一行之后。","同时垂直和水平滚动时,仅沿主轴滚动。在触控板上垂直滚动时,可防止水平漂移。","控制是否支持 Linux 主剪贴板。","控制编辑器是否应突出显示与所选内容类似的匹配项。","始终显示折叠控件。","切勿显示折叠控件并减小装订线大小。","仅在鼠标位于装订线上方时显示折叠控件。","控制何时显示行号槽上的折叠控件。","控制是否淡化未使用的代码。","控制加删除线被弃用的变量。","在其他建议上方显示代码片段建议。","在其他建议下方显示代码片段建议。","在其他建议中穿插显示代码片段建议。","不显示代码片段建议。","控制代码片段是否与其他建议一起显示及其排列的位置。","控制编辑器是否使用动画滚动。","控制在显示内联完成时是否应向屏幕阅读器用户提供辅助功能提示。","建议小组件的字号。设置为 {0} 时,将使用 {1} 的值。","建议小组件的行高。设置为 {0} 时,将使用 {1} 的值。最小值为 8。","控制在键入触发字符后是否自动显示建议。","始终选择第一个建议。","选择最近的建议,除非进一步键入选择其他项。例如 `console. -> console.log`,因为最近补全过 `log`。","根据之前补全过的建议的前缀来进行选择。例如,`co -> console`、`con -> const`。","控制在建议列表中如何预先选择建议。","在按下 Tab 键时进行 Tab 补全,将插入最佳匹配建议。","禁用 Tab 补全。","在前缀匹配时进行 Tab 补全。在 \\"quickSuggestions\\" 未启用时体验最好。","启用 Tab 补全。","自动删除异常的行终止符。","忽略异常的行终止符。","提示删除异常的行终止符。","删除可能导致问题的异常行终止符。","空格和制表符的插入和删除与制表位对齐。","使用默认换行规则。","中文/日语/韩语(CJK)文本不应使用断字功能。非 CJK 文本行为与普通文本行为相同。","控制中文/日语/韩语(CJK)文本使用的断字规则。","执行单词相关的导航或操作时作为单词分隔符的字符。","永不换行。","将在视区宽度处换行。","在 `#editor.wordWrapColumn#` 处折行。","在视区宽度和 `#editor.wordWrapColumn#` 中的较小值处折行。","控制折行的方式。","在 `#editor.wordWrap#` 为 `wordWrapColumn` 或 `bounded` 时,控制编辑器的折行列。","控制是否应使用默认文档颜色提供程序显示内联颜色修饰","控制编辑器是接收选项卡还是将其延迟到工作台进行导航。"],"vs/editor/common/core/editorColorRegistry":["光标所在行高亮内容的背景颜色。","光标所在行四周边框的背景颜色。","背景颜色的高亮范围,喜欢通过快速打开和查找功能。颜色必须透明,以免隐藏下面的修饰效果。","高亮区域边框的背景颜色。","高亮显示符号的背景颜色,例如转到定义或转到下一个/上一个符号。颜色必须透明,以免隐藏下面的修饰效果。","高亮显示符号周围的边框的背景颜色。","编辑器光标颜色。","编辑器光标的背景色。可以自定义块型光标覆盖字符的颜色。","存在多个游标时主要编辑器游标的颜色。","存在多个游标时主要编辑器游标的背景色。允许自定义块游标重叠的字符的颜色。","存在多个游标时辅助编辑器游标的颜色。","存在多个游标时辅助编辑器游标的背景色。允许自定义块游标重叠的字符的颜色。","编辑器中空白字符的颜色。","编辑器行号的颜色。","编辑器缩进参考线的颜色。","“editorIndentGuide.background” 已弃用。请改用 “editorIndentGuide.background1”。","编辑器活动缩进参考线的颜色。","“editorIndentGuide.activeBackground” 已弃用。请改用 “editorIndentGuide.activeBackground1”。","编辑器缩进参考线 (1) 的颜色。","编辑器缩进参考线 (2) 的颜色。","编辑器缩进参考线 (3) 的颜色。","编辑器缩进参考线 (4) 的颜色。","编辑器缩进参考线 (5) 的颜色。","编辑器缩进参考线 (6) 的颜色。","编辑器活动缩进参考线 (1) 的颜色。","编辑器活动缩进参考线 (2) 的颜色。","编辑器活动缩进参考线 (3) 的颜色。","编辑器活动缩进参考线 (4) 的颜色。","编辑器活动缩进参考线 (5) 的颜色。","编辑器活动缩进参考线 (6) 的颜色。","编辑器活动行号的颜色","\\"Id\\" 已被弃用,请改用 \\"editorLineNumber.activeForeground\\"。","编辑器活动行号的颜色","将 editor.renderFinalNewline 设置为灰色时最终编辑器行的颜色。","编辑器标尺的颜色。","编辑器 CodeLens 的前景色","匹配括号的背景色","匹配括号外框的颜色","概览标尺边框的颜色。","编辑器概述标尺的背景色。","编辑器导航线的背景色。导航线包括边缘符号和行号。","编辑器中不必要(未使用)的源代码的边框颜色。","非必须(未使用)代码的在编辑器中显示的不透明度。例如,\\"#000000c0\\" 将以 75% 的不透明度显示代码。对于高对比度主题,请使用 ”editorUnnecessaryCode.border“ 主题来为非必须代码添加下划线,以避免颜色淡化。","编辑器中虚影文本的边框颜色。","编辑器中虚影文本的前景色。","编辑器中虚影文本的背景色。","用于突出显示范围的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","概览标尺中错误标记的颜色。","概览标尺中警告标记的颜色。","概览标尺中信息标记的颜色。","括号的前景色(1)。需要启用括号对着色。","括号的前景色(2)。需要启用括号对着色。","括号的前景色(3)。需要启用括号对着色。","括号的前景色(4)。需要启用括号对着色。","括号的前景色(5)。需要启用括号对着色。","括号的前景色(6)。需要启用括号对着色。","方括号出现意外的前景色。","非活动括号对指南的背景色(1)。需要启用括号对指南。","非活动括号对指南的背景色(2)。需要启用括号对指南。","非活动括号对指南的背景色(3)。需要启用括号对指南。","非活动括号对指南的背景色(4)。需要启用括号对指南。","非活动括号对指南的背景色(5)。需要启用括号对指南。","非活动括号对指南的背景色(6)。需要启用括号对指南。","活动括号对指南的背景色(1)。需要启用括号对指南。","活动括号对指南的背景色(2)。需要启用括号对指南。","活动括号对指南的背景色(3)。需要启用括号对指南。","活动括号对指南的背景色(4)。需要启用括号对指南。","活动括号对指南的背景色(5)。需要启用括号对指南。","活动括号对指南的背景色(6)。需要启用括号对指南。","用于突出显示 Unicode 字符的边框颜色。","用于突出显示 Unicode 字符的背景颜色。"],"vs/editor/common/editorContextKeys":["编辑器文本是否具有焦点(光标是否闪烁)","编辑器或编辑器小组件是否具有焦点(例如焦点在“查找”小组件中)","编辑器或 RTF 输入是否有焦点(光标是否闪烁)","编辑器是否为只读","上下文是否为差异编辑器","上下文是否为嵌入式差异编辑器","是否折叠多差异编辑器中的所有文件","差异编辑器是否有更改","是否选择移动的代码块进行比较","可访问差异查看器是否可见","是否已到达差异编辑器并排呈现内联断点","内联模式是否处于活动状态","修改项在差异编辑器是否可写","修改项在差异编辑器是否可写","原始文档的 URI","已修改的文档的 URI","是否已启用 \\"editor.columnSelection\\"","编辑器是否已选定文本","编辑器是否有多个选择","\\"Tab\\" 是否将焦点移出编辑器","编辑器软键盘是否可见","是否聚焦编辑器悬停","是否聚焦粘性滚动","粘性滚动是否可见","独立颜色选取器是否可见","独立颜色选取器是否聚焦","该编辑器是否是更大的编辑器(例如笔记本)的一部分","编辑器的语言标识符","编辑器是否具有补全项提供程序","编辑器是否具有代码操作提供程序","编辑器是否具有 CodeLens 提供程序","编辑器是否具有定义提供程序","编辑器是否具有声明提供程序","编辑器是否具有实现提供程序","编辑器是否具有类型定义提供程序","编辑器是否具有悬停提供程序","编辑器是否具有文档突出显示提供程序","编辑器是否具有文档符号提供程序","编辑器是否具有引用提供程序","编辑器是否具有重命名提供程序","编辑器是否具有签名帮助提供程序","编辑器是否具有内联提示提供程序","编辑器是否具有文档格式设置提供程序","编辑器是否具有文档选择格式设置提供程序","编辑器是否具有多个文档格式设置提供程序","编辑器是否有多个文档选择格式设置提供程序"],"vs/editor/common/languages":["数组","布尔值","类","常数","构造函数","枚举","枚举成员","事件","字段","文件","函数","接口","键","方法","模块","命名空间","Null","数字","对象","运算符","包","属性","字符串","结构","类型参数","变量","{0} ({1})"],"vs/editor/common/languages/modesRegistry":["纯文本"],"vs/editor/common/model/editStack":["输入"],"vs/editor/common/standaloneStrings":["开发人员: 检查令牌","转到行/列...","显示所有快速访问提供程序","命令面板","显示并运行命令","转到符号...","按类别转到符号...","编辑器内容","切换高对比度主题","在 {1} 个文件中进行了 {0} 次编辑"],"vs/editor/common/viewLayout/viewLineRenderer":["显示更多({0})","{0} 字符"],"vs/editor/contrib/anchorSelect/browser/anchorSelect":["选择定位点","定位点设置为 {0}:{1}","设置选择定位点","转到选择定位点","选择从定位点到光标","取消选择定位点"],"vs/editor/contrib/bracketMatching/browser/bracketMatching":["概览标尺上表示匹配括号的标记颜色。","转到括号","选择括号所有内容","删除括号","转到括号(&&B)","选择其中的文本,包括括号或大括号"],"vs/editor/contrib/caretOperations/browser/caretOperations":["向左移动所选文本","向右移动所选文本"],"vs/editor/contrib/caretOperations/browser/transpose":["转置字母"],"vs/editor/contrib/clipboard/browser/clipboard":["剪切(&&T)","剪切","剪切","剪切","复制(&&C)","复制","复制","复制","粘贴(&&P)","粘贴","粘贴","粘贴","复制并突出显示语法","复制为","复制为","共享","共享"],"vs/editor/contrib/codeAction/browser/codeAction":["应用代码操作时发生未知错误"],"vs/editor/contrib/codeAction/browser/codeActionCommands":["要运行的代码操作的种类。","控制何时应用返回的操作。","始终应用第一个返回的代码操作。","如果仅返回的第一个代码操作,则应用该操作。","不要应用返回的代码操作。","如果只应返回首选代码操作,则应返回控件。","快速修复...","没有可用的代码操作","没有适用于\\"{0}\\"的首选代码操作","没有适用于\\"{0}\\"的代码操作","没有可用的首选代码操作","没有可用的代码操作","重构...","没有适用于\\"{0}\\"的首选重构","没有可用的\\"{0}\\"重构","没有可用的首选重构","没有可用的重构操作","源代码操作...","没有适用于\\"{0}\\"的首选源操作","没有适用于“ {0}”的源操作","没有可用的首选源操作","没有可用的源代码操作","整理 import 语句","没有可用的整理 import 语句操作","全部修复","没有可用的“全部修复”操作","自动修复...","没有可用的自动修复程序"],"vs/editor/contrib/codeAction/browser/codeActionContributions":["启用/禁用在代码操作菜单中显示组标头。","启用/禁用在当前未进行诊断时显示行内最近的快速修复。","当 {1} 设置为 {2} 时,启用触发 {0}。代码操作必须设置为 {3} 以便在窗口和焦点更改时触发。"],"vs/editor/contrib/codeAction/browser/codeActionController":["上下文: {0} 位于行 {1} 和列 {2}。","隐藏已禁用项","显示已禁用项"],"vs/editor/contrib/codeAction/browser/codeActionMenu":["更多操作...","快速修复","提取","内联","重写","移动","外侧代码","源代码操作"],"vs/editor/contrib/codeAction/browser/lightBulbWidget":["当编辑器中没有空间时从装订线生成代码操作菜单的图标。","当编辑器中没有空间,且快速修复可用时从装订线生成代码操作菜单的图标。","当编辑器中没有空间,且 AI 修复可用时从装订线生成代码操作菜单的图标。","当编辑器中没有空间、AI 修复和快速修复可用时从装订线生成代码操作菜单的图标。","当编辑器中没有空间、AI 修复和快速修复可用时从装订线生成代码操作菜单的图标。","运行:{0}","显示代码操作。首选可用的快速修复({0})","显示代码操作({0})","显示代码操作"],"vs/editor/contrib/codelens/browser/codelensController":["显示当前行的 Code Lens 命令","选择命令"],"vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton":["用于关闭颜色选取器的图标"],"vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader":["单击以切换颜色选项(rgb/hsl/hex)"],"vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant":["此处有颜色选取器。"],"vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions":["显示或聚焦独立颜色选取器(&&S)","隐藏颜色选取器","使用独立颜色选取器插入颜色","显示或聚焦独立颜色选取器","显示或聚焦使用默认颜色提供程序的独立颜色选取器。它会显示 rgb/hsl/hex 颜色。","隐藏独立颜色选取器。","使用聚焦的独立颜色选取器插入 hex/rgb/hsl 颜色。"],"vs/editor/contrib/comment/browser/comment":["切换行注释","切换行注释(&&T)","添加行注释","删除行注释","切换块注释","切换块注释(&&B)"],"vs/editor/contrib/contextmenu/browser/contextmenu":["缩略图","呈现字符","垂直大小","成比例","填充","适应","滑块","鼠标悬停","始终","显示编辑器上下文菜单"],"vs/editor/contrib/cursorUndo/browser/cursorUndo":["光标撤消","光标重做"],"vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution":["要尝试应用的粘贴编辑的类型。如果未提供或有多个此类编辑,编辑器将显示一个选取器。","粘贴为...","粘贴为文本"],"vs/editor/contrib/dropOrPasteInto/browser/copyPasteController":["是否显示粘贴小组件","显示粘贴选项...","找不到“{0}”的粘贴编辑","正在解析粘贴编辑。单击以取消","正在运行粘贴处理程序。单击可取消并进行基本粘贴","选择粘贴操作","正在运行粘贴处理程序"],"vs/editor/contrib/dropOrPasteInto/browser/defaultProviders":["插入纯文本","插入 URI","插入 URI","插入路径","插入路径","插入相对路径","插入相对路径","插入 HTML"],"vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution":["将默认放置提供程序配置为用于给定 MIME 类型的内容。"],"vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController":["是否显示放置小组件","显示放置选项...","正在运行放置处理程序。单击以取消"],"vs/editor/contrib/dropOrPasteInto/browser/postEditWidget":["解析编辑“{0}”时出错:\\r\\n{1}","应用编辑“{0}”时出错:\\r\\n{1}"],"vs/editor/contrib/editorState/browser/keybindingCancellation":["编辑器是否运行可取消的操作,例如“预览引用”"],"vs/editor/contrib/find/browser/findController":["文件太大,无法执行全部替换操作。","查找","查找(&&F)","使用参数查找","查找选定内容","查找下一个","查找上一个","转到“匹配”...","无匹配项。请尝试搜索其他内容。","键入数字以转到特定匹配项(介于 1 和 {0} 之间)","请键入介于 1 和 {0} 之间的数字","请键入介于 1 和 {0} 之间的数字","查找下一个选择","查找上一个选择","替换","替换(&&R)"],"vs/editor/contrib/find/browser/findWidget":["用于指示编辑器查找小组件已折叠的图标。","用于指示编辑器查找小组件已展开的图标。","编辑器查找小组件中的“在选定内容中查找”图标。","编辑器查找小组件中的“替换”图标。","编辑器查找小组件中的“全部替换”图标。","编辑器查找小组件中的“查找上一个”图标。","编辑器查找小组件中的“查找下一个”图标。","查找/替换","查找","查找","上一个匹配项","下一个匹配项","在选定内容中查找","关闭","替换","替换","替换","全部替换","切换替换","仅高亮了前 {0} 个结果,但所有查找操作均针对全文。","第 {0} 项,共 {1} 项","无结果","找到 {0}","为“{1}”找到 {0}","在 {2} 处找到“{1}”的 {0}","为“{1}”找到 {0}","Ctrl+Enter 现在由全部替换改为插入换行。你可以修改editor.action.replaceAll 的按键绑定以覆盖此行为。"],"vs/editor/contrib/folding/browser/folding":["展开","以递归方式展开","折叠","切换折叠","以递归方式折叠","以递归方式切换折叠","折叠所有块注释","折叠所有区域","展开所有区域","折叠除选定项以外的所有项","展开除所选区域之外的所有区域","全部折叠","全部展开","跳转到父级折叠","转到上一个折叠范围","转到下一个折叠范围","根据所选内容创建折叠范围","删除手动折叠范围","切换导入折叠","折叠级别 {0}"],"vs/editor/contrib/folding/browser/foldingDecorations":["折叠范围后面的背景颜色。颜色必须设为透明,以免隐藏底层装饰。","在折叠范围的第一行后的折叠文本的颜色。","编辑器装订线中折叠控件的颜色。","编辑器字形边距中已展开的范围的图标。","编辑器字形边距中已折叠的范围的图标。","编辑器字形边距中手动折叠的范围的图标。","编辑器字形边距中手动展开的范围的图标。","单击以展开范围。","单击以折叠范围。"],"vs/editor/contrib/fontZoom/browser/fontZoom":["增大编辑器字号","减小编辑器字号","重置编辑器字号"],"vs/editor/contrib/format/browser/formatActions":["格式化文档","格式化选定内容"],"vs/editor/contrib/gotoError/browser/gotoError":["转到下一个问题 (错误、警告、信息)","“转到下一个”标记的图标。","转到上一个问题 (错误、警告、信息)","“转到上一个”标记的图标。","转到文件中的下一个问题 (错误、警告、信息)","下一个问题(&&P)","转到文件中的上一个问题 (错误、警告、信息)","上一个问题(&&P)"],"vs/editor/contrib/gotoError/browser/gotoErrorWidget":["错误","警告","信息","提示","{1} 中的 {0}","{0} 个问题(共 {1} 个)","{0} 个问题(共 {1} 个)","编辑器标记导航小组件错误颜色。","编辑器标记导航小组件错误标题背景色。","编辑器标记导航小组件警告颜色。","编辑器标记导航小组件警告标题背景色。","编辑器标记导航小组件信息颜色。","编辑器标记导航小组件信息标题背景色。","编辑器标记导航小组件背景色。"],"vs/editor/contrib/gotoSymbol/browser/goToCommands":["快速查看","定义","未找到“{0}”的任何定义","找不到定义","转到定义(&&D)","声明","未找到“{0}”的声明","未找到声明","转到声明(&&D)","未找到“{0}”的声明","未找到声明","类型定义","未找到“{0}”的类型定义","未找到类型定义","转到类型定义(&&T)","实现","未找到“{0}”的实现","未找到实现","转到实现(&&I)","未找到\\"{0}\\"的引用","未找到引用","转到引用(&&R)","引用","引用","位置","无“{0}”的结果","引用","转到定义","打开侧边的定义","速览定义","转到声明","查看声明","转到类型定义","快速查看类型定义","转到实现","查看实现","转到引用","查看引用","转到任何符号"],"vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition":["单击显示 {0} 个定义。"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesController":["引用速览是否可见,例如“速览引用”或“速览定义”","正在加载...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesTree":["{0} 个引用","{0} 个引用","引用"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget":["无可用预览","无结果","引用"],"vs/editor/contrib/gotoSymbol/browser/referencesModel":["在列 {2} 行 {1} 的 {0} 中","在列 {3} 行 {2} 的 {1} 中的 {0}","{0} 中有 1 个符号,完整路径: {1}","{1} 中有 {0} 个符号,完整路径: {2}","未找到结果","在 {0} 中找到 1 个符号","在 {1} 中找到 {0} 个符号","在 {1} 个文件中找到 {0} 个符号"],"vs/editor/contrib/gotoSymbol/browser/symbolNavigation":["是否存在只能通过键盘导航的符号位置。","{1} 的符号 {0},下一个使用 {2}","{1} 的符号 {0}"],"vs/editor/contrib/gpu/browser/gpuActions":["开发人员: 调试编辑器 GPU 呈现器","记录纹理图集统计信息","保存纹理图集","绘制字形"],"vs/editor/contrib/hover/browser/contentHoverRendered":["这是悬停状态栏。","它有一个标签为 {0} 和键绑定为 {1} 的操作。","它有一个标签为 {0} 的操作。"],"vs/editor/contrib/hover/browser/hoverAccessibleViews":["- 使用 Increase Hover Verbosity 命令可以提高聚焦悬停部分的详细程度。","- 使用 Decrease Hover Verbosity 命令可以降低聚焦悬停部分的详细程度。"],"vs/editor/contrib/hover/browser/hoverActionIds":["提高悬停详细程度级别","降低悬停详细程度级别"],"vs/editor/contrib/hover/browser/hoverActions":["显示或聚焦悬停","悬停不会自动获得焦点。","仅当悬停已可见时,才会获得焦点。","悬停在出现时会自动获得焦点。","显示定义预览悬停","向上滚动悬停","向下滚动悬停","向左滚动悬停","向右滚动悬停","向上翻页悬停","向下翻页悬停","转到顶部悬停","转到底部悬停","显示或聚焦编辑器悬停,该悬停将在当前光标位置显示符号的文档、引用和其他内容。","在编辑器中显示定义预览悬停。","向上滚动编辑器悬停。","向下滚动编辑器悬停。","向左滚动编辑器悬停。","向右滚动编辑器悬停。","将编辑器悬停向上翻页。","将编辑器悬停向下翻页。","转到编辑器悬停的顶部。","转到编辑器悬停的底部。"],"vs/editor/contrib/hover/browser/markdownHoverParticipant":["用于提高悬停详细程度的图标。","用于降低悬停详细程度的图标。","正在加载...","由于性能原因,长线的呈现已暂停。可通过`editor.stopRenderingLineAfter`配置此设置。","出于性能原因,未对长行进行解析。解析长度阈值可通过“editor.maxTokenizationLineLength”进行配置。","提高悬停详细程度({0})","提高悬停详细程度","降低悬停详细程度({0})","降低悬停详细程度"],"vs/editor/contrib/hover/browser/markerHoverParticipant":["查看问题","没有可用的快速修复","正在检查快速修复...","没有可用的快速修复","快速修复..."],"vs/editor/contrib/indentation/browser/indentation":["将缩进转换为空格","将缩进转换为制表符","已配置制表符大小","默认选项卡大小","当前选项卡大小","选择当前文件的制表符大小","使用制表符缩进","使用空格缩进","更改制表符显示大小","从内容中检测缩进方式","重新缩进行","重新缩进所选行","将制表符缩进转换为空格。","将空格缩进转换为制表符。","使用制表符缩进。","使用空格缩进。","更改制表符的等效空间大小。","检测内容的缩进。","重新设计编辑器的行缩进。","重新设计编辑器所选行的缩进。"],"vs/editor/contrib/inlayHints/browser/inlayHintsHover":["双击以插入","cmd + 点击","ctrl + 点击","option + 点击","alt + 点击","转到定义 ({0}),点击右键以查看详细信息","转到定义({0})","执行命令"],"vs/editor/contrib/inlineCompletions/browser/controller/commands":["显示下一个内联建议","显示上一个内联建议","触发内联建议","接受内联建议的下一个字","接受 Word","接受内联建议的下一行","接受行","接受内联建议","接受","接受","跳转到下一个内联编辑","跳转","隐藏内联建议","始终显示工具栏","Developer: Extract Inline Suggest State"],"vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys":["内联建议是否可见","内联建议是否以空白开头","内联建议是否以小于选项卡插入内容的空格开头","是否应抑制当前建议","光标是否处于缩进状态","编辑器是否有选择","光标是否处于内联编辑状态","内联编辑是否可见"],"vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController":["在辅助视图中检查此项 ({0})"],"vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant":["此处有内联完成","建议:"],"vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget":["“显示下一个参数”提示的图标。","“显示上一个参数”提示的图标。","{0} ({1})","上一步","下一步"],"vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace":["替换为上一个值","替换为下一个值"],"vs/editor/contrib/lineSelection/browser/lineSelection":["展开行选择"],"vs/editor/contrib/linesOperations/browser/linesOperations":["向上复制行","向上复制一行(&&C)","向下复制行","向下复制一行(&&P)","重复选择","重复选择(&&D)","向上移动行","向上移动一行(&&V)","向下移动行","向下移动一行(&&L)","按升序排列行","按降序排列行","删除重复行","裁剪尾随空格","删除行","行缩进","行减少缩进","在上面插入行","在下面插入行","删除左侧所有内容","删除右侧所有内容","合并行","转置光标处的字符","转换为大写","转换为小写","转换为词首字母大写","转换为蛇形命名法","转换为驼峰式大小写","转换为帕斯卡式大小写形式","转换为 Kebab 案例"],"vs/editor/contrib/linkedEditing/browser/linkedEditing":["启动链接编辑","编辑器根据类型自动重命名时的背景色。"],"vs/editor/contrib/links/browser/links":["此链接格式不正确,无法打开: {0}","此链接目标已丢失,无法打开。","执行命令","打开链接","cmd + 单击","ctrl + 单击","option + 单击","alt + 单击","执行命令 {0}","打开链接"],"vs/editor/contrib/message/browser/messageController":["编辑器当前是否正在显示内联消息"],"vs/editor/contrib/multicursor/browser/multicursor":["添加的光标: {0}","添加的游标: {0}","在上面添加光标","在上面添加光标(&&A)","在下面添加光标","在下面添加光标(&&D)","在行尾添加光标","在行尾添加光标(&&U)","在底部添加光标","在顶部添加光标","将下一个查找匹配项添加到选择","添加下一个匹配项(&&N)","将选择内容添加到上一查找匹配项","添加上一个匹配项(&&R)","将上次选择移动到下一个查找匹配项","将上个选择内容移动到上一查找匹配项","选择所有找到的查找匹配项","选择所有匹配项(&&O)","更改所有匹配项","聚焦下一个光标","聚焦下一个光标","聚焦上一个光标","聚焦上一个光标"],"vs/editor/contrib/parameterHints/browser/parameterHints":["触发参数提示"],"vs/editor/contrib/parameterHints/browser/parameterHintsWidget":["“显示下一个参数”提示的图标。","“显示上一个参数”提示的图标。","{0},提示","参数提示中活动项的前景色。"],"vs/editor/contrib/peekView/browser/peekView":["速览中是否嵌入了当前代码编辑器","关闭","速览视图标题区域背景颜色。","速览视图标题颜色。","速览视图标题信息颜色。","速览视图边框和箭头颜色。","速览视图结果列表背景色。","速览视图结果列表中行节点的前景色。","速览视图结果列表中文件节点的前景色。","速览视图结果列表中所选条目的背景色。","速览视图结果列表中所选条目的前景色。","速览视图编辑器背景色。","速览视图编辑器中装订线的背景色。","速览视图编辑器中粘滞滚动的背景色。","在速览视图结果列表中匹配突出显示颜色。","在速览视图编辑器中匹配突出显示颜色。","在速览视图编辑器中匹配项的突出显示边框。"],"vs/editor/contrib/placeholderText/browser/placeholderText.contribution":["编辑器中占位符文本的前景色。"],"vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess":["先打开文本编辑器然后跳转到行。","转到第 {0} 行第 {1} 个字符。","转到行 {0}。","当前行: {0},字符: {1}。键入要导航到的行号(介于 1 至 {2} 之间)。","当前行: {0},字符: {1}。 键入要导航到的行号。"],"vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess":["要转到符号,首先打开具有符号信息的文本编辑器。","活动文本编辑器不提供符号信息。","没有匹配的编辑器符号","没有编辑器符号","在侧边打开","在底部打开","符号({0})","属性({0})","方法({0})","函数({0})","构造函数 ({0})","变量({0})","类({0})","结构({0})","事件({0})","运算符({0})","接口({0})","命名空间({0})","包({0})","类型参数({0})","模块({0})","属性({0})","枚举({0})","枚举成员({0})","字符串({0})","文件({0})","数组({0})","数字({0})","布尔值({0})","对象({0})","键({0})","字段({0})","常量({0})"],"vs/editor/contrib/readOnlyMessage/browser/contribution":["无法在只读输入中编辑","无法在只读编辑器中编辑"],"vs/editor/contrib/rename/browser/rename":["无结果。","解析重命名位置时发生未知错误","正在将“{0}”重命名为“{1}”","将 {0} 重命名为 {1}","成功将“{0}”重命名为“{1}”。摘要: {2}","重命名无法应用修改","重命名无法计算修改","重命名符号","启用/禁用重命名之前预览更改的功能","聚焦下一个重命名建议","聚焦上一个重命名建议"],"vs/editor/contrib/rename/browser/renameWidget":["重命名输入小组件是否可见","是否聚焦重命名输入小组件","按 {0} 进行重命名,按 {1} 进行预览","已收到 {0} 重命名建议","重命名输入。键入新名称并按 \\"Enter\\" 提交。","生成新的名称建议","取消"],"vs/editor/contrib/smartSelect/browser/smartSelect":["展开选择","扩大选区(&&E)","收起选择","缩小选区(&&S)"],"vs/editor/contrib/snippet/browser/snippetController2":["编辑器目前是否在代码片段模式下","在代码片段模式下时是否存在下一制表位","在代码片段模式下时是否存在上一制表位","转到下一个占位符..."],"vs/editor/contrib/snippet/browser/snippetVariables":["星期天","星期一","星期二","星期三","星期四","星期五","星期六","周日","周一","周二","周三","周四","周五","周六","一月","二月","三月","四月","5月","六月","七月","八月","九月","十月","十一月","十二月","1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11 月","12月"],"vs/editor/contrib/stickyScroll/browser/stickyScrollActions":["切换编辑器粘滞滚动","粘滞滚动","粘滞滚动(&&S)","聚焦粘性滚动(&&F)","切换编辑器粘滞滚动","切换/启用编辑器粘性滚动,该滚动显示视区顶部的嵌套范围","将焦点放在编辑器粘性滚动上","选择下一个编辑器粘性滚动行","选择上一个粘性滚动行","转到聚焦的粘性滚动行","选择编辑器"],"vs/editor/contrib/suggest/browser/suggest":["是否以任何建议为中心","建议详细信息是否可见","是否存在多条建议可供选择","插入当前建议是否会导致更改或导致已键入所有内容","按 Enter 时是否会插入建议","当前建议是否具有插入和替换行为","默认行为是否是插入或替换","当前建议是否支持解析更多详细信息"],"vs/editor/contrib/suggest/browser/suggestController":["选择“{0}”后进行了其他 {1} 次编辑","触发建议","插入","插入","替换","替换","插入","显示更少","显示更多","重置建议小组件大小"],"vs/editor/contrib/suggest/browser/suggestWidget":["建议小组件的背景色。","建议小组件的边框颜色。","建议小组件的前景色。","建议小组件中所选条目的前景色。","建议小组件中所选条目的图标前景色。","建议小组件中所选条目的背景色。","建议小组件中匹配内容的高亮颜色。","当某项获得焦点时,在建议小组件中突出显示的匹配项的颜色。","建议小组件状态的前景色。","正在加载...","无建议。","建议","{0} {1},{2}","{0} {1}","{0},{1}","{0},文档: {1}"],"vs/editor/contrib/suggest/browser/suggestWidgetDetails":["关闭","正在加载…"],"vs/editor/contrib/suggest/browser/suggestWidgetRenderer":["建议小组件中的详细信息的图标。","了解详细信息"],"vs/editor/contrib/symbolIcons/browser/symbolIcons":["数组符号的前景色。这些符号将显示在大纲、痕迹导航栏和建议小组件中。","布尔符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","类符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","颜色符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","常量符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","构造函数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","枚举符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","枚举器成员符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","事件符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","字段符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文件符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文件夹符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","函数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","接口符号的前景色。这些符号将显示在大纲、痕迹导航栏和建议小组件中。","键符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","关键字符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","方法符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","模块符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","命名空间符号的前景颜色。这些符号出现在轮廓、痕迹导航栏和建议小部件中。","空符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","数字符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","对象符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","运算符符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","包符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","属性符号的前景色。这些符号出现在大纲、痕迹导航栏和建议小组件中。","参考符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","片段符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","字符串符号的前景颜色。这些符号出现在轮廓、痕迹导航栏和建议小部件中。","结构符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文本符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","类型参数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","单位符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","变量符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。"],"vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode":["Tab 键将移动到下一可聚焦的元素","Tab 键将插入制表符","切换 Tab 键移动焦点","确定 Tab 键是在工作台周围移动焦点,还是在当前编辑器中插入制表符。这也称为制表符补漏白、制表符导航或制表符焦点模式。"],"vs/editor/contrib/tokenization/browser/tokenization":["开发人员: 强制重新进行标记"],"vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter":["扩展编辑器中随警告消息一同显示的图标。","本文档包含许多非基本 ASCII unicode 字符","本文档包含许多不明确的 unicode 字符","本文档包含许多不可见的 unicode 字符","配置 Unicode 突出显示选项","字符 {0} 可能会与 ASCII 字符 {1} 混淆,后者在源代码中更为常见。","字符 {0} 可能会与字符 {1} 混淆,后者在源代码中更为常见。","字符 {0} 不可见。","字符 {0} 不是基本 ASCII 字符。","调整设置","禁用批注中的突出显示","禁用批注中字符的突出显示","禁用字符串中的突出显示","禁用字符串中字符的突出显示","禁用不明确的突出显示","禁止突出显示歧义字符","禁用不可见突出显示","禁止突出显示不可见字符","禁用非 ASCII 突出显示","禁止突出显示非基本 ASCII 字符","显示排除选项","不突出显示 {0} (不可见字符)","在突出显示内容中排除{0}","允许语言“{0}”中更常见的 unicode 字符。"],"vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators":["异常行终止符","检测到异常行终止符","文件“{0}”包含一个或多个异常的行终止符,例如行分隔符(LS)或段落分隔符(PS)。\\r\\n\\r\\n建议从文件中删除它们。可通过“editor.unusualLineTerminators”进行配置。","删除异常行终止符(&&R)","忽略"],"vs/editor/contrib/wordHighlighter/browser/highlightDecorations":["读取访问期间符号的背景色,例如读取变量时。颜色必须透明,以免隐藏下面的修饰效果。","写入访问过程中符号的背景色,例如写入变量时。颜色必须透明,以免隐藏下面的修饰效果。","符号在文本中出现时的背景色。颜色必须透明,以免隐藏下层的修饰。","符号在进行读取访问操作时的边框颜色,例如读取变量。","符号在进行写入访问操作时的边框颜色,例如写入变量。","符号在文本中出现时的边框颜色。","用于突出显示符号的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于突出显示写权限符号的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","符号在文本中出现时的概述标尺标记颜色。颜色必须透明,以免隐藏下层的修饰。"],"vs/editor/contrib/wordHighlighter/browser/wordHighlighter":["转到下一个突出显示的符号","转到上一个突出显示的符号","触发符号高亮"],"vs/editor/contrib/wordOperations/browser/wordOperations":["删除 Word"],"vs/platform/accessibilitySignal/browser/accessibilitySignalService":["出错位置","错误","警告位置","警告","行上的错误","行上的错误","行上的警告","行上的警告","行上的折叠区域","已折叠","行上的断点","断点","行上的内联建议","终端快速修复","快速修复","调试程序已在断点处停止","断点","行上无嵌入提示","无内嵌提示","任务已完成","任务已完成","任务失败","任务失败","终端命令失败","命令失败","终端命令成功","命令成功","终端钟","终端钟","笔记本单元格已完成","笔记本单元格已完成","笔记本单元格失败","笔记本单元格失败","已插入差异线","已删除差异行","差异行已修改","已发送聊天请求","已发送聊天请求","已收到聊天响应","进度","进度","清除","清除","保存","保存","格式","格式","语音录制已启动","语音录制已停止"],"vs/platform/action/common/actionCommonCategories":["查看","帮助","测试","文件","首选项","开发人员"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})","{0} ({1})","{0}\\r\\n[{1}] {2}","按 {1} 以 {0}","{0} ({1})"],"vs/platform/actions/browser/toolbar":["隐藏","重置菜单"],"vs/platform/actions/common/menuService":["隐藏“{0}”","配置键绑定"],"vs/platform/actionWidget/browser/actionList":["按 {0} 以应用,按 {1} 以预览","按 {0} 以应用","{0},禁用原因: {1}","操作小组件"],"vs/platform/actionWidget/browser/actionWidget":["操作栏中切换的操作项的背景色。","操作小组件列表是否可见","隐藏操作小组件","选择上一个操作","选择下一个操作","接受所选操作","预览所选操作"],"vs/platform/configuration/common/configurationRegistry":["默认语言配置替代","配置要为 {0} 语言替代的设置。","针对某种语言,配置替代编辑器设置。","此设置不支持按语言配置。","针对某种语言,配置替代编辑器设置。","此设置不支持按语言配置。","无法注册空属性","无法注册“{0}”。其符合描述特定语言编辑器设置的表达式 \\"\\\\\\\\[.*\\\\\\\\]$\\"。请使用 \\"configurationDefaults\\"。","无法注册“{0}”。此属性已注册。","无法注册 \\"{0}\\"。关联的策略 {1} 已向 {2} 注册。"],"vs/platform/contextkey/browser/contextKeyService":["用于返回上下文键的相关信息的命令"],"vs/platform/contextkey/common/contextkey":["上下文键表达式为空","忘记写入表达式了吗? 还可以放置 \\"false\\" 或 \\"true\\" 以始终分别评估为 false 或 true。","\\"not\\" 后面的 \\"in\\"。","右括号 \\")\\"","意外的令牌","忘记在令牌之前放置 && 或 || 了吗?","意外的表达式结尾","忘记放置上下文键了吗?","应为: {0}\\r\\n收到的: \\"{1}\\"。"],"vs/platform/contextkey/common/contextkeys":["操作系统是否 macOS","操作系统是否为 Linux","操作系统是否为 Windows","平台是否为 Web 浏览器","操作系统是否是非浏览器平台上的 macOS","操作系统是否为 iOS","平台是否为 Web 浏览器","VS Code 的质量类型","键盘焦点是否在输入框中"],"vs/platform/contextkey/common/scanner":["你指的是 {0} 吗?","你指的是 {0} 还是 {1}?","你指的是 {0}、{1} 还是 {2}?","忘记左引号或右引号了吗?","忘记转义 \\"/\\"(斜杠)字符了吗? 在该字符前放置两个反斜杠以进行转义,例如 \\"\\\\\\\\/\\"。"],"vs/platform/history/browser/contextScopedHistoryWidget":["建议是否可见"],"vs/platform/keybinding/common/abstractKeybindingService":["({0})已按下。正在等待按下第二个键...","已按下({0})。正在等待第二个键...","组合键({0},{1})不是命令。","组合键({0},{1})不是命令。"],"vs/platform/list/browser/listService":["工作台","映射为 `Ctrl` (Windows 和 Linux) 或 `Command` (macOS)。","映射为 `Alt` (Windows 和 Linux) 或 `Option` (macOS)。","在通过鼠标多选树和列表条目时使用的修改键 (例如“资源管理器”、“打开的编辑器”和“源代码管理”视图)。“在侧边打开”功能所需的鼠标动作 (若可用) 将会相应调整,不与多选修改键冲突。","控制如何使用鼠标打开树和列表中的项(若支持)。请注意,如果此设置不适用,某些树和列表可能会选择忽略它。","控制工作台上的列表和树是否支持水平滚动。警告: 打开此设置会影响性能。","控制在滚动条中单击时是否逐页单击。","控制树缩进(以像素为单位)。","控制树是否应呈现缩进参考线。","控制列表和树是否具有平滑滚动效果。","对鼠标滚轮滚动事件的 `deltaX` 和 `deltaY` 乘上的系数。","按下\\"Alt\\"时滚动速度倍增。","搜索时突出显示元素。进一步向上和向下导航将仅遍历突出显示的元素。","搜索时筛选元素。","控制工作台中列表和树的默认查找模式。","简单键盘导航聚焦与键盘输入相匹配的元素。仅对前缀进行匹配。","高亮键盘导航会突出显示与键盘输入相匹配的元素。进一步向上和向下导航将仅遍历突出显示的元素。","筛选器键盘导航将筛选出并隐藏与键盘输入不匹配的所有元素。","控制工作台中的列表和树的键盘导航样式。它可为“简单”、“突出显示”或“筛选”。","请改用 \\"workbench.list.defaultFindMode\\" 和 \\"workbench.list.typeNavigationMode\\"。","在搜索时使用模糊匹配。","在搜索时使用连续匹配。","控制在工作台中搜索列表和树时使用的匹配类型。","控制在单击文件夹名称时如何扩展树文件夹。请注意,如果不适用,某些树和列表可能会选择忽略此设置。","控制是否在树中启用粘性滚动。","控制启用 {0} 时树中显示的粘滞元素数。","控制类型导航在工作台的列表和树中的工作方式。如果设置为`trigger`,则在运行 `list.triggerTypeNavigation` 命令后,类型导航将开始。"],"vs/platform/markers/common/markers":["错误","警告","信息"],"vs/platform/quickinput/browser/commandsQuickAccess":["最近使用","类似命令","常用","其他命令","类似命令","{0}, {1}","命令 \\"{0}\\" 导致错误"],"vs/platform/quickinput/browser/helpQuickAccess":["{0}, {1}"],"vs/platform/quickinput/browser/quickInput":["键盘焦点是否在快速输入控件内","当前可见快速输入的类型","快速输入中的光标是否位于输入框的末尾","上一步","按 \\"Enter\\" 以确认或按 \\"Esc\\" 以取消","{0}/{1}","在此输入可缩小结果范围。","{0} (按 \\"Enter\\" 以确认或按 \\"Esc\\" 以取消)"],"vs/platform/quickinput/browser/quickInputActions":["在快速选取上下文中使用。如果为此命令更改一个键绑定,则还应更改此命令的所有其他键绑定(修饰符变体)。","如果我们处于快速访问模式,这将导航到下一项。如果我们未处于快速访问模式,这将导航到下一个分隔符。","如果我们处于快速访问模式,这将导航到上一项。如果我们未处于快速访问模式,这将导航到上一个分隔符。"],"vs/platform/quickinput/browser/quickInputController":["切换所有复选框","{0} 个结果","已选 {0} 项","确定","自定义","后退 ({0})","上一步"],"vs/platform/quickinput/browser/quickInputTree":["快速输入"],"vs/platform/quickinput/browser/quickInputUtils":["单击以执行命令 \\"{0}\\""],"vs/platform/theme/common/colors/baseColors":["整体前景色。此颜色仅在不被组件覆盖时适用。","已禁用元素的整体前景色。仅在未由组件替代时才能使用此颜色。","错误信息的整体前景色。此颜色仅在不被组件覆盖时适用。","提供其他信息的说明文本的前景色,例如标签文本。","工作台中图标的默认颜色。","焦点元素的整体边框颜色。此颜色仅在不被其他组件覆盖时适用。","在元素周围额外的一层边框,用来提高对比度从而区别其他元素。","在活动元素周围额外的一层边框,用来提高对比度从而区别其他元素。","工作台所选文本的背景颜色(例如输入字段或文本区域)。注意,本设置不适用于编辑器。","文本中链接的前景色。","文本中链接在点击或鼠标悬停时的前景色 。","文字分隔符的颜色。","预格式化文本段的前景色。","预格式化文本段的背景色。","文本中块引用的背景颜色。","文本中块引用的边框颜色。","文本中代码块的背景颜色。"],"vs/platform/theme/common/colors/chartsColors":["图表中使用的前景颜色。","用于图表中的水平线条的颜色。","图表可视化效果中使用的红色。","图表可视化效果中使用的蓝色。","图表可视化效果中使用的黄色。","图表可视化效果中使用的橙色。","图表可视化效果中使用的绿色。","图表可视化效果中使用的紫色。"],"vs/platform/theme/common/colors/editorColors":["编辑器背景色。","编辑器默认前景色。","编辑器中粘滞滚动的背景色","在编辑器中悬停时粘滞滚动的背景色","编辑器中粘滞滚动的边框颜色"," 编辑器中粘滞滚动的阴影颜色","编辑器组件(如查找/替换)背景颜色。","编辑器小部件的前景色,如查找/替换。","编辑器小部件的边框颜色。此颜色仅在小部件有边框且不被小部件重写时适用。","编辑器小部件大小调整条的边框颜色。此颜色仅在小部件有调整边框且不被小部件颜色覆盖时使用。","编辑器中错误文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","编辑器中错误波浪线的前景色。","如果设置,编辑器中错误的双下划线颜色。","编辑器中警告文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","编辑器中警告波浪线的前景色。","如果设置,编辑器中警告的双下划线颜色。","编辑器中信息文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","编辑器中信息波浪线的前景色。","如果设置,编辑器中信息的双下划线颜色。","编辑器中提示波浪线的前景色。","如果设置,编辑器中提示的双下划线颜色。","活动链接颜色。","编辑器所选内容的颜色。","用以彰显高对比度的所选文本的颜色。","非活动编辑器中所选内容的颜色,颜色必须透明,以免隐藏下面的装饰效果。","具有与所选项相关内容的区域的颜色。颜色必须透明,以免隐藏下面的修饰效果。","与所选项内容相同的区域的边框颜色。","The border color for an IME composition.","当前搜索匹配项的颜色。","当前搜索匹配项的文本颜色。","其他搜索匹配项的颜色。颜色必须透明,以免隐藏下面的修饰效果。","其他搜索匹配项的前景色。","限制搜索范围的颜色。颜色必须透明,以免隐藏下面的修饰效果。","当前搜索匹配项的边框颜色。","其他搜索匹配项的边框颜色。","限制搜索的范围的边框颜色。颜色必须透明,以免隐藏下面的修饰效果。","在下面突出显示悬停的字词。颜色必须透明,以免隐藏下面的修饰效果。","编辑器悬停提示的背景颜色。","编辑器悬停的前景颜色。","光标悬停时编辑器的边框颜色。","编辑器悬停状态栏的背景色。","内联提示的前景色","内联提示的背景色","类型内联提示的前景色","类型内联提示的背景色","参数内联提示的前景色","参数内联提示的背景色","用于灯泡操作图标的颜色。","用于灯泡自动修复操作图标的颜色。","用于灯泡 AI 图标的颜色。","代码片段 Tab 位的高亮背景色。","代码片段 Tab 位的高亮边框颜色。","代码片段中最后的 Tab 位的高亮背景色。","代码片段中最后的制表位的高亮边框颜色。","已插入的文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","已删除的文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","已插入的行的背景色。颜色必须透明,以免隐藏下面的修饰效果。","已删除的行的背景色。颜色必须透明,以免隐藏下面的修饰效果。","插入行的边距的背景色。","删除行的边距的背景色。","插入内容的差异概述标尺前景。","删除内容的差异概述标尺前景。","插入的文本的轮廓颜色。","被删除文本的轮廓颜色。","两个文本编辑器之间的边框颜色。","差异编辑器的对角线填充颜色。对角线填充用于并排差异视图。","差异编辑器中未更改块的背景色。","差异编辑器中未更改块的前景色。","差异编辑器中未更改代码的背景色。","编辑器内小组件(如查找/替换)的阴影颜色。","编辑器内小组件(如查找/替换)的边框颜色。","使用鼠标悬停在操作上时显示工具栏背景","使用鼠标悬停在操作上时显示工具栏轮廓","将鼠标悬停在操作上时的工具栏背景","焦点导航路径的颜色","导航路径项的背景色。","焦点导航路径的颜色","已选导航路径项的颜色。","导航路径项选择器的背景色。","当前标题背景的内联合并冲突。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的当前内容背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的传入标题背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的传入内容背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的常见祖先标头背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的常见祖先内容背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中标头和分割线的边框颜色。","内联合并冲突中当前版本区域的概览标尺前景色。","内联合并冲突中传入的版本区域的概览标尺前景色。","内联合并冲突中共同祖先区域的概览标尺前景色。","用于查找匹配项的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于突出显示所选内容的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于问题错误图标的颜色。","用于问题警告图标的颜色。","用于问题信息图标的颜色。"],"vs/platform/theme/common/colors/inputColors":["输入框背景色。","输入框前景色。","输入框边框。","输入字段中已激活选项的边框颜色。","输入字段中激活选项的背景颜色。","输入字段中选项的背景悬停颜色。","输入字段中已激活的选项的前景色。","输入框中占位符的前景色。","输入验证结果为信息级别时的背景色。","输入验证结果为信息级别时的前景色。","严重性为信息时输入验证的边框颜色。","严重性为警告时输入验证的背景色。","输入验证结果为警告级别时的前景色。","严重性为警告时输入验证的边框颜色。","输入验证结果为错误级别时的背景色。","输入验证结果为错误级别时的前景色。","严重性为错误时输入验证的边框颜色。","下拉列表背景色。","下拉列表背景色。","下拉列表前景色。","下拉列表边框。","按钮前景色。","按钮分隔符颜色。","按钮背景色。","按钮在悬停时的背景颜色。","按钮边框颜色。","辅助按钮前景色。","辅助按钮背景色。","悬停时的辅助按钮背景色。","活动单选选项的前景色。","活动单选选项的背景色。","活动单选选项的边框颜色。","非活动单选选项的前景色。","非活动单选选项的背景色。","非活动单选选项的边框颜色。","悬停时非活动单选选项的背景色。","复选框小部件的背景颜色。","选择复选框小组件所在的元素时该小组件的背景色。","复选框小部件的前景色。","复选框小部件的边框颜色。","选择复选框小组件所在的元素时该小组件的边框颜色。","键绑定标签背景色。键绑定标签用于表示键盘快捷方式。","键绑定标签前景色。键绑定标签用于表示键盘快捷方式。","键绑定标签边框色。键绑定标签用于表示键盘快捷方式。","键绑定标签边框底部色。键绑定标签用于表示键盘快捷方式。"],"vs/platform/theme/common/colors/listColors":["焦点项在列表或树活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","焦点项在列表或树活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","列表/树活动时,焦点项目的列表/树边框色。活动的列表/树具有键盘焦点,非活动的没有。","当列表/树处于活动状态且已选择时,重点项的列表/树边框颜色。活动的列表/树具有键盘焦点,但非活动的则没有。","已选项在列表或树活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表/树活动时的列表/树图标前景颜色。活动的列表/树具有键盘焦点,非活动的则没有。","已选项在列表或树非活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树非活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表/树非活动时的图标前景颜色。活动的列表/树具有键盘焦点,非活动的则没有。","非活动的列表或树控件中焦点项的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","列表/数非活动时,焦点项目的列表/树边框色。活动的列表/树具有键盘焦点,非活动的没有。","使用鼠标移动项目时,列表或树的背景颜色。","鼠标在项目上悬停时,列表或树的前景颜色。","使用鼠标移动项目时,列表或树进行拖放的背景颜色。","使用鼠标在项目之间移动项时,列表/树拖放边框的颜色。","在列表或树中搜索时,其中匹配内容的高亮颜色。","在列表或树中搜索时,匹配活动聚焦项的突出显示内容的列表/树前景色。","列表或树中无效项的前景色,例如资源管理器中没有解析的根目录。","包含错误的列表项的前景颜色。","包含警告的列表项的前景颜色。","列表和树中类型筛选器小组件的背景色。","列表和树中类型筛选器小组件的轮廓颜色。","当没有匹配项时,列表和树中类型筛选器小组件的轮廓颜色。","列表和树中类型筛选器小组件的阴影颜色。","筛选后的匹配项的背景颜色。","筛选后的匹配项的边框颜色。","取消强调的项的列表/树前景色。","缩进参考线的树描边颜色。","非活动缩进参考线的树描边颜色。","列之间的表边框颜色。","奇数表行的背景色。","操作列表背景色。","操作列表前景色。","聚焦项目的操作列表前景色。","聚焦项目的操作列表背景色。"],"vs/platform/theme/common/colors/menuColors":["菜单的边框颜色。","菜单项的前景颜色。","菜单项的背景颜色。","菜单中选定菜单项的前景色。","菜单中所选菜单项的背景色。","菜单中所选菜单项的边框颜色。","菜单中分隔线的颜色。"],"vs/platform/theme/common/colors/minimapColors":["用于查找匹配项的迷你地图标记颜色。","用于重复编辑器选择的缩略图标记颜色。","编辑器选区在迷你地图中对应的标记颜色。","信息的迷你地图标记颜色。","用于警告的迷你地图标记颜色。","用于错误的迷你地图标记颜色。","迷你地图背景颜色。","在缩略图中呈现的前景元素的不透明度。例如,\\"#000000c0\\" 将呈现不透明度为 75% 的元素。","迷你地图滑块背景颜色。","悬停时,迷你地图滑块的背景颜色。","单击时,迷你地图滑块的背景颜色。"],"vs/platform/theme/common/colors/miscColors":["活动框格的边框颜色。","Badge 背景色。Badge 是小型的信息标签,如表示搜索结果数量的标签。","Badge 前景色。Badge 是小型的信息标签,如表示搜索结果数量的标签。","表示视图被滚动的滚动条阴影。","滚动条滑块背景色","滚动条滑块在悬停时的背景色","滚动条滑块在被点击时的背景色。","表示长时间操作的进度条的背景色。"],"vs/platform/theme/common/colors/quickpickColors":["背景颜色快速选取器。快速选取器小部件是选取器(如命令调色板)的容器。","前景颜色快速选取器。快速选取器小部件是命令调色板等选取器的容器。","标题背景颜色快速选取器。快速选取器小部件是命令调色板等选取器的容器。","快速选取器分组标签的颜色。","快速选取器分组边框的颜色。","请改用 quickInputList.focusBackground","焦点项目的快速选择器前景色。","焦点项目的快速选取器图标前景色。","焦点项目的快速选择器背景色。"],"vs/platform/theme/common/colors/searchColors":["搜索 Viewlet 完成消息中文本的颜色。","搜索编辑器查询匹配的颜色。","搜索编辑器查询匹配的边框颜色。"],"vs/platform/theme/common/colorUtils":["此颜色必须是透明的,否则会遮盖内容","使用默认颜色。"],"vs/platform/theme/common/iconRegistry":["要使用的字体的 ID。如果未设置,则使用最先定义的字体。","与图标定义关联的字体字符。","小组件中“关闭”操作的图标。","“转到上一个编辑器位置”图标。","“转到下一个编辑器位置”图标。"],"vs/platform/undoRedo/common/undoRedoService":["以下文件已关闭并且已在磁盘上修改: {0}。","以下文件已以不兼容的方式修改: {0}。","无法在所有文件中撤消“{0}”。{1}","无法在所有文件中撤消“{0}”。{1}","无法撤消所有文件的“{0}”,因为已更改 {1}","无法跨所有文件撤销“{0}”,因为 {1} 上已有一项撤消或重做操作正在运行","无法跨所有文件撤销“{0}”,因为同时发生了一项撤消或重做操作","是否要在所有文件中撤消“{0}”?","在 {0} 个文件中撤消(&&U)","撤消此文件(&&F)","无法撤销“{0}”,因为已有一项撤消或重做操作正在运行。","是否要撤消“{0}”?","是(&&Y)","否","无法在所有文件中重做“{0}”。{1}","无法在所有文件中重做“{0}”。{1}","无法对所有文件重做“{0}”,因为已更改 {1}","无法跨所有文件重做“{0}”,因为 {1} 上已有一项撤消或重做操作正在运行","无法跨所有文件重做“{0}”,因为同时发生了一项撤消或重做操作","无法重做“{0}”,因为已有一项撤消或重做操作正在运行。"],"vs/platform/workspace/common/workspace":["Code 工作区"]}');
|
|
53534
|
+
module.exports = /*#__PURE__*/JSON.parse('{"vs/base/browser/ui/actionbar/actionViewItems":["{0} ({1})"],"vs/base/browser/ui/findinput/findInput":["输入"],"vs/base/browser/ui/findinput/findInputToggles":["区分大小写","全字匹配","使用正则表达式"],"vs/base/browser/ui/findinput/replaceInput":["输入","保留大小写"],"vs/base/browser/ui/hover/hoverWidget":["在辅助视图中用 {0} 检查此项。","通过命令“打开辅助视图”在辅助视图中检查此项,该命令当前无法通过键绑定触发。"],"vs/base/browser/ui/inputbox/inputBox":["错误: {0}","警告: {0}","信息: {0}"," 或使用 {0} 以查看历史记录"," (使用 {0} 查看历史记录)","清除的输入"],"vs/base/browser/ui/keybindingLabel/keybindingLabel":["未绑定"],"vs/base/browser/ui/selectBox/selectBoxCustom":["选择框"],"vs/base/browser/ui/toolbar/toolbar":["更多操作..."],"vs/base/browser/ui/tree/abstractTree":["要搜索的类型","关闭","要搜索的类型","未找到任何结果。","无结果","{0} 个结果","要筛选的类型","要搜索的类型","筛选器","模糊匹配"],"vs/base/browser/ui/tree/asyncDataTree":["要筛选的类型","键入以搜索"],"vs/base/common/actions":["(空)"],"vs/base/common/errorMessage":["{0}: {1}","发生了系统错误 ({0})","出现未知错误。有关详细信息,请参阅日志。","出现未知错误。有关详细信息,请参阅日志。","{0} 个(共 {1} 个错误)","出现未知错误。有关详细信息,请参阅日志。"],"vs/base/common/keybindingLabels":["Ctrl","Shift","Alt","Windows","Ctrl","Shift","Alt","超键","Control","Shift","选项","Command","Control","Shift","Alt","Windows","Control","Shift","Alt","超键"],"vs/editor/browser/controller/editContext/native/screenReaderSupport":["编辑器"],"vs/editor/browser/controller/editContext/screenReaderUtils":["现在无法访问编辑器。","{0} 若要启用屏幕阅读器优化模式,请使用 {1}","{0} 若要启用屏幕阅读器优化模式,请使用 {1} 打开快速选取,然后运行“切换屏幕阅读器辅助功能模式”命令;当前无法通过键盘触发此命令。","{0} 请通过使用 {1} 访问键绑定编辑器并运行它,为“切换屏幕阅读器辅助功能模式”命令分配键绑定。"],"vs/editor/browser/controller/editContext/textArea/textAreaEditContext":["编辑器"],"vs/editor/browser/coreCommands":["即使转到较长的行,也一直到末尾","即使转到较长的行,也一直到末尾","已删除辅助游标"],"vs/editor/browser/editorExtensions":["撤消(&&U)","撤消","撤消","恢复(&&R)","恢复","恢复","全选(&&S)","选择全部","选择全部"],"vs/editor/browser/gpu/viewGpuContext":["使用基于 DOM 的呈现"],"vs/editor/browser/services/hoverService/hoverWidget":["按住 {0} 键将鼠标悬停"],"vs/editor/browser/services/hoverService/updatableHoverWidget":["正在加载…"],"vs/editor/browser/widget/codeEditor/codeEditorWidget":["已将光标数限制为 {0}。请考虑使用 [查找和替换](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace)进行较大的更改或增加编辑器多光标限制设置。","增加多光标限制"],"vs/editor/browser/widget/diffEditor/commands":["切换折叠未更改的区域","切换显示移动的代码块","在空间受限时切换使用内联视图","差异编辑器","切换侧面","退出比较移动","折叠所有未更改的区域","显示所有未更改的区域","还原","可访问的差异查看器","转至下一个差异","转至上一个差异"],"vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer":["可访问差异查看器中“插入”的图标。","可访问差异查看器中“删除”的图标。","可访问差异查看器中“关闭”的图标。","关闭","可访问的差异查看器。使用向上和向下箭头导航。","未更改行","更改了 1 行","更改了 {0} 行","差异 {0}/ {1}: 原始行 {2},{3},修改后的行 {4},{5}","空白","{0} 未更改的行 {1}","{0}原始行{1}修改的行{2}","+ {0}修改的行{1}","- {0}原始行{1}"],"vs/editor/browser/widget/diffEditor/components/diffEditorEditors":[" 使用 {0} 打开辅助功能帮助。"],"vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin":["复制已删除的行","复制已删除的行","复制更改的行","复制更改的行","复制已删除的行({0})","复制更改的行({0})","还原此更改"],"vs/editor/browser/widget/diffEditor/diffEditor.contribution":["空间受限时使用内联视图","显示移动的代码块","还原块","还原所选内容","打开可访问差异查看器"],"vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature":["折叠未更改的区域","{0} 个隐藏的行","单击或拖动可在上面显示更多内容","显示未更改的区域","单击或拖动可在下方显示更多内容","{0} 个隐藏的行","双击展开"],"vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature":["代码已移动至行 {0}-{1},有更改","代码已从行 {0}-{1} 移动,有更改","代码已移动到行 {0} {1}","代码已从行 {0}-{1} 移动"],"vs/editor/browser/widget/diffEditor/features/revertButtonsFeature":["还原所选更改","还原更改"],"vs/editor/browser/widget/diffEditor/registrations.contribution":["在差异编辑器中移动的文本的边框颜色。","在差异编辑器中移动的文本的活动边框颜色。","未更改区域小组件周围的阴影颜色。","差异编辑器中插入项的线条修饰。","差异编辑器中删除项的线条修饰。"],"vs/editor/browser/widget/multiDiffEditor/colors":["差异编辑器标题的背景色","多文件差异编辑器的背景色","多文件差异编辑器的边框颜色"],"vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl":["正在加载...","没有已更改的文件"],"vs/editor/common/config/editorConfigurationSchema":["编辑器","一个制表符等于的空格数。当 {0} 打开时,将根据文件内容替代此设置。","用于缩进或 `\\"tabSize\\"` 的空格数,可使用 `#editor.tabSize#` 中的值。当 `#editor.detectIndentation#` 处于打开状态时,将根据文件内容替代此设置。","按 `Tab` 时插入空格。当 {0} 打开时,将根据文件内容替代此设置。","控制在基于文件内容打开文件时是否自动检测 {0} 和 {1}。","删除自动插入的尾随空白符号。","对大型文件进行特殊处理,禁用某些内存密集型功能。","关闭基于字词的建议。","仅建议活动文档中的字词。","建议使用同一语言的所有打开的文档中的字词。","建议所有打开的文档中的字词。","控制是否应根据文档中的字词计算补全,以及从哪些文档中计算补全。","对所有颜色主题启用语义突出显示。","对所有颜色主题禁用语义突出显示。","语义突出显示是由当前颜色主题的 \\"semanticHighlighting\\" 设置配置的。","控制是否为支持它的语言显示语义突出显示。","保持速览编辑器处于打开状态,即使双击其中的内容或者点击 `Escape` 键也是如此。","由于性能原因,超过这个长度的行将不会被标记","控制是否应在 Web 辅助进程上异步进行标记化。","控制是否应记录异步词汇切分。仅用于调试。","控制是否应对旧版后台令牌化验证异步令牌化。可能会减慢令牌化速度。仅用于调试。","控制是否应启用树坐标分析和收集遥测数据。将“editor.experimental.preferTreeSitter”设置为特定语言将优先。","控制是否应为特定语言启用树坐标分析。对于指定的语言,此操作将优先于 `editor.experimental.treeSitterTelemetry`。","定义增加和减少缩进的括号。","左方括号字符或字符串序列。","右方括号字符或字符串序列。","如果启用方括号对着色,则按照其嵌套级别定义已着色的方括号对。","左方括号字符或字符串序列。","右方括号字符或字符串序列。","超时(以毫秒为单位),之后将取消差异计算。使用0表示没有超时。","要为其计算差异的最大文件大小(MB)。使用 0 表示无限制。","控制差异编辑器的显示方式是并排还是内联。","如果差异编辑器宽度小于此值,则使用内联视图。","如果启用并且编辑器宽度太小,则使用内联视图。","启用后,差异编辑器会在其字形边距中显示箭头以还原更改。","启用后,差异编辑器将显示用于还原和阶段操作的特殊装订线。","启用后,差异编辑器将忽略前导空格或尾随空格中的更改。","控制差异编辑器是否为添加/删除的更改显示 +/- 指示符号。","控制是否在编辑器中显示 CodeLens。","永不换行。","将在视区宽度处换行。","行将根据 {0} 设置进行换行。","使用旧差异算法。","使用高级差异算法。","控制差异编辑器是否显示未更改的区域。","控制用于未更改区域的行数。","控制将多少行用作未更改区域的最小值。","控制在比较未改变的区域时使用多少行作为上下文。","控制差异编辑器是否应显示检测到的代码移动。","控制差异编辑器是否显示空修饰,以查看插入或删除字符的位置。","如果已启用并且编辑器使用内联视图,则将以内联方式呈现字词更改。"],"vs/editor/common/config/editorOptions":["连接屏幕阅读器后使用平台 API 进行检测。","针对屏幕阅读器的使用进行优化。","假定未连接屏幕阅读器。","控制 UI 是否应在已针对屏幕阅读器进行优化的模式下运行。","控制在注释时是否插入空格字符。","控制在对行注释执行切换、添加或删除操作时,是否应忽略空行。","控制在没有选择内容时进行复制是否复制当前行。","控制在键入时光标是否应跳转以查找匹配项。","切勿为编辑器选择中的搜索字符串设定种子。","始终为编辑器选择中的搜索字符串设定种子,包括光标位置的字词。","仅为编辑器选择中的搜索字符串设定种子。","控制是否将编辑器选中内容作为搜索词填入到查找小组件中。","从不自动打开“在选定内容中查找”(默认)。","始终自动打开“在选定内容中查找”。","选择多行内容时,自动打开“在选定内容中查找”。","控制自动打开“在选定内容中查找”的条件。","控制“查找”小组件是否读取或修改 macOS 的共享查找剪贴板。","控制 \\"查找小部件\\" 是否应在编辑器顶部添加额外的行。如果为 true, 则可以在 \\"查找小工具\\" 可见时滚动到第一行之外。","控制在找不到其他匹配项时,是否自动从开头(或结尾)重新开始搜索。","不要存储查找小组件中的搜索历史记录。","跨活动工作区存储搜索历史记录","控制如何存储查找小组件历史记录","不要存储替换小组件的历史记录。","跨活动工作区存储替换历史记录","控制如何存储替换小组件历史记录","启用/禁用字体连字(\\"calt\\" 和 \\"liga\\" 字体特性)。将此更改为字符串,可对 \\"font-feature-settings\\" CSS 属性进行精细控制。","显式 \\"font-feature-settings\\" CSS 属性。如果只需打开/关闭连字,可以改为传递布尔值。","配置字体连字或字体特性。可以是用于启用/禁用连字的布尔值,或用于设置 CSS \\"font-feature-settings\\" 属性值的字符串。","启用/禁用从 font-weight 到 font-variation-settings 的转换。将此项更改为字符串,以便对“font-variation-settings”CSS 属性进行细化控制。","显式“font-variation-settings”CSS 属性。如果只需将 font-weight 转换为 font-variation-settings,则可以改为传递布尔值。","配置字体变体。可以是用于启用/禁用从 font-weight 到 font-variation-settings 的转换的布尔值,也可以是 CSS“font-variation-settings”属性值的字符串。","控制字体大小(像素)。","仅允许使用关键字“正常”和“加粗”,或使用介于 1 至 1000 之间的数字。","控制字体粗细。接受关键字“正常”和“加粗”,或者接受介于 1 至 1000 之间的数字。","显示结果的速览视图(默认)","转到主结果并显示速览视图","转到主结果,并对其他结果启用无速览导航","此设置已弃用,请改用单独的设置,如\\"editor.editor.gotoLocation.multipleDefinitions\\"或\\"editor.editor.gotoLocation.multipleImplementations\\"。","控制存在多个目标位置时\\"转到定义\\"命令的行为。","控制存在多个目标位置时\\"转到类型定义\\"命令的行为。","控制存在多个目标位置时\\"转到声明\\"命令的行为。","控制存在多个目标位置时\\"转到实现\\"命令的行为。","控制存在多个目标位置时\\"转到引用\\"命令的行为。","当\\"转到定义\\"的结果为当前位置时将要执行的替代命令的 ID。","当\\"转到类型定义\\"的结果是当前位置时正在执行的备用命令 ID。","当\\"转到声明\\"的结果为当前位置时将要执行的替代命令的 ID。","当\\"转到实现\\"的结果为当前位置时将要执行的替代命令的 ID。","当\\"转到引用\\"的结果是当前位置时正在执行的替代命令 ID。","控制是否显示悬停提示。","控制显示悬停提示前的等待时间 (毫秒)。","控制当鼠标移动到悬停提示上时,其是否保持可见。","控制隐藏悬停提示前的等待时间(毫秒)。需要启用“editor.hover.sticky”。","如果有空间,首选在线条上方显示悬停。","假定所有字符的宽度相同。这是一种快速算法,适用于等宽字体和某些字形宽度相等的文字(如拉丁字符)。","将换行位置计算委托给浏览器。这是一个缓慢算法,可能会导致处理大型文件过程中失去响应,但它在所有情况下都正常工作。","控制计算换行位置的算法。请注意,在辅助功能模式下,高级版将用于提供最佳体验。","禁用代码操作菜单。","当光标与代码一起排列时,显示代码操作菜单。","当光标与代码一起排列或在空的行时,显示代码操作菜单。","在编辑器中启用代码操作小灯泡提示。","在编辑器顶部的滚动过程中显示嵌套的当前作用域。","定义要显示的最大粘滞行数。","定义用于确定要粘贴的行的模型。如果大纲模型不存在,它将回退到回退到缩进模型的折叠提供程序模型上。在所有三种情况下都遵循此顺序。","使用编辑器的水平滚动条启用粘滞滚动。","在编辑器中启用内联提示。","已启用内嵌提示","默认情况下显示内嵌提示,并在按住 {0} 时隐藏","默认情况下隐藏内嵌提示,并在按住 {0} 时显示","已禁用内嵌提示","控制编辑器中嵌入提示的字号。默认情况下,当配置的值小于 {1} 或大于编辑器字号时,将使用 {0}。","控制编辑器中嵌入提示的字体系列。设置为空时,将使用 {0}。","在编辑器中启用叠加提示周围的填充。","单行内嵌提示在被编辑器截断前的最大总长度。设置为“0”以永不截断","控制行高。\\r\\n - 使用 0 根据字号自动计算行高。\\r\\n - 介于 0 和 8 之间的值将用作字号的乘数。\\r\\n - 大于或等于 8 的值将用作有效值。","控制是否显示缩略图。","控制是否自动隐藏缩略图。","迷你地图的大小与编辑器内容相同(并且可能滚动)。","迷你地图将根据需要拉伸或缩小以填充编辑器的高度(不滚动)。","迷你地图将根据需要缩小,永远不会大于编辑器(不滚动)。","控制迷你地图的大小。","控制在哪一侧显示缩略图。","控制何时显示迷你地图滑块。","在迷你地图中绘制的内容比例: 1、2 或 3。","渲染每行的实际字符,而不是色块。","限制缩略图的宽度,控制其最多显示的列数。","控制命名区域是否在缩略图中显示为节标题。","控制 MARK: 命令是否在缩略图中显示为节标题。","控制缩略图中节标题的字号。","控制节标头字符之间的空间量(以像素为单位)。这有助于提高小字体大小的标题的可读性。","控制编辑器的顶边和第一行之间的间距量。","控制编辑器的底边和最后一行之间的间距量。","在输入时显示含有参数文档和类型信息的小面板。","控制参数提示菜单在到达列表末尾时进行循环还是关闭。","快速建议显示在建议小组件内","快速建议显示为虚影文本","已禁用快速建议","在字符串内启用快速建议。","在注释内启用快速建议。","在字符串和注释外启用快速建议。","控制是否应在键入时自动显示建议。这可以用于在注释、字符串和其他代码中键入时进行控制。可配置快速建议以显示为虚影文本或使用建议小组件显示。另请注意控制建议是否由特殊字符触发的 {0} 设置。","不显示行号。","将行号显示为绝对行数。","将行号显示为与光标相隔的行数。","每 10 行显示一次行号。","控制行号的显示。","此编辑器标尺将渲染的等宽字符数。","此编辑器标尺的颜色。","在一定数量的等宽字符后显示垂直标尺。输入多个值,显示多个标尺。若数组为空,则不绘制标尺。","垂直滚动条仅在必要时可见。","垂直滚动条将始终可见。","垂直滚动条将始终隐藏。","控制垂直滚动条的可见性。","水平滚动条仅在必要时可见。","水平滚动条将始终可见。","水平滚动条将始终隐藏。","控制水平滚动条的可见性。","垂直滚动条的宽度。","水平滚动条的高度。","控制单击按页滚动还是跳转到单击位置。","设置后,水平滚动条将不会增加编辑器内容的大小。","控制是否突出显示所有非基本 ASCII 字符。只有介于 U+0020 到 U+007E 之间的字符、制表符、换行符和回车符才被视为基本 ASCII。","控制是否突出显示仅保留空格或完全没有宽度的字符。","控制是否突出显示可能与基本 ASCII 字符混淆的字符,但当前用户区域设置中常见的字符除外。","控制注释中的字符是否也应进行 Unicode 突出显示。","控制字符串中的字符是否也应进行 Unicode 突出显示。","定义未突出显示的允许字符。","未突出显示在允许区域设置中常见的 Unicode 字符。","控制是否在编辑器中自动显示内联建议。","每当显示内联建议时,显示内联建议工具栏。","将鼠标悬停在内联建议上时显示内联建议工具栏。","从不显示内联建议工具栏。","控制何时显示内联建议工具栏。","控制是否在编辑器中显示内联建议的语法突出显示。","控制内联建议如何与建议小组件交互。如果启用,当内联建议可用时,不会自动显示建议小组件。","控制内联建议的字体系列。","控制是否显示建议会将代码移动为内联建议腾出空间。","控制是否可以并排显示较大的建议。","如果有足够的空间,则较大的建议将并排显示,否则将显示其关注者。","较大的建议从不并排显示,并且将始终显示为关注。","控制是否启用括号对着色。请使用 {0} 重写括号突出显示颜色。","控制每个方括号类型是否具有自己的独立颜色池。","启用括号对参考线。","仅为活动括号对启用括号对参考线。","禁用括号对参考线。","控制是否启用括号对指南。","启用水平参考线作为垂直括号对参考线的添加项。","仅为活动括号对启用水平参考线。","禁用水平括号对参考线。","控制是否启用水平括号对指南。","控制编辑器是否应突出显示活动的括号对。","控制编辑器是否显示缩进参考线。","突出显示活动缩进参考线。","突出显示活动缩进参考线,即使突出显示了括号参考线。","不要突出显示活动缩进参考线。","控制是否突出显示编辑器中活动的缩进参考线。","插入建议而不覆盖光标右侧的文本。","插入建议并覆盖光标右侧的文本。","控制接受补全时是否覆盖单词。请注意,这取决于扩展选择使用此功能。","控制对建议的筛选和排序是否考虑小的拼写错误。","控制排序时是否首选光标附近的字词。","控制是否在多个工作区和窗口间共享记忆的建议选项(需要 `#editor.suggestSelection#`)。","自动触发 IntelliSense 时始终选择建议。","自动触发 IntelliSense 时,切勿选择建议。","仅当从触发器字符触发 IntelliSense 时,才选择建议。","仅在键入时触发 IntelliSense 时才选择建议。","控制在显示小组件时是否选择建议。请注意,这仅适用于自动触发的建议({0} 和 {1}),并且在显式调用时(例如通过 `Ctrl+Space`)始终选择建议。","控制活动代码段是否阻止快速建议。","控制是否在建议中显示或隐藏图标。","控制建议小部件底部的状态栏的可见性。","控制是否在编辑器中预览建议结果。","控制建议详细信息是随标签内联显示还是仅显示在详细信息小组件中。","此设置已弃用。现在可以调整建议小组件的大小。","此设置已弃用,请改用单独的设置,如\\"editor.suggest.showKeywords\\"或\\"editor.suggest.showSnippets\\"。","启用后,IntelliSense 将显示“方法”建议。","启用后,IntelliSense 将显示“函数”建议。","启用后,IntelliSense 将显示“构造函数”建议。","启用后,IntelliSense 将显示`已弃用`建议。","启用后,IntelliSense 筛选要求第一个字符在单词开头匹配,例如 “Console” 或 “WebContext” 上的 “c”,但 “description” 上的 _not_。禁用后,IntelliSense 将显示更多结果,但仍按匹配质量对其进行排序。","启用后,IntelliSense 将显示“字段”建议。","启用后,IntelliSense 将显示“变量”建议。","启用后,IntelliSense 将显示“类”建议。","启用后,IntelliSense 将显示“结构”建议。","启用后,IntelliSense 将显示“接口”建议。","启用后,IntelliSense 将显示“模块”建议。","启用后,IntelliSense 将显示“属性”建议。","启用后,IntelliSense 将显示“事件”建议。","启用后,IntelliSense 将显示“操作符”建议。","启用后,IntelliSense 将显示“单位”建议。","启用后,IntelliSense 将显示“值”建议。","启用后,IntelliSense 将显示“常量”建议。","启用后,IntelliSense 将显示“枚举”建议。","启用后,IntelliSense 将显示 \\"enumMember\\" 建议。","启用后,IntelliSense 将显示“关键字”建议。","启用后,IntelliSense 将显示“文本”建议。","启用后,IntelliSense 将显示“颜色”建议。","启用后,IntelliSense 将显示“文件”建议。","启用后,IntelliSense 将显示“参考”建议。","启用后,IntelliSense 将显示“自定义颜色”建议。","启用后,IntelliSense 将显示“文件夹”建议。","启用后,IntelliSense 将显示 \\"typeParameter\\" 建议。","启用后,IntelliSense 将显示“片段”建议。","启用后,IntelliSense 将显示\\"用户\\"建议。","启用后,IntelliSense 将显示\\"问题\\"建议。","是否应始终选择前导和尾随空格。","是否应选择子字(如“fooBar”或“foo_bar”中的“foo”)。","执行与字词相关的导航或操作时用于分词的区域设置。指定要识别的字词的 BCP 47 语言标记(如 ja、zh-CN、zh-Hant-TW 等)。","执行与字词相关的导航或操作时用于分词的区域设置。指定要识别的字词的 BCP 47 语言标记(如 ja、zh-CN、zh-Hant-TW 等)。","没有缩进。折行从第 1 列开始。","折行的缩进量与其父级相同。","折行的缩进量比其父级多 1。","折行的缩进量比其父级多 2。","控制折行的缩进。","控制是否可以通过按住 Shift`键将文件拖放到编辑器中(而不是在编辑器中打开该文件)。","控制将文件放入编辑器时是否显示小组件。使用此小组件可以控制文件的删除方式。","将文件放入编辑器后显示放置选择器小组件。","切勿显示放置选择器小组件。而是始终使用默认删除提供程序。","控制是否可以以不同的方式粘贴内容。","控制将内容粘贴到编辑器时是否显示小组件。使用此小组件可以控制文件的粘贴方式。","将内容粘贴到编辑器后显示粘贴选择器小组件。","切勿显示粘贴选择器小组件。而是始终使用默认粘贴行为。","控制是否应在遇到提交字符时接受建议。例如,在 JavaScript 中,半角分号 (`;`) 可以为提交字符,能够在接受建议的同时键入该字符。","仅当建议包含文本改动时才可使用 `Enter` 键进行接受。","控制除了 `Tab` 键以外, `Enter` 键是否同样可以接受建议。这能减少“插入新行”和“接受建议”命令之间的歧义。","控制编辑器中可由屏幕阅读器一次读出的行数。我们检测到屏幕阅读器时,会自动将默认值设置为 500。警告: 如果行数大于默认值,可能会影响性能。","编辑器内容","控制内联建议是否由屏幕阅读器公布。","使用语言配置确定何时自动闭合括号。","仅当光标位于空白字符左侧时,才自动闭合括号。","控制编辑器是否在左括号后自动插入右括号。","使用语言配置确定何时自动关闭注释。","仅当光标位于空格左侧时自动关闭注释。","控制在用户添加打开注释后编辑器是否应自动关闭注释。","仅在自动插入时才删除相邻的右引号或右括号。","控制在删除时编辑器是否应删除相邻的右引号或右方括号。","仅在自动插入时才改写右引号或右括号。","控制编辑器是否应改写右引号或右括号。","使用语言配置确定何时自动闭合引号。","仅当光标位于空白字符左侧时,才自动闭合引号。","控制编辑器是否在左引号后自动插入右引号。","编辑器不会自动插入缩进。","编辑器将保留当前行的缩进。","编辑器将保留当前行的缩进并遵循语言定义的括号。","编辑器将保留当前行的缩进、使用语言定义的括号并调用语言定义的特定 onEnterRules。","编辑器将保留当前行的缩进,使用语言定义的括号,调用由语言定义的特殊输入规则,并遵循由语言定义的缩进规则。","控制编辑器是否应在用户键入、粘贴、移动或缩进行时自动调整缩进。","使用语言配置确定何时自动包住所选内容。","使用引号而非括号来包住所选内容。","使用括号而非引号来包住所选内容。","控制在键入引号或方括号时,编辑器是否应自动将所选内容括起来。","在使用空格进行缩进时模拟制表符的选择行为。所选内容将始终使用制表符停止位。","控制是否在编辑器中显示 CodeLens。","控制 CodeLens 的字体系列。","控制 CodeLens 的字号(以像素为单位)。设置为 0 时,将使用 90% 的 `#editor.fontSize#`。","控制编辑器是否显示内联颜色修饰器和颜色选取器。","在颜色修饰器单击和悬停时使颜色选取器同时显示","使颜色选取器在颜色修饰器悬停时显示","单击颜色修饰器时显示颜色选取器","控制从颜色修饰器显示颜色选取器的条件。","控制可一次性在编辑器中呈现的最大颜色修饰器数。","启用使用鼠标和键进行列选择。","控制在复制时是否同时复制语法高亮。","控制光标的动画样式。","已禁用平滑脱字号动画。","仅当用户使用显式手势移动光标时,才启用平滑脱字号动画。","始终启用平滑脱字号动画。","控制是否启用平滑插入动画。","在插入输入模式下控制光标样式。","在改写输入模式中控制光标样式。","控制光标周围可见的前置行(最小值为 0)和尾随行(最小值为 1)的最小数目。在其他一些编辑器中称为 “scrollOff” 或 “scrollOffset”。","仅当通过键盘或 API 触发时,才会强制执行\\"光标环绕行\\"。","始终强制执行 \\"cursorSurroundingLines\\"","控制何时应强制执行 `#editor.cursorSurroundingLines#`。","当 `#editor.cursorStyle#` 设置为 `line` 时,控制光标的宽度。","控制在编辑器中是否允许通过拖放来移动选中内容。","设置是否应使用新的实验性编辑上下文而不是文本输入区。","使用基于 DOM 的常规呈现。","使用 GPU 加速。","控制是否使用实验性 GPU 加速来呈现编辑器。","将新的呈现方法与 svg 配合使用。","使用包含字体字符的新呈现方法。","使用稳定呈现方法。","控制是否使用新的实验性方法呈现空格。","按下\\"Alt\\"时滚动速度倍增。","控制编辑器是否启用了代码折叠。","使用特定于语言的折叠策略(如果可用),否则使用基于缩进的策略。","使用基于缩进的折叠策略。","控制计算折叠范围的策略。","控制编辑器是否应突出显示折叠范围。","控制编辑器是否自动折叠导入范围。","可折叠区域的最大数量。如果当前源具有大量可折叠区域,那么增加此值可能会导致编辑器的响应速度变慢。","控制单击已折叠的行后面的空内容是否会展开该行。","控制字体系列。","控制编辑器是否自动格式化粘贴的内容。格式化程序必须可用,并且能针对文档中的某一范围进行格式化。","控制编辑器在键入一行后是否自动格式化该行。","控制编辑器是否应呈现垂直字形边距。字形边距最常用于调试。","控制是否在概览标尺中隐藏光标。","控制字母间距(像素)。","控制编辑器是否已启用链接编辑。相关符号(如 HTML 标记)将在编辑时进行更新,具体取决于语言。","控制是否在编辑器中检测链接并使其可被点击。","突出显示匹配的括号。","对鼠标滚轮滚动事件的 `deltaX` 和 `deltaY` 乘上的系数。","按住 Cmd 键并滚动鼠标滚轮时对编辑器字体大小进行缩放。","按住 `Ctrl` 键并滚动鼠标滚轮时对编辑器字体大小进行缩放。","当多个光标重叠时进行合并。","映射为 `Ctrl` (Windows 和 Linux) 或 `Command` (macOS)。","映射为 `Alt` (Windows 和 Linux) 或 `Option` (macOS)。","用于使用鼠标添加多个游标的修饰符。“转到定义”和“打开链接”鼠标手势将进行调整,使其不与 [多光标修饰符](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier)冲突。","每个光标粘贴一行文本。","每个光标粘贴全文。","控制粘贴时粘贴文本的行计数与光标计数相匹配。","控制一次可以在活动编辑器中显示的最大游标数。","不突出显示出现次数。","仅突出显示当前文件中的出现次数。","实验性: 突出显示所有有效打开文件的出现次数。","控制是否应突出显示在打开的文件中的出现次数。","控制突出显示出现次数前的等待时间(以毫秒为单位)。","控制粘贴是否改写。","控制是否在概览标尺周围绘制边框。","打开速览时聚焦树","打开预览时将焦点放在编辑器上","控制是将焦点放在内联编辑器上还是放在预览小部件中的树上。","控制\\"转到定义\\"鼠标手势是否始终打开预览小部件。","控制显示快速建议前的等待时间 (毫秒)。","控制是否在编辑器中输入时自动重命名。","已弃用,请改用 \\"editor.linkedEditing\\"。","控制编辑器是否显示控制字符。","当文件以换行符结束时, 呈现最后一行的行号。","同时突出显示导航线和当前行。","控制编辑器的当前行进行高亮显示的方式。","控制编辑器是否仅在焦点在编辑器时突出显示当前行。","呈现空格字符(字词之间的单个空格除外)。","仅在选定文本上呈现空白字符。","仅呈现尾随空格字符。","控制编辑器在空白字符上显示符号的方式。","控制选区是否有圆角。","控制编辑器水平滚动时可以超过范围的字符数。","控制编辑器是否可以滚动到最后一行之后。","同时垂直和水平滚动时,仅沿主轴滚动。在触控板上垂直滚动时,可防止水平漂移。","控制是否支持 Linux 主剪贴板。","控制编辑器是否应突出显示与所选内容类似的匹配项。","始终显示折叠控件。","切勿显示折叠控件并减小装订线大小。","仅在鼠标位于装订线上方时显示折叠控件。","控制何时显示行号槽上的折叠控件。","控制是否淡化未使用的代码。","控制加删除线被弃用的变量。","在其他建议上方显示代码片段建议。","在其他建议下方显示代码片段建议。","在其他建议中穿插显示代码片段建议。","不显示代码片段建议。","控制代码片段是否与其他建议一起显示及其排列的位置。","控制编辑器是否使用动画滚动。","控制在显示内联完成时是否应向屏幕阅读器用户提供辅助功能提示。","建议小组件的字号。设置为 {0} 时,将使用 {1} 的值。","建议小组件的行高。设置为 {0} 时,将使用 {1} 的值。最小值为 8。","控制在键入触发字符后是否自动显示建议。","始终选择第一个建议。","选择最近的建议,除非进一步键入选择其他项。例如 `console. -> console.log`,因为最近补全过 `log`。","根据之前补全过的建议的前缀来进行选择。例如,`co -> console`、`con -> const`。","控制在建议列表中如何预先选择建议。","在按下 Tab 键时进行 Tab 补全,将插入最佳匹配建议。","禁用 Tab 补全。","在前缀匹配时进行 Tab 补全。在 \\"quickSuggestions\\" 未启用时体验最好。","启用 Tab 补全。","自动删除异常的行终止符。","忽略异常的行终止符。","提示删除异常的行终止符。","删除可能导致问题的异常行终止符。","空格和制表符的插入和删除与制表位对齐。","使用默认换行规则。","中文/日语/韩语(CJK)文本不应使用断字功能。非 CJK 文本行为与普通文本行为相同。","控制中文/日语/韩语(CJK)文本使用的断字规则。","执行单词相关的导航或操作时作为单词分隔符的字符。","永不换行。","将在视区宽度处换行。","在 `#editor.wordWrapColumn#` 处折行。","在视区宽度和 `#editor.wordWrapColumn#` 中的较小值处折行。","控制折行的方式。","在 `#editor.wordWrap#` 为 `wordWrapColumn` 或 `bounded` 时,控制编辑器的折行列。","仅当没有扩展提供颜色修饰器时才显示默认颜色修饰器。","始终显示默认颜色修饰器。","从不显示默认颜色修饰器。","控制是否应使用默认文档颜色提供程序显示内联颜色修饰。","控制编辑器是接收选项卡还是将其延迟到工作台进行导航。"],"vs/editor/common/core/editorColorRegistry":["光标所在行高亮内容的背景颜色。","光标所在行四周边框的背景颜色。","背景颜色的高亮范围,喜欢通过快速打开和查找功能。颜色必须透明,以免隐藏下面的修饰效果。","高亮区域边框的背景颜色。","高亮显示符号的背景颜色,例如转到定义或转到下一个/上一个符号。颜色必须透明,以免隐藏下面的修饰效果。","高亮显示符号周围的边框的背景颜色。","编辑器光标颜色。","编辑器光标的背景色。可以自定义块型光标覆盖字符的颜色。","存在多个游标时主要编辑器游标的颜色。","存在多个游标时主要编辑器游标的背景色。允许自定义块游标重叠的字符的颜色。","存在多个游标时辅助编辑器游标的颜色。","存在多个游标时辅助编辑器游标的背景色。允许自定义块游标重叠的字符的颜色。","编辑器中空白字符的颜色。","编辑器行号的颜色。","编辑器缩进参考线的颜色。","“editorIndentGuide.background” 已弃用。请改用 “editorIndentGuide.background1”。","编辑器活动缩进参考线的颜色。","“editorIndentGuide.activeBackground” 已弃用。请改用 “editorIndentGuide.activeBackground1”。","编辑器缩进参考线 (1) 的颜色。","编辑器缩进参考线 (2) 的颜色。","编辑器缩进参考线 (3) 的颜色。","编辑器缩进参考线 (4) 的颜色。","编辑器缩进参考线 (5) 的颜色。","编辑器缩进参考线 (6) 的颜色。","编辑器活动缩进参考线 (1) 的颜色。","编辑器活动缩进参考线 (2) 的颜色。","编辑器活动缩进参考线 (3) 的颜色。","编辑器活动缩进参考线 (4) 的颜色。","编辑器活动缩进参考线 (5) 的颜色。","编辑器活动缩进参考线 (6) 的颜色。","编辑器活动行号的颜色","\\"Id\\" 已被弃用,请改用 \\"editorLineNumber.activeForeground\\"。","编辑器活动行号的颜色","将 editor.renderFinalNewline 设置为灰色时最终编辑器行的颜色。","编辑器标尺的颜色。","编辑器 CodeLens 的前景色","匹配括号的背景色","匹配括号外框的颜色","概览标尺边框的颜色。","编辑器概述标尺的背景色。","编辑器导航线的背景色。导航线包括边缘符号和行号。","编辑器中不必要(未使用)的源代码的边框颜色。","非必须(未使用)代码的在编辑器中显示的不透明度。例如,\\"#000000c0\\" 将以 75% 的不透明度显示代码。对于高对比度主题,请使用 ”editorUnnecessaryCode.border“ 主题来为非必须代码添加下划线,以避免颜色淡化。","编辑器中虚影文本的边框颜色。","编辑器中虚影文本的前景色。","编辑器中虚影文本的背景色。","用于突出显示范围的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","概览标尺中错误标记的颜色。","概览标尺中警告标记的颜色。","概览标尺中信息标记的颜色。","括号的前景色(1)。需要启用括号对着色。","括号的前景色(2)。需要启用括号对着色。","括号的前景色(3)。需要启用括号对着色。","括号的前景色(4)。需要启用括号对着色。","括号的前景色(5)。需要启用括号对着色。","括号的前景色(6)。需要启用括号对着色。","方括号出现意外的前景色。","非活动括号对指南的背景色(1)。需要启用括号对指南。","非活动括号对指南的背景色(2)。需要启用括号对指南。","非活动括号对指南的背景色(3)。需要启用括号对指南。","非活动括号对指南的背景色(4)。需要启用括号对指南。","非活动括号对指南的背景色(5)。需要启用括号对指南。","非活动括号对指南的背景色(6)。需要启用括号对指南。","活动括号对指南的背景色(1)。需要启用括号对指南。","活动括号对指南的背景色(2)。需要启用括号对指南。","活动括号对指南的背景色(3)。需要启用括号对指南。","活动括号对指南的背景色(4)。需要启用括号对指南。","活动括号对指南的背景色(5)。需要启用括号对指南。","活动括号对指南的背景色(6)。需要启用括号对指南。","用于突出显示 Unicode 字符的边框颜色。","用于突出显示 Unicode 字符的背景颜色。"],"vs/editor/common/editorContextKeys":["编辑器文本是否具有焦点(光标是否闪烁)","编辑器或编辑器小组件是否具有焦点(例如焦点在“查找”小组件中)","编辑器或 RTF 输入是否有焦点(光标是否闪烁)","编辑器是否为只读","上下文是否为差异编辑器","上下文是否为嵌入式差异编辑器","是否折叠多差异编辑器中的所有文件","差异编辑器是否有更改","是否选择移动的代码块进行比较","可访问差异查看器是否可见","是否已到达差异编辑器并排呈现内联断点","内联模式是否处于活动状态","修改项在差异编辑器是否可写","修改项在差异编辑器是否可写","原始文档的 URI","已修改的文档的 URI","是否已启用 \\"editor.columnSelection\\"","编辑器是否已选定文本","编辑器是否有多个选择","\\"Tab\\" 是否将焦点移出编辑器","编辑器软键盘是否可见","是否聚焦编辑器悬停","是否聚焦粘性滚动","粘性滚动是否可见","独立颜色选取器是否可见","独立颜色选取器是否聚焦","该编辑器是否是更大的编辑器(例如笔记本)的一部分","编辑器的语言标识符","编辑器是否具有补全项提供程序","编辑器是否具有代码操作提供程序","编辑器是否具有 CodeLens 提供程序","编辑器是否具有定义提供程序","编辑器是否具有声明提供程序","编辑器是否具有实现提供程序","编辑器是否具有类型定义提供程序","编辑器是否具有悬停提供程序","编辑器是否具有文档突出显示提供程序","编辑器是否具有文档符号提供程序","编辑器是否具有引用提供程序","编辑器是否具有重命名提供程序","编辑器是否具有签名帮助提供程序","编辑器是否具有内联提示提供程序","编辑器是否具有文档格式设置提供程序","编辑器是否具有文档选择格式设置提供程序","编辑器是否具有多个文档格式设置提供程序","编辑器是否有多个文档选择格式设置提供程序"],"vs/editor/common/languages":["数组","布尔值","类","常数","构造函数","枚举","枚举成员","事件","字段","文件","函数","接口","键","方法","模块","命名空间","Null","数字","对象","运算符","包","属性","字符串","结构","类型参数","变量","{0} ({1})"],"vs/editor/common/languages/modesRegistry":["纯文本"],"vs/editor/common/model/editStack":["输入"],"vs/editor/common/standaloneStrings":["开发人员: 检查令牌","转到行/列...","显示所有快速访问提供程序","命令面板","显示并运行命令","转到符号...","按类别转到符号...","编辑器内容","切换高对比度主题","在 {1} 个文件中进行了 {0} 次编辑"],"vs/editor/common/viewLayout/viewLineRenderer":["显示更多({0})","{0} 字符"],"vs/editor/contrib/anchorSelect/browser/anchorSelect":["选择定位点","定位点设置为 {0}:{1}","设置选择定位点","转到选择定位点","选择从定位点到光标","取消选择定位点"],"vs/editor/contrib/bracketMatching/browser/bracketMatching":["概览标尺上表示匹配括号的标记颜色。","转到括号(&&B)","转到括号","选择括号所有内容","选择其中的文本,包括括号或大括号","删除括号"],"vs/editor/contrib/caretOperations/browser/caretOperations":["向左移动所选文本","向右移动所选文本"],"vs/editor/contrib/caretOperations/browser/transpose":["转置字母"],"vs/editor/contrib/clipboard/browser/clipboard":["剪切(&&T)","剪切","剪切","剪切","复制(&&C)","复制","复制","复制","粘贴(&&P)","粘贴","粘贴","粘贴","复制为","复制为","共享","共享","复制并突出显示语法"],"vs/editor/contrib/codeAction/browser/codeAction":["应用代码操作时发生未知错误"],"vs/editor/contrib/codeAction/browser/codeActionCommands":["要运行的代码操作的种类。","控制何时应用返回的操作。","始终应用第一个返回的代码操作。","如果仅返回的第一个代码操作,则应用该操作。","不要应用返回的代码操作。","如果只应返回首选代码操作,则应返回控件。","没有可用的代码操作","没有适用于\\"{0}\\"的首选代码操作","没有适用于\\"{0}\\"的代码操作","没有可用的首选代码操作","没有可用的代码操作","没有适用于\\"{0}\\"的首选重构","没有可用的\\"{0}\\"重构","没有可用的首选重构","没有可用的重构操作","没有适用于\\"{0}\\"的首选源操作","没有适用于“ {0}”的源操作","没有可用的首选源操作","没有可用的源代码操作","没有可用的整理 import 语句操作","没有可用的“全部修复”操作","没有可用的自动修复程序","快速修复...","重构...","源代码操作...","整理 import 语句","组织当前文件中的导入。也被一些工作称为“优化导入”","全部修复","自动修复..."],"vs/editor/contrib/codeAction/browser/codeActionContributions":["启用/禁用在代码操作菜单中显示组标头。","启用/禁用在当前未进行诊断时显示行内最近的快速修复。","当 {1} 设置为 {2} 时,启用触发 {0}。代码操作必须设置为 {3} 以便在窗口和焦点更改时触发。"],"vs/editor/contrib/codeAction/browser/codeActionController":["上下文: {0} 位于行 {1} 和列 {2}。","隐藏已禁用项","显示已禁用项"],"vs/editor/contrib/codeAction/browser/codeActionMenu":["更多操作...","快速修复","提取","内联","重写","移动","外侧代码","源代码操作"],"vs/editor/contrib/codeAction/browser/lightBulbWidget":["当编辑器中没有空间时从装订线生成代码操作菜单的图标。","当编辑器中没有空间,且快速修复可用时从装订线生成代码操作菜单的图标。","当编辑器中没有空间,且 AI 修复可用时从装订线生成代码操作菜单的图标。","当编辑器中没有空间、AI 修复和快速修复可用时从装订线生成代码操作菜单的图标。","当编辑器中没有空间、AI 修复和快速修复可用时从装订线生成代码操作菜单的图标。","运行:{0}","显示代码操作。首选可用的快速修复({0})","显示代码操作({0})","显示代码操作"],"vs/editor/contrib/codelens/browser/codelensController":["选择命令","显示当前行的 Code Lens 命令"],"vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton":["用于关闭颜色选取器的图标"],"vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader":["单击以切换颜色选项(rgb/hsl/hex)"],"vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant":["此处有颜色选取器。"],"vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions":["显示或聚焦独立颜色选取器(&&S)","显示或聚焦独立颜色选取器","显示或聚焦使用默认颜色提供程序的独立颜色选取器。它会显示 rgb/hsl/hex 颜色。","隐藏颜色选取器","隐藏独立颜色选取器。","使用独立颜色选取器插入颜色","使用聚焦的独立颜色选取器插入 hex/rgb/hsl 颜色。"],"vs/editor/contrib/comment/browser/comment":["切换行注释(&&T)","切换块注释(&&B)","切换行注释","添加行注释","删除行注释","切换块注释"],"vs/editor/contrib/contextmenu/browser/contextmenu":["缩略图","呈现字符","垂直大小","成比例","填充","适应","滑块","鼠标悬停","始终","显示编辑器上下文菜单"],"vs/editor/contrib/cursorUndo/browser/cursorUndo":["光标撤消","光标重做"],"vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution":["要尝试粘贴的粘贴编辑的类型。\\r\\n如果有多个此类编辑,编辑器将显示一个选取器。如果没有此类编辑,编辑器将显示错误消息。","要尝试应用的首选粘贴编辑类型列表。\\r\\n将应用与首选项匹配的第一个编辑。","粘贴为...","粘贴为文本"],"vs/editor/contrib/dropOrPasteInto/browser/copyPasteController":["是否显示粘贴小组件","显示粘贴选项...","空","找不到“{0}”的粘贴编辑","正在解析粘贴编辑。单击以取消","正在运行粘贴处理程序。单击可取消并进行基本粘贴","配置默认粘贴操作","选择粘贴操作","正在运行粘贴处理程序"],"vs/editor/contrib/dropOrPasteInto/browser/defaultProviders":["插入纯文本","插入 URI","插入 URI","插入路径","插入路径","插入相对路径","插入相对路径","插入 HTML"],"vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController":["是否显示放置小组件","显示放置选项...","正在运行放置处理程序。单击以取消"],"vs/editor/contrib/dropOrPasteInto/browser/postEditWidget":["解析编辑“{0}”时出错:\\r\\n{1}","应用编辑“{0}”时出错:\\r\\n{1}"],"vs/editor/contrib/editorState/browser/keybindingCancellation":["编辑器是否运行可取消的操作,例如“预览引用”"],"vs/editor/contrib/find/browser/findController":["文件太大,无法执行全部替换操作。","查找(&&F)","无匹配项。请尝试搜索其他内容。","键入数字以转到特定匹配项(介于 1 和 {0} 之间)","请键入介于 1 和 {0} 之间的数字","请键入介于 1 和 {0} 之间的数字","替换(&&R)","查找","使用参数查找","查找选定内容","查找下一个","查找上一个","转到“匹配”...","查找下一个选择","查找上一个选择","替换"],"vs/editor/contrib/find/browser/findWidget":["用于指示编辑器查找小组件已折叠的图标。","用于指示编辑器查找小组件已展开的图标。","编辑器查找小组件中的“在选定内容中查找”图标。","编辑器查找小组件中的“替换”图标。","编辑器查找小组件中的“全部替换”图标。","编辑器查找小组件中的“查找上一个”图标。","编辑器查找小组件中的“查找下一个”图标。","查找/替换","查找","查找","上一个匹配项","下一个匹配项","在选定内容中查找","关闭","替换","替换","替换","全部替换","切换替换","仅高亮了前 {0} 个结果,但所有查找操作均针对全文。","第 {0} 项,共 {1} 项","无结果","找到 {0}","为“{1}”找到 {0}","在 {2} 处找到“{1}”的 {0}","为“{1}”找到 {0}","Ctrl+Enter 现在由全部替换改为插入换行。你可以修改editor.action.replaceAll 的按键绑定以覆盖此行为。"],"vs/editor/contrib/folding/browser/folding":["展开","以递归方式展开","折叠","切换折叠","以递归方式折叠","以递归方式切换折叠","折叠所有块注释","折叠所有区域","展开所有区域","折叠除选定项以外的所有项","展开除所选区域之外的所有区域","全部折叠","全部展开","跳转到父级折叠","转到上一个折叠范围","转到下一个折叠范围","根据所选内容创建折叠范围","删除手动折叠范围","切换导入折叠","折叠级别 {0}"],"vs/editor/contrib/folding/browser/foldingDecorations":["折叠范围后面的背景颜色。颜色必须设为透明,以免隐藏底层装饰。","在折叠范围的第一行后的折叠文本的颜色。","编辑器装订线中折叠控件的颜色。","编辑器字形边距中已展开的范围的图标。","编辑器字形边距中已折叠的范围的图标。","编辑器字形边距中手动折叠的范围的图标。","编辑器字形边距中手动展开的范围的图标。","单击以展开范围。","单击以折叠范围。"],"vs/editor/contrib/fontZoom/browser/fontZoom":["增大编辑器字号","减小编辑器字号","重置编辑器字号"],"vs/editor/contrib/format/browser/formatActions":["格式化文档","格式化选定内容"],"vs/editor/contrib/gotoError/browser/gotoError":["“转到下一个”标记的图标。","“转到上一个”标记的图标。","下一个问题(&&P)","上一个问题(&&P)","转到下一个问题 (错误、警告、信息)","转到上一个问题 (错误、警告、信息)","转到文件中的下一个问题 (错误、警告、信息)","转到文件中的上一个问题 (错误、警告、信息)"],"vs/editor/contrib/gotoError/browser/gotoErrorWidget":["错误","警告","信息","提示","{1} 中的 {0}","{0} 个问题(共 {1} 个)","{0} 个问题(共 {1} 个)","编辑器标记导航小组件错误颜色。","编辑器标记导航小组件错误标题背景色。","编辑器标记导航小组件警告颜色。","编辑器标记导航小组件警告标题背景色。","编辑器标记导航小组件信息颜色。","编辑器标记导航小组件信息标题背景色。","编辑器标记导航小组件背景色。"],"vs/editor/contrib/gotoSymbol/browser/goToCommands":["快速查看","定义","未找到“{0}”的任何定义","找不到定义","转到定义(&&D)","声明","未找到“{0}”的声明","未找到声明","转到声明(&&D)","未找到“{0}”的声明","未找到声明","类型定义","未找到“{0}”的类型定义","未找到类型定义","转到类型定义(&&T)","实现","未找到“{0}”的实现","未找到实现","转到实现(&&I)","未找到\\"{0}\\"的引用","未找到引用","转到引用(&&R)","引用","引用","位置","无“{0}”的结果","引用","转到定义","打开侧边的定义","速览定义","转到声明","查看声明","转到类型定义","快速查看类型定义","转到实现","查看实现","转到引用","查看引用","转到任何符号"],"vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition":["单击显示 {0} 个定义。"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesController":["引用速览是否可见,例如“速览引用”或“速览定义”","正在加载...","{0} ({1})"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesTree":["{0} 个引用","{0} 个引用","引用"],"vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget":["无可用预览","无结果","引用"],"vs/editor/contrib/gotoSymbol/browser/referencesModel":["在列 {2} 行 {1} 的 {0} 中","在列 {3} 行 {2} 的 {1} 中的 {0}","{0} 中有 1 个符号,完整路径: {1}","{1} 中有 {0} 个符号,完整路径: {2}","未找到结果","在 {0} 中找到 1 个符号","在 {1} 中找到 {0} 个符号","在 {1} 个文件中找到 {0} 个符号"],"vs/editor/contrib/gotoSymbol/browser/symbolNavigation":["是否存在只能通过键盘导航的符号位置。","{1} 的符号 {0},下一个使用 {2}","{1} 的符号 {0}"],"vs/editor/contrib/gpu/browser/gpuActions":["记录纹理图集统计信息","保存纹理图集","绘制字形","开发人员: 调试编辑器 GPU 呈现器"],"vs/editor/contrib/hover/browser/contentHoverRendered":["这是悬停状态栏。","它有一个标签为 {0} 和键绑定为 {1} 的操作。","它有一个标签为 {0} 的操作。"],"vs/editor/contrib/hover/browser/hoverAccessibleViews":["- 使用 Increase Hover Verbosity 命令可以提高聚焦悬停部分的详细程度。","- 使用 Decrease Hover Verbosity 命令可以降低聚焦悬停部分的详细程度。"],"vs/editor/contrib/hover/browser/hoverActionIds":["提高悬停详细程度级别","降低悬停详细程度级别"],"vs/editor/contrib/hover/browser/hoverActions":["悬停不会自动获得焦点。","仅当悬停已可见时,才会获得焦点。","悬停在出现时会自动获得焦点。","显示或聚焦悬停","显示或聚焦编辑器悬停,该悬停将在当前光标位置显示符号的文档、引用和其他内容。","显示定义预览悬停","在编辑器中显示定义预览悬停。","隐藏悬停","向上滚动悬停","向上滚动编辑器悬停。","向下滚动悬停","向下滚动编辑器悬停。","向左滚动悬停","向左滚动编辑器悬停。","向右滚动悬停","向右滚动编辑器悬停。","向上翻页悬停","将编辑器悬停向上翻页。","向下翻页悬停","将编辑器悬停向下翻页。","转到顶部悬停","转到编辑器悬停的顶部。","转到底部悬停","转到编辑器悬停的底部。"],"vs/editor/contrib/hover/browser/markdownHoverParticipant":["用于提高悬停详细程度的图标。","用于降低悬停详细程度的图标。","正在加载...","由于性能原因,长线的呈现已暂停。可通过`editor.stopRenderingLineAfter`配置此设置。","出于性能原因,未对长行进行解析。解析长度阈值可通过“editor.maxTokenizationLineLength”进行配置。","提高悬停详细程度({0})","提高悬停详细程度","降低悬停详细程度({0})","降低悬停详细程度"],"vs/editor/contrib/hover/browser/markerHoverParticipant":["查看问题","没有可用的快速修复","正在检查快速修复...","没有可用的快速修复","快速修复..."],"vs/editor/contrib/indentation/browser/indentation":["已配置制表符大小","默认选项卡大小","当前选项卡大小","选择当前文件的制表符大小","将缩进转换为空格","将制表符缩进转换为空格。","将缩进转换为制表符","将空格缩进转换为制表符。","使用制表符缩进","使用制表符缩进。","使用空格缩进","使用空格缩进。","更改制表符显示大小","更改制表符的等效空间大小。","从内容中检测缩进方式","检测内容的缩进。","重新缩进行","重新设计编辑器的行缩进。","重新缩进所选行","重新设计编辑器所选行的缩进。"],"vs/editor/contrib/inlayHints/browser/inlayHintsHover":["双击以插入","cmd + 点击","ctrl + 点击","option + 点击","alt + 点击","转到定义 ({0}),点击右键以查看详细信息","转到定义({0})","执行命令"],"vs/editor/contrib/inlineCompletions/browser/controller/commands":["无内联编辑可用。","接受 Word","接受行","接受","接受","跳转","Reject","始终显示工具栏","开发人员: 提取内联建议状态","显示下一个内联建议","显示上一个内联建议","触发内联建议","触发下一个编辑建议","接受内联建议的下一个字","接受内联建议的下一行","接受内联建议","跳转到下一个内联编辑","隐藏内联建议"],"vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys":["内联建议是否可见","内联建议是否以空白开头","内联建议是否以小于选项卡插入内容的空格开头","是否应抑制当前建议","光标是否处于缩进状态","编辑器是否有选择","光标是否处于内联编辑状态","内联编辑是否可见","选项卡是否应跳转到内联编辑。","选项卡是否应接受内联编辑。","当前代码编辑器是否显示内联编辑预览"],"vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController":["在辅助视图中检查此项 ({0})"],"vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant":["此处有内联完成","建议:"],"vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget":["“显示下一个参数”提示的图标。","“显示上一个参数”提示的图标。","{0} ({1})","上一步","下一步"],"vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/gutterIndicatorMenu":["转到","接受","拒绝","设置"],"vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/gutterIndicatorView":["主要内联编辑装订线指示器的前景色。","主要内联编辑装订线指示器的背景色。","辅助内联编辑装订线指示器的前景色。","辅助内联编辑装订线指示器的背景色。","成功内联编辑装订线指示器的前景色。","成功的内联编辑装订线指示器的背景色。","内联编辑装订线指示器的背景色。","内联编辑"],"vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/indicatorView":["内联编辑指示器的前景色。","内联编辑指示器的背景色。","内联编辑指示器的边框颜色。"],"vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/sideBySideDiff":["内联编辑中原始文本的背景色。","内联编辑中已修改文本的背景色。","内联编辑的原始文本中已更改行的背景色。","内联编辑的原始文本中已更改文本的覆盖颜色。","内联编辑的修改文本中已更改行的背景色。","内联编辑的修改文本中已更改文本的覆盖颜色。","内联编辑中原始文本的边框颜色。","内联编辑中已修改文本的边框颜色。"],"vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/wordReplacementView":["内联编辑字替换视图的背景色。"],"vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace":["替换为上一个值","替换为下一个值"],"vs/editor/contrib/lineSelection/browser/lineSelection":["展开行选择"],"vs/editor/contrib/linesOperations/browser/linesOperations":["向上复制一行(&&C)","向下复制一行(&&P)","重复选择(&&D)","向上移动一行(&&V)","向下移动一行(&&L)","向上复制行","向下复制行","重复选择","向上移动行","向下移动行","按升序排列行","按降序排列行","删除重复行","裁剪尾随空格","删除行","行缩进","行减少缩进","在上面插入行","在下面插入行","删除左侧所有内容","删除右侧所有内容","合并行","转置光标处的字符","转换为大写","转换为小写","转换为词首字母大写","转换为蛇形命名法","转换为驼峰式大小写","转换为帕斯卡式大小写形式","转换为 Kebab 案例"],"vs/editor/contrib/linkedEditing/browser/linkedEditing":["编辑器根据类型自动重命名时的背景色。","启动链接编辑"],"vs/editor/contrib/links/browser/links":["此链接格式不正确,无法打开: {0}","此链接目标已丢失,无法打开。","执行命令","打开链接","cmd + 单击","ctrl + 单击","option + 单击","alt + 单击","执行命令 {0}","打开链接"],"vs/editor/contrib/message/browser/messageController":["编辑器当前是否正在显示内联消息"],"vs/editor/contrib/multicursor/browser/multicursor":["添加的光标: {0}","添加的游标: {0}","在上面添加光标(&&A)","在下面添加光标(&&D)","在行尾添加光标(&&U)","添加下一个匹配项(&&N)","添加上一个匹配项(&&R)","选择所有匹配项(&&O)","聚焦下一个光标","聚焦上一个光标","在上面添加光标","在下面添加光标","在行尾添加光标","在底部添加光标","在顶部添加光标","将下一个查找匹配项添加到选择","将选择内容添加到上一查找匹配项","将上次选择移动到下一个查找匹配项","将上个选择内容移动到上一查找匹配项","选择所有找到的查找匹配项","更改所有匹配项","聚焦下一个光标","聚焦上一个光标"],"vs/editor/contrib/parameterHints/browser/parameterHints":["触发参数提示"],"vs/editor/contrib/parameterHints/browser/parameterHintsWidget":["“显示下一个参数”提示的图标。","“显示上一个参数”提示的图标。","{0},提示","参数提示中活动项的前景色。"],"vs/editor/contrib/peekView/browser/peekView":["速览中是否嵌入了当前代码编辑器","关闭","速览视图标题区域背景颜色。","速览视图标题颜色。","速览视图标题信息颜色。","速览视图边框和箭头颜色。","速览视图结果列表背景色。","速览视图结果列表中行节点的前景色。","速览视图结果列表中文件节点的前景色。","速览视图结果列表中所选条目的背景色。","速览视图结果列表中所选条目的前景色。","速览视图编辑器背景色。","速览视图编辑器中装订线的背景色。","速览视图编辑器中粘滞滚动的背景色。","在速览视图结果列表中匹配突出显示颜色。","在速览视图编辑器中匹配突出显示颜色。","在速览视图编辑器中匹配项的突出显示边框。"],"vs/editor/contrib/placeholderText/browser/placeholderText.contribution":["编辑器中占位符文本的前景色。"],"vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess":["先打开文本编辑器然后跳转到行。","转到第 {0} 行第 {1} 个字符。","转到行 {0}。","当前行: {0},字符: {1}。键入要导航到的行号(介于 1 至 {2} 之间)。","当前行: {0},字符: {1}。 键入要导航到的行号。"],"vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess":["要转到符号,首先打开具有符号信息的文本编辑器。","活动文本编辑器不提供符号信息。","没有匹配的编辑器符号","没有编辑器符号","在侧边打开","在底部打开","符号({0})","属性({0})","方法({0})","函数({0})","构造函数 ({0})","变量({0})","类({0})","结构({0})","事件({0})","运算符({0})","接口({0})","命名空间({0})","包({0})","类型参数({0})","模块({0})","属性({0})","枚举({0})","枚举成员({0})","字符串({0})","文件({0})","数组({0})","数字({0})","布尔值({0})","对象({0})","键({0})","字段({0})","常量({0})"],"vs/editor/contrib/readOnlyMessage/browser/contribution":["无法在只读输入中编辑","无法在只读编辑器中编辑"],"vs/editor/contrib/rename/browser/rename":["无结果。","解析重命名位置时发生未知错误","正在将“{0}”重命名为“{1}”","将 {0} 重命名为 {1}","成功将“{0}”重命名为“{1}”。摘要: {2}","重命名无法应用修改","重命名无法计算修改","启用/禁用重命名之前预览更改的功能","重命名符号","聚焦下一个重命名建议","聚焦上一个重命名建议"],"vs/editor/contrib/rename/browser/renameWidget":["重命名输入小组件是否可见","是否聚焦重命名输入小组件","按 {0} 进行重命名,按 {1} 进行预览","已收到 {0} 重命名建议","重命名输入。键入新名称并按 \\"Enter\\" 提交。","生成新的名称建议","取消"],"vs/editor/contrib/smartSelect/browser/smartSelect":["扩大选区(&&E)","缩小选区(&&S)","展开选择","收起选择"],"vs/editor/contrib/snippet/browser/snippetController2":["编辑器目前是否在代码片段模式下","在代码片段模式下时是否存在下一制表位","在代码片段模式下时是否存在上一制表位","转到下一个占位符..."],"vs/editor/contrib/snippet/browser/snippetVariables":["星期天","星期一","星期二","星期三","星期四","星期五","星期六","周日","周一","周二","周三","周四","周五","周六","一月","二月","三月","四月","5月","六月","七月","八月","九月","十月","十一月","十二月","1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11 月","12月"],"vs/editor/contrib/stickyScroll/browser/stickyScrollActions":["切换编辑器粘滞滚动","粘滞滚动","粘滞滚动(&&S)","焦点编辑器粘滞滚动(&&F)","切换编辑器粘滞滚动","切换/启用编辑器粘性滚动,该滚动显示视区顶部的嵌套范围","焦点编辑器粘滞滚动","选择下一个编辑器粘性滚动行","选择上一个粘性滚动行","转到聚焦的粘性滚动行","选择编辑器"],"vs/editor/contrib/suggest/browser/suggest":["是否以任何建议为中心","建议详细信息是否可见","是否存在多条建议可供选择","插入当前建议是否会导致更改或导致已键入所有内容","按 Enter 时是否会插入建议","当前建议是否具有插入和替换行为","默认行为是否是插入或替换","当前建议是否支持解析更多详细信息"],"vs/editor/contrib/suggest/browser/suggestController":["选择“{0}”后进行了其他 {1} 次编辑","插入","插入","替换","替换","插入","显示更少","显示更多","触发建议","重置建议小组件大小"],"vs/editor/contrib/suggest/browser/suggestWidget":["建议小组件的背景色。","建议小组件的边框颜色。","建议小组件的前景色。","建议小组件中所选条目的前景色。","建议小组件中所选条目的图标前景色。","建议小组件中所选条目的背景色。","建议小组件中匹配内容的高亮颜色。","当某项获得焦点时,在建议小组件中突出显示的匹配项的颜色。","建议小组件状态的前景色。","正在加载...","无建议。","建议","{0} {1},{2}","{0} {1}","{0},{1}","{0},文档: {1}"],"vs/editor/contrib/suggest/browser/suggestWidgetDetails":["关闭","正在加载…"],"vs/editor/contrib/suggest/browser/suggestWidgetRenderer":["建议小组件中的详细信息的图标。","了解详细信息"],"vs/editor/contrib/suggest/browser/wordContextKey":["在单词结尾时为 true 的上下文键。请注意,仅在启用制表符完成时才定义此项"],"vs/editor/contrib/symbolIcons/browser/symbolIcons":["数组符号的前景色。这些符号将显示在大纲、痕迹导航栏和建议小组件中。","布尔符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","类符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","颜色符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","常量符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","构造函数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","枚举符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","枚举器成员符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","事件符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","字段符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文件符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文件夹符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","函数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","接口符号的前景色。这些符号将显示在大纲、痕迹导航栏和建议小组件中。","键符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","关键字符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","方法符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","模块符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","命名空间符号的前景颜色。这些符号出现在轮廓、痕迹导航栏和建议小部件中。","空符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","数字符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","对象符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","运算符符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","包符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","属性符号的前景色。这些符号出现在大纲、痕迹导航栏和建议小组件中。","参考符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","片段符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","字符串符号的前景颜色。这些符号出现在轮廓、痕迹导航栏和建议小部件中。","结构符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","文本符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","类型参数符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","单位符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。","变量符号的前景颜色。这些符号出现在大纲、痕迹导航栏和建议小部件中。"],"vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode":["Tab 键将移动到下一可聚焦的元素","Tab 键将插入制表符","切换 Tab 键移动焦点","确定 Tab 键是在工作台周围移动焦点,还是在当前编辑器中插入制表符。这也称为制表符补漏白、制表符导航或制表符焦点模式。"],"vs/editor/contrib/tokenization/browser/tokenization":["开发人员: 强制重新进行标记"],"vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter":["扩展编辑器中随警告消息一同显示的图标。","本文档包含许多非基本 ASCII unicode 字符","本文档包含许多不明确的 unicode 字符","本文档包含许多不可见的 unicode 字符","配置 Unicode 突出显示选项","字符 {0} 可能会与 ASCII 字符 {1} 混淆,后者在源代码中更为常见。","字符 {0} 可能会与字符 {1} 混淆,后者在源代码中更为常见。","字符 {0} 不可见。","字符 {0} 不是基本 ASCII 字符。","调整设置","禁用批注中的突出显示","禁用字符串中的突出显示","禁用不明确的突出显示","禁用不可见突出显示","禁用非 ASCII 突出显示","不突出显示 {0} (不可见字符)","在突出显示内容中排除{0}","允许语言“{0}”中更常见的 unicode 字符。","禁用批注中字符的突出显示","禁用字符串中字符的突出显示","禁止突出显示歧义字符","禁止突出显示不可见字符","禁止突出显示非基本 ASCII 字符","显示排除选项"],"vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators":["异常行终止符","检测到异常行终止符","文件“{0}”包含一个或多个异常的行终止符,例如行分隔符(LS)或段落分隔符(PS)。\\r\\n\\r\\n建议从文件中删除它们。可通过“editor.unusualLineTerminators”进行配置。","删除异常行终止符(&&R)","忽略"],"vs/editor/contrib/wordHighlighter/browser/highlightDecorations":["读取访问期间符号的背景色,例如读取变量时。颜色必须透明,以免隐藏下面的修饰效果。","写入访问过程中符号的背景色,例如写入变量时。颜色必须透明,以免隐藏下面的修饰效果。","符号在文本中出现时的背景色。颜色必须透明,以免隐藏下层的修饰。","符号在进行读取访问操作时的边框颜色,例如读取变量。","符号在进行写入访问操作时的边框颜色,例如写入变量。","符号在文本中出现时的边框颜色。","用于突出显示符号的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于突出显示写权限符号的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","符号在文本中出现时的概述标尺标记颜色。颜色必须透明,以免隐藏下层的修饰。"],"vs/editor/contrib/wordHighlighter/browser/wordHighlighter":["转到下一个突出显示的符号","转到上一个突出显示的符号","触发符号高亮"],"vs/editor/contrib/wordOperations/browser/wordOperations":["删除 Word"],"vs/platform/accessibilitySignal/browser/accessibilitySignalService":["出错位置","错误","警告位置","警告","行上的错误","行上的错误","行上的警告","行上的警告","行上的折叠区域","已折叠","行上的断点","断点","行上的内联建议","终端快速修复","快速修复","调试程序已在断点处停止","断点","行上无嵌入提示","无内嵌提示","任务已完成","任务已完成","任务失败","任务失败","终端命令失败","命令失败","终端命令成功","命令成功","终端钟","终端钟","笔记本单元格已完成","笔记本单元格已完成","笔记本单元格失败","笔记本单元格失败","已插入差异线","已删除差异行","差异行已修改","已发送聊天请求","已发送聊天请求","已收到聊天响应","已触发代码操作请求","已触发代码操作请求","已应用代码操作","进度","进度","清除","清除","保存","保存","格式","格式","语音录制已启动","语音录制已停止"],"vs/platform/action/common/actionCommonCategories":["查看","帮助","测试","文件","首选项","开发人员"],"vs/platform/actions/browser/menuEntryActionViewItem":["{0} ({1})","{0} ({1})","{0}\\r\\n[{1}] {2}","按 {1} 以 {0}","{0} ({1})"],"vs/platform/actions/browser/toolbar":["隐藏","重置菜单"],"vs/platform/actions/common/menuService":["隐藏“{0}”","配置键绑定"],"vs/platform/actionWidget/browser/actionList":["按 {0} 以应用,按 {1} 以预览","按 {0} 以应用","{0},禁用原因: {1}","操作小组件"],"vs/platform/actionWidget/browser/actionWidget":["操作栏中切换的操作项的背景色。","操作小组件列表是否可见","隐藏操作小组件","选择上一个操作","选择下一个操作","接受所选操作","预览所选操作"],"vs/platform/configuration/common/configurationRegistry":["默认语言配置替代","配置要为 {0} 语言替代的设置。","针对某种语言,配置替代编辑器设置。","此设置不支持按语言配置。","针对某种语言,配置替代编辑器设置。","此设置不支持按语言配置。","无法注册空属性","无法注册“{0}”。其符合描述特定语言编辑器设置的表达式 \\"\\\\\\\\[.*\\\\\\\\]$\\"。请使用 \\"configurationDefaults\\"。","无法注册“{0}”。此属性已注册。","无法注册 \\"{0}\\"。关联的策略 {1} 已向 {2} 注册。"],"vs/platform/contextkey/browser/contextKeyService":["用于返回上下文键的相关信息的命令"],"vs/platform/contextkey/common/contextkey":["上下文键表达式为空","忘记写入表达式了吗? 还可以放置 \\"false\\" 或 \\"true\\" 以始终分别评估为 false 或 true。","\\"not\\" 后面的 \\"in\\"。","右括号 \\")\\"","意外的令牌","忘记在令牌之前放置 && 或 || 了吗?","意外的表达式结尾","忘记放置上下文键了吗?","应为: {0}\\r\\n收到的: \\"{1}\\"。"],"vs/platform/contextkey/common/contextkeys":["操作系统是否 macOS","操作系统是否为 Linux","操作系统是否为 Windows","平台是否为 Web 浏览器","操作系统是否是非浏览器平台上的 macOS","操作系统是否为 iOS","平台是否为 Web 浏览器","VS Code 的质量类型","键盘焦点是否在输入框中"],"vs/platform/contextkey/common/scanner":["你指的是 {0} 吗?","你指的是 {0} 还是 {1}?","你指的是 {0}、{1} 还是 {2}?","忘记左引号或右引号了吗?","忘记转义 \\"/\\"(斜杠)字符了吗? 在该字符前放置两个反斜杠以进行转义,例如 \\"\\\\\\\\/\\"。"],"vs/platform/history/browser/contextScopedHistoryWidget":["建议是否可见"],"vs/platform/keybinding/common/abstractKeybindingService":["({0})已按下。正在等待按下第二个键...","已按下({0})。正在等待第二个键...","组合键({0},{1})不是命令。","组合键({0},{1})不是命令。"],"vs/platform/list/browser/listService":["工作台","映射为 `Ctrl` (Windows 和 Linux) 或 `Command` (macOS)。","映射为 `Alt` (Windows 和 Linux) 或 `Option` (macOS)。","在通过鼠标多选树和列表条目时使用的修改键 (例如“资源管理器”、“打开的编辑器”和“源代码管理”视图)。“在侧边打开”功能所需的鼠标动作 (若可用) 将会相应调整,不与多选修改键冲突。","控制如何使用鼠标打开树和列表中的项(若支持)。请注意,如果此设置不适用,某些树和列表可能会选择忽略它。","控制工作台上的列表和树是否支持水平滚动。警告: 打开此设置会影响性能。","控制在滚动条中单击时是否逐页单击。","控制树缩进(以像素为单位)。","控制树是否应呈现缩进参考线。","控制列表和树是否具有平滑滚动效果。","对鼠标滚轮滚动事件的 `deltaX` 和 `deltaY` 乘上的系数。","按下\\"Alt\\"时滚动速度倍增。","搜索时突出显示元素。进一步向上和向下导航将仅遍历突出显示的元素。","搜索时筛选元素。","控制工作台中列表和树的默认查找模式。","简单键盘导航聚焦与键盘输入相匹配的元素。仅对前缀进行匹配。","高亮键盘导航会突出显示与键盘输入相匹配的元素。进一步向上和向下导航将仅遍历突出显示的元素。","筛选器键盘导航将筛选出并隐藏与键盘输入不匹配的所有元素。","控制工作台中的列表和树的键盘导航样式。它可为“简单”、“突出显示”或“筛选”。","请改用 \\"workbench.list.defaultFindMode\\" 和 \\"workbench.list.typeNavigationMode\\"。","在搜索时使用模糊匹配。","在搜索时使用连续匹配。","控制在工作台中搜索列表和树时使用的匹配类型。","控制在单击文件夹名称时如何扩展树文件夹。请注意,如果不适用,某些树和列表可能会选择忽略此设置。","控制是否在树中启用粘性滚动。","控制启用 {0} 时树中显示的粘滞元素数。","控制类型导航在工作台的列表和树中的工作方式。如果设置为`trigger`,则在运行 `list.triggerTypeNavigation` 命令后,类型导航将开始。"],"vs/platform/markers/common/markers":["错误","警告","信息"],"vs/platform/quickinput/browser/commandsQuickAccess":["最近使用","类似命令","常用","其他命令","类似命令","{0}, {1}","命令 \\"{0}\\" 导致错误"],"vs/platform/quickinput/browser/helpQuickAccess":["{0}, {1}"],"vs/platform/quickinput/browser/quickInput":["键盘焦点是否在快速输入控件内","快速输入项的对齐方式","当前可见快速输入的类型","快速输入中的光标是否位于输入框的末尾","上一步","按 \\"Enter\\" 以确认或按 \\"Esc\\" 以取消","{0}/{1}","在此输入可缩小结果范围。","确定","{0} (按 \\"Enter\\" 以确认或按 \\"Esc\\" 以取消)"],"vs/platform/quickinput/browser/quickInputActions":["在快速选取上下文中使用。如果为此命令更改一个键绑定,则还应更改此命令的所有其他键绑定(修饰符变体)。","如果我们处于快速访问模式,这将导航到下一项。如果我们未处于快速访问模式,这将导航到下一个分隔符。","如果我们处于快速访问模式,这将导航到上一项。如果我们未处于快速访问模式,这将导航到上一个分隔符。"],"vs/platform/quickinput/browser/quickInputController":["切换所有复选框","{0} 个结果","已选 {0} 项","确定","自定义","后退 ({0})","上一步"],"vs/platform/quickinput/browser/quickInputTree":["快速输入"],"vs/platform/quickinput/browser/quickInputUtils":["单击以执行命令 \\"{0}\\""],"vs/platform/theme/common/colors/baseColors":["整体前景色。此颜色仅在不被组件覆盖时适用。","已禁用元素的整体前景色。仅在未由组件替代时才能使用此颜色。","错误信息的整体前景色。此颜色仅在不被组件覆盖时适用。","提供其他信息的说明文本的前景色,例如标签文本。","工作台中图标的默认颜色。","焦点元素的整体边框颜色。此颜色仅在不被其他组件覆盖时适用。","在元素周围额外的一层边框,用来提高对比度从而区别其他元素。","在活动元素周围额外的一层边框,用来提高对比度从而区别其他元素。","工作台所选文本的背景颜色(例如输入字段或文本区域)。注意,本设置不适用于编辑器。","文本中链接的前景色。","文本中链接在点击或鼠标悬停时的前景色 。","文字分隔符的颜色。","预格式化文本段的前景色。","预格式化文本段的背景色。","文本中块引用的背景颜色。","文本中块引用的边框颜色。","文本中代码块的背景颜色。"],"vs/platform/theme/common/colors/chartsColors":["图表中使用的前景颜色。","用于图表中的水平线条的颜色。","图表可视化效果中使用的红色。","图表可视化效果中使用的蓝色。","图表可视化效果中使用的黄色。","图表可视化效果中使用的橙色。","图表可视化效果中使用的绿色。","图表可视化效果中使用的紫色。"],"vs/platform/theme/common/colors/editorColors":["编辑器背景色。","编辑器默认前景色。","编辑器中粘滞滚动的背景色","在编辑器中悬停时粘滞滚动的背景色","编辑器中粘滞滚动的边框颜色"," 编辑器中粘滞滚动的阴影颜色","编辑器组件(如查找/替换)背景颜色。","编辑器小部件的前景色,如查找/替换。","编辑器小部件的边框颜色。此颜色仅在小部件有边框且不被小部件重写时适用。","编辑器小部件大小调整条的边框颜色。此颜色仅在小部件有调整边框且不被小部件颜色覆盖时使用。","编辑器中错误文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","编辑器中错误波浪线的前景色。","如果设置,编辑器中错误的双下划线颜色。","编辑器中警告文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","编辑器中警告波浪线的前景色。","如果设置,编辑器中警告的双下划线颜色。","编辑器中信息文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","编辑器中信息波浪线的前景色。","如果设置,编辑器中信息的双下划线颜色。","编辑器中提示波浪线的前景色。","如果设置,编辑器中提示的双下划线颜色。","活动链接颜色。","编辑器所选内容的颜色。","用以彰显高对比度的所选文本的颜色。","非活动编辑器中所选内容的颜色,颜色必须透明,以免隐藏下面的装饰效果。","具有与所选项相关内容的区域的颜色。颜色必须透明,以免隐藏下面的修饰效果。","与所选项内容相同的区域的边框颜色。","输入法组合的边框颜色。","当前搜索匹配项的颜色。","当前搜索匹配项的文本颜色。","其他搜索匹配项的颜色。颜色必须透明,以免隐藏下面的修饰效果。","其他搜索匹配项的前景色。","限制搜索范围的颜色。颜色必须透明,以免隐藏下面的修饰效果。","当前搜索匹配项的边框颜色。","其他搜索匹配项的边框颜色。","限制搜索的范围的边框颜色。颜色必须透明,以免隐藏下面的修饰效果。","在下面突出显示悬停的字词。颜色必须透明,以免隐藏下面的修饰效果。","编辑器悬停提示的背景颜色。","编辑器悬停的前景颜色。","光标悬停时编辑器的边框颜色。","编辑器悬停状态栏的背景色。","内联提示的前景色","内联提示的背景色","类型内联提示的前景色","类型内联提示的背景色","参数内联提示的前景色","参数内联提示的背景色","用于灯泡操作图标的颜色。","用于灯泡自动修复操作图标的颜色。","用于灯泡 AI 图标的颜色。","代码片段 Tab 位的高亮背景色。","代码片段 Tab 位的高亮边框颜色。","代码片段中最后的 Tab 位的高亮背景色。","代码片段中最后的制表位的高亮边框颜色。","已插入的文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","已删除的文本的背景色。颜色必须透明,以免隐藏下面的修饰效果。","已插入的行的背景色。颜色必须透明,以免隐藏下面的修饰效果。","已删除的行的背景色。颜色必须透明,以免隐藏下面的修饰效果。","插入行的边距的背景色。","删除行的边距的背景色。","插入内容的差异概述标尺前景。","删除内容的差异概述标尺前景。","插入的文本的轮廓颜色。","被删除文本的轮廓颜色。","两个文本编辑器之间的边框颜色。","差异编辑器的对角线填充颜色。对角线填充用于并排差异视图。","差异编辑器中未更改块的背景色。","差异编辑器中未更改块的前景色。","差异编辑器中未更改代码的背景色。","编辑器内小组件(如查找/替换)的阴影颜色。","编辑器内小组件(如查找/替换)的边框颜色。","使用鼠标悬停在操作上时显示工具栏背景","使用鼠标悬停在操作上时显示工具栏轮廓","将鼠标悬停在操作上时的工具栏背景","焦点导航路径的颜色","导航路径项的背景色。","焦点导航路径的颜色","已选导航路径项的颜色。","导航路径项选择器的背景色。","当前标题背景的内联合并冲突。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的当前内容背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的传入标题背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的传入内容背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的常见祖先标头背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中的常见祖先内容背景。颜色必须透明,以免隐藏下面的修饰效果。","内联合并冲突中标头和分割线的边框颜色。","内联合并冲突中当前版本区域的概览标尺前景色。","内联合并冲突中传入的版本区域的概览标尺前景色。","内联合并冲突中共同祖先区域的概览标尺前景色。","用于查找匹配项的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于突出显示所选内容的概述标尺标记颜色。颜色必须透明,以免隐藏下面的修饰效果。","用于问题错误图标的颜色。","用于问题警告图标的颜色。","用于问题信息图标的颜色。"],"vs/platform/theme/common/colors/inputColors":["输入框背景色。","输入框前景色。","输入框边框。","输入字段中已激活选项的边框颜色。","输入字段中激活选项的背景颜色。","输入字段中选项的背景悬停颜色。","输入字段中已激活的选项的前景色。","输入框中占位符的前景色。","输入验证结果为信息级别时的背景色。","输入验证结果为信息级别时的前景色。","严重性为信息时输入验证的边框颜色。","严重性为警告时输入验证的背景色。","输入验证结果为警告级别时的前景色。","严重性为警告时输入验证的边框颜色。","输入验证结果为错误级别时的背景色。","输入验证结果为错误级别时的前景色。","严重性为错误时输入验证的边框颜色。","下拉列表背景色。","下拉列表背景色。","下拉列表前景色。","下拉列表边框。","按钮前景色。","按钮分隔符颜色。","按钮背景色。","按钮在悬停时的背景颜色。","按钮边框颜色。","辅助按钮前景色。","辅助按钮背景色。","悬停时的辅助按钮背景色。","活动单选选项的前景色。","活动单选选项的背景色。","活动单选选项的边框颜色。","非活动单选选项的前景色。","非活动单选选项的背景色。","非活动单选选项的边框颜色。","悬停时非活动单选选项的背景色。","复选框小部件的背景颜色。","选择复选框小组件所在的元素时该小组件的背景色。","复选框小部件的前景色。","复选框小部件的边框颜色。","选择复选框小组件所在的元素时该小组件的边框颜色。","键绑定标签背景色。键绑定标签用于表示键盘快捷方式。","键绑定标签前景色。键绑定标签用于表示键盘快捷方式。","键绑定标签边框色。键绑定标签用于表示键盘快捷方式。","键绑定标签边框底部色。键绑定标签用于表示键盘快捷方式。"],"vs/platform/theme/common/colors/listColors":["焦点项在列表或树活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","焦点项在列表或树活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","列表/树活动时,焦点项目的列表/树边框色。活动的列表/树具有键盘焦点,非活动的没有。","当列表/树处于活动状态且已选择时,重点项的列表/树边框颜色。活动的列表/树具有键盘焦点,但非活动的则没有。","已选项在列表或树活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表/树活动时的列表/树图标前景颜色。活动的列表/树具有键盘焦点,非活动的则没有。","已选项在列表或树非活动时的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表或树非活动时的前景颜色。活动的列表或树具有键盘焦点,非活动的没有。","已选项在列表/树非活动时的图标前景颜色。活动的列表/树具有键盘焦点,非活动的则没有。","非活动的列表或树控件中焦点项的背景颜色。活动的列表或树具有键盘焦点,非活动的没有。","列表/数非活动时,焦点项目的列表/树边框色。活动的列表/树具有键盘焦点,非活动的没有。","使用鼠标移动项目时,列表或树的背景颜色。","鼠标在项目上悬停时,列表或树的前景颜色。","使用鼠标移动项目时,列表或树进行拖放的背景颜色。","使用鼠标在项目之间移动项时,列表/树拖放边框的颜色。","在列表或树中搜索时,其中匹配内容的高亮颜色。","在列表或树中搜索时,匹配活动聚焦项的突出显示内容的列表/树前景色。","列表或树中无效项的前景色,例如资源管理器中没有解析的根目录。","包含错误的列表项的前景颜色。","包含警告的列表项的前景颜色。","列表和树中类型筛选器小组件的背景色。","列表和树中类型筛选器小组件的轮廓颜色。","当没有匹配项时,列表和树中类型筛选器小组件的轮廓颜色。","列表和树中类型筛选器小组件的阴影颜色。","筛选后的匹配项的背景颜色。","筛选后的匹配项的边框颜色。","取消强调的项的列表/树前景色。","缩进参考线的树描边颜色。","非活动缩进参考线的树描边颜色。","列之间的表边框颜色。","奇数表行的背景色。","操作列表背景色。","操作列表前景色。","聚焦项目的操作列表前景色。","聚焦项目的操作列表背景色。"],"vs/platform/theme/common/colors/menuColors":["菜单的边框颜色。","菜单项的前景颜色。","菜单项的背景颜色。","菜单中选定菜单项的前景色。","菜单中所选菜单项的背景色。","菜单中所选菜单项的边框颜色。","菜单中分隔线的颜色。"],"vs/platform/theme/common/colors/minimapColors":["用于查找匹配项的迷你地图标记颜色。","用于重复编辑器选择的缩略图标记颜色。","编辑器选区在迷你地图中对应的标记颜色。","信息的迷你地图标记颜色。","用于警告的迷你地图标记颜色。","用于错误的迷你地图标记颜色。","迷你地图背景颜色。","在缩略图中呈现的前景元素的不透明度。例如,\\"#000000c0\\" 将呈现不透明度为 75% 的元素。","迷你地图滑块背景颜色。","悬停时,迷你地图滑块的背景颜色。","单击时,迷你地图滑块的背景颜色。"],"vs/platform/theme/common/colors/miscColors":["活动框格的边框颜色。","Badge 背景色。Badge 是小型的信息标签,如表示搜索结果数量的标签。","Badge 前景色。Badge 是小型的信息标签,如表示搜索结果数量的标签。","警告活动徽章的前景色","警告活动徽章的背景色","错误活动徽章的前景色","错误活动徽章的背景色","表示视图被滚动的滚动条阴影。","滚动条滑块背景色","滚动条滑块在悬停时的背景色","滚动条滑块在被点击时的背景色。","表示长时间操作的进度条的背景色。","图表的线条颜色。","图表的轴颜色。","图表的参考线。"],"vs/platform/theme/common/colors/quickpickColors":["背景颜色快速选取器。快速选取器小部件是选取器(如命令调色板)的容器。","前景颜色快速选取器。快速选取器小部件是命令调色板等选取器的容器。","标题背景颜色快速选取器。快速选取器小部件是命令调色板等选取器的容器。","快速选取器分组标签的颜色。","快速选取器分组边框的颜色。","请改用 quickInputList.focusBackground","焦点项目的快速选择器前景色。","焦点项目的快速选取器图标前景色。","焦点项目的快速选择器背景色。"],"vs/platform/theme/common/colors/searchColors":["搜索 Viewlet 完成消息中文本的颜色。","搜索编辑器查询匹配的颜色。","搜索编辑器查询匹配的边框颜色。"],"vs/platform/theme/common/colorUtils":["此颜色必须是透明的,否则会遮盖内容","使用默认颜色。"],"vs/platform/theme/common/iconRegistry":["字体 ID 只能包含字母、数字、下划线和短划线。","要使用的字体的 ID。如果未设置,则使用最先定义的字体。","与图标定义关联的字体字符。","小组件中“关闭”操作的图标。","“转到上一个编辑器位置”图标。","“转到下一个编辑器位置”图标。"],"vs/platform/undoRedo/common/undoRedoService":["以下文件已关闭并且已在磁盘上修改: {0}。","以下文件已以不兼容的方式修改: {0}。","无法在所有文件中撤消“{0}”。{1}","无法在所有文件中撤消“{0}”。{1}","无法撤消所有文件的“{0}”,因为已更改 {1}","无法跨所有文件撤销“{0}”,因为 {1} 上已有一项撤消或重做操作正在运行","无法跨所有文件撤销“{0}”,因为同时发生了一项撤消或重做操作","是否要在所有文件中撤消“{0}”?","在 {0} 个文件中撤消(&&U)","撤消此文件(&&F)","无法撤销“{0}”,因为已有一项撤消或重做操作正在运行。","是否要撤消“{0}”?","是(&&Y)","否","无法在所有文件中重做“{0}”。{1}","无法在所有文件中重做“{0}”。{1}","无法对所有文件重做“{0}”,因为已更改 {1}","无法跨所有文件重做“{0}”,因为 {1} 上已有一项撤消或重做操作正在运行","无法跨所有文件重做“{0}”,因为同时发生了一项撤消或重做操作","无法重做“{0}”,因为已有一项撤消或重做操作正在运行。"],"vs/platform/workspace/common/workspace":["Code 工作区"]}');
|
|
52411
53535
|
|
|
52412
53536
|
/***/ })
|
|
52413
53537
|
|