@codingame/monaco-vscode-api 1.69.14 → 1.69.16
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/dist/_.contribution.js +13 -0
- package/dist/configuration.d.ts +3 -2
- package/dist/configuration.js +36 -9
- package/dist/extHost.js +18 -15
- package/dist/files.js +2 -2
- package/dist/keybindings.js +2149 -11
- package/dist/languageConfiguration.js +2 -2
- package/dist/layout.contribution.darwin.js +1994 -0
- package/dist/layout.contribution.linux.js +899 -0
- package/dist/layout.contribution.win.js +3551 -0
- package/dist/missing-services.js +335 -4
- package/dist/polyfill.js +91 -1
- package/dist/snippets.js +3 -3
- package/dist/textmate.js +1 -1
- package/dist/theme.js +2 -2
- package/package.json +12 -11
package/dist/missing-services.js
CHANGED
|
@@ -6,7 +6,7 @@ import { Event } from 'monaco-editor/esm/vs/base/common/event.js';
|
|
|
6
6
|
import { ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
|
|
7
7
|
import { USLayoutResolvedKeybinding } from 'monaco-editor/esm/vs/platform/keybinding/common/usLayoutResolvedKeybinding.js';
|
|
8
8
|
import { SimpleKeybinding } from 'monaco-editor/esm/vs/base/common/keybindings.js';
|
|
9
|
-
import './polyfill.js';
|
|
9
|
+
import { p as parseTree, f as findNodeAtLocation, c as createScanner } from './polyfill.js';
|
|
10
10
|
import { generateUuid } from 'monaco-editor/esm/vs/base/common/uuid.js';
|
|
11
11
|
import { VSBuffer } from 'monaco-editor/esm/vs/base/common/buffer.js';
|
|
12
12
|
import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
|
|
@@ -385,6 +385,15 @@ class NullExtensionService {
|
|
|
385
385
|
const ILifecycleService = ( (createDecorator('lifecycleService')));
|
|
386
386
|
const ILanguageDetectionService = ( (createDecorator('ILanguageDetectionService')));
|
|
387
387
|
const IKeyboardLayoutService = ( (createDecorator('keyboardLayoutService')));
|
|
388
|
+
function getKeyboardLayoutId(layout) {
|
|
389
|
+
if (layout.name) {
|
|
390
|
+
return layout.name;
|
|
391
|
+
}
|
|
392
|
+
if (layout.id) {
|
|
393
|
+
return layout.id;
|
|
394
|
+
}
|
|
395
|
+
return layout.layout;
|
|
396
|
+
}
|
|
388
397
|
class MacLinuxFallbackKeyboardMapper {
|
|
389
398
|
constructor(OS) {
|
|
390
399
|
this._OS = OS;
|
|
@@ -435,6 +444,328 @@ async function getServiceMachineId(environmentService, fileService, storageServi
|
|
|
435
444
|
storageService?.store('storage.serviceMachineId', uuid, -1 , 1 );
|
|
436
445
|
return uuid;
|
|
437
446
|
}
|
|
447
|
+
function format(documentText, range, options) {
|
|
448
|
+
let initialIndentLevel;
|
|
449
|
+
let formatText;
|
|
450
|
+
let formatTextStart;
|
|
451
|
+
let rangeStart;
|
|
452
|
+
let rangeEnd;
|
|
453
|
+
if (range) {
|
|
454
|
+
rangeStart = range.offset;
|
|
455
|
+
rangeEnd = rangeStart + range.length;
|
|
456
|
+
formatTextStart = rangeStart;
|
|
457
|
+
while (formatTextStart > 0 && !isEOL(documentText, formatTextStart - 1)) {
|
|
458
|
+
formatTextStart--;
|
|
459
|
+
}
|
|
460
|
+
let endOffset = rangeEnd;
|
|
461
|
+
while (endOffset < documentText.length && !isEOL(documentText, endOffset)) {
|
|
462
|
+
endOffset++;
|
|
463
|
+
}
|
|
464
|
+
formatText = documentText.substring(formatTextStart, endOffset);
|
|
465
|
+
initialIndentLevel = computeIndentLevel(formatText, options);
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
formatText = documentText;
|
|
469
|
+
initialIndentLevel = 0;
|
|
470
|
+
formatTextStart = 0;
|
|
471
|
+
rangeStart = 0;
|
|
472
|
+
rangeEnd = documentText.length;
|
|
473
|
+
}
|
|
474
|
+
const eol = getEOL(options, documentText);
|
|
475
|
+
let lineBreak = false;
|
|
476
|
+
let indentLevel = 0;
|
|
477
|
+
let indentValue;
|
|
478
|
+
if (options.insertSpaces) {
|
|
479
|
+
indentValue = repeat(' ', options.tabSize || 4);
|
|
480
|
+
}
|
|
481
|
+
else {
|
|
482
|
+
indentValue = '\t';
|
|
483
|
+
}
|
|
484
|
+
const scanner = createScanner(formatText, false);
|
|
485
|
+
let hasError = false;
|
|
486
|
+
function newLineAndIndent() {
|
|
487
|
+
return eol + repeat(indentValue, initialIndentLevel + indentLevel);
|
|
488
|
+
}
|
|
489
|
+
function scanNext() {
|
|
490
|
+
let token = scanner.scan();
|
|
491
|
+
lineBreak = false;
|
|
492
|
+
while (token === 15 || token === 14 ) {
|
|
493
|
+
lineBreak = lineBreak || ((token === 14) );
|
|
494
|
+
token = scanner.scan();
|
|
495
|
+
}
|
|
496
|
+
hasError = token === 16 || scanner.getTokenError() !== 0 ;
|
|
497
|
+
return token;
|
|
498
|
+
}
|
|
499
|
+
const editOperations = [];
|
|
500
|
+
function addEdit(text, startOffset, endOffset) {
|
|
501
|
+
if (!hasError && startOffset < rangeEnd && endOffset > rangeStart && documentText.substring(startOffset, endOffset) !== text) {
|
|
502
|
+
editOperations.push({ offset: startOffset, length: endOffset - startOffset, content: text });
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
let firstToken = scanNext();
|
|
506
|
+
if (firstToken !== 17 ) {
|
|
507
|
+
const firstTokenStart = scanner.getTokenOffset() + formatTextStart;
|
|
508
|
+
const initialIndent = repeat(indentValue, initialIndentLevel);
|
|
509
|
+
addEdit(initialIndent, formatTextStart, firstTokenStart);
|
|
510
|
+
}
|
|
511
|
+
while (firstToken !== 17 ) {
|
|
512
|
+
let firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;
|
|
513
|
+
let secondToken = scanNext();
|
|
514
|
+
let replaceContent = '';
|
|
515
|
+
while (!lineBreak && ((secondToken === 12 || secondToken === 13) )) {
|
|
516
|
+
const commentTokenStart = scanner.getTokenOffset() + formatTextStart;
|
|
517
|
+
addEdit(' ', firstTokenEnd, commentTokenStart);
|
|
518
|
+
firstTokenEnd = scanner.getTokenOffset() + scanner.getTokenLength() + formatTextStart;
|
|
519
|
+
replaceContent = secondToken === 12 ? newLineAndIndent() : '';
|
|
520
|
+
secondToken = scanNext();
|
|
521
|
+
}
|
|
522
|
+
if (secondToken === 2 ) {
|
|
523
|
+
if (firstToken !== 1 ) {
|
|
524
|
+
indentLevel--;
|
|
525
|
+
replaceContent = newLineAndIndent();
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
else if (secondToken === 4 ) {
|
|
529
|
+
if (firstToken !== 3 ) {
|
|
530
|
+
indentLevel--;
|
|
531
|
+
replaceContent = newLineAndIndent();
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
switch (firstToken) {
|
|
536
|
+
case 3 :
|
|
537
|
+
case 1 :
|
|
538
|
+
indentLevel++;
|
|
539
|
+
replaceContent = newLineAndIndent();
|
|
540
|
+
break;
|
|
541
|
+
case 5 :
|
|
542
|
+
case 12 :
|
|
543
|
+
replaceContent = newLineAndIndent();
|
|
544
|
+
break;
|
|
545
|
+
case 13 :
|
|
546
|
+
if (lineBreak) {
|
|
547
|
+
replaceContent = newLineAndIndent();
|
|
548
|
+
}
|
|
549
|
+
else {
|
|
550
|
+
replaceContent = ' ';
|
|
551
|
+
}
|
|
552
|
+
break;
|
|
553
|
+
case 6 :
|
|
554
|
+
replaceContent = ' ';
|
|
555
|
+
break;
|
|
556
|
+
case 10 :
|
|
557
|
+
if (secondToken === 6 ) {
|
|
558
|
+
replaceContent = '';
|
|
559
|
+
break;
|
|
560
|
+
}
|
|
561
|
+
case 7 :
|
|
562
|
+
case 8 :
|
|
563
|
+
case 9 :
|
|
564
|
+
case 11 :
|
|
565
|
+
case 2 :
|
|
566
|
+
case 4 :
|
|
567
|
+
if (secondToken === 12 || secondToken === 13 ) {
|
|
568
|
+
replaceContent = ' ';
|
|
569
|
+
}
|
|
570
|
+
else if (secondToken !== 5 && secondToken !== 17 ) {
|
|
571
|
+
hasError = true;
|
|
572
|
+
}
|
|
573
|
+
break;
|
|
574
|
+
case 16 :
|
|
575
|
+
hasError = true;
|
|
576
|
+
break;
|
|
577
|
+
}
|
|
578
|
+
if (lineBreak && ((secondToken === 12 || secondToken === 13) )) {
|
|
579
|
+
replaceContent = newLineAndIndent();
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
const secondTokenStart = scanner.getTokenOffset() + formatTextStart;
|
|
583
|
+
addEdit(replaceContent, firstTokenEnd, secondTokenStart);
|
|
584
|
+
firstToken = secondToken;
|
|
585
|
+
}
|
|
586
|
+
return editOperations;
|
|
587
|
+
}
|
|
588
|
+
function repeat(s, count) {
|
|
589
|
+
let result = '';
|
|
590
|
+
for (let i = 0; i < count; i++) {
|
|
591
|
+
result += s;
|
|
592
|
+
}
|
|
593
|
+
return result;
|
|
594
|
+
}
|
|
595
|
+
function computeIndentLevel(content, options) {
|
|
596
|
+
let i = 0;
|
|
597
|
+
let nChars = 0;
|
|
598
|
+
const tabSize = options.tabSize || 4;
|
|
599
|
+
while (i < content.length) {
|
|
600
|
+
const ch = content.charAt(i);
|
|
601
|
+
if (ch === ' ') {
|
|
602
|
+
nChars++;
|
|
603
|
+
}
|
|
604
|
+
else if (ch === '\t') {
|
|
605
|
+
nChars += tabSize;
|
|
606
|
+
}
|
|
607
|
+
else {
|
|
608
|
+
break;
|
|
609
|
+
}
|
|
610
|
+
i++;
|
|
611
|
+
}
|
|
612
|
+
return Math.floor(nChars / tabSize);
|
|
613
|
+
}
|
|
614
|
+
function getEOL(options, text) {
|
|
615
|
+
for (let i = 0; i < text.length; i++) {
|
|
616
|
+
const ch = text.charAt(i);
|
|
617
|
+
if (ch === '\r') {
|
|
618
|
+
if (i + 1 < text.length && text.charAt(i + 1) === '\n') {
|
|
619
|
+
return '\r\n';
|
|
620
|
+
}
|
|
621
|
+
return '\r';
|
|
622
|
+
}
|
|
623
|
+
else if (ch === '\n') {
|
|
624
|
+
return '\n';
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
return (options && options.eol) || '\n';
|
|
628
|
+
}
|
|
629
|
+
function isEOL(text, offset) {
|
|
630
|
+
return '\r\n'.indexOf(text.charAt(offset)) !== -1;
|
|
631
|
+
}
|
|
632
|
+
function setProperty(text, originalPath, value, formattingOptions, getInsertionIndex) {
|
|
633
|
+
const path = originalPath.slice();
|
|
634
|
+
const errors = [];
|
|
635
|
+
const root = parseTree(text, errors);
|
|
636
|
+
let parent = undefined;
|
|
637
|
+
let lastSegment = undefined;
|
|
638
|
+
while (path.length > 0) {
|
|
639
|
+
lastSegment = path.pop();
|
|
640
|
+
parent = findNodeAtLocation(root, path);
|
|
641
|
+
if (parent === undefined && value !== undefined) {
|
|
642
|
+
if (typeof lastSegment === 'string') {
|
|
643
|
+
value = { [lastSegment]: value };
|
|
644
|
+
}
|
|
645
|
+
else {
|
|
646
|
+
value = [value];
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
break;
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
if (!parent) {
|
|
654
|
+
if (value === undefined) {
|
|
655
|
+
throw new Error('Can not delete in empty document');
|
|
656
|
+
}
|
|
657
|
+
return withFormatting(text, { offset: root ? root.offset : 0, length: root ? root.length : 0, content: JSON.stringify(value) }, formattingOptions);
|
|
658
|
+
}
|
|
659
|
+
else if (parent.type === 'object' && typeof lastSegment === 'string' && Array.isArray(parent.children)) {
|
|
660
|
+
const existing = findNodeAtLocation(parent, [lastSegment]);
|
|
661
|
+
if (existing !== undefined) {
|
|
662
|
+
if (value === undefined) {
|
|
663
|
+
if (!existing.parent) {
|
|
664
|
+
throw new Error('Malformed AST');
|
|
665
|
+
}
|
|
666
|
+
const propertyIndex = parent.children.indexOf(existing.parent);
|
|
667
|
+
let removeBegin;
|
|
668
|
+
let removeEnd = existing.parent.offset + existing.parent.length;
|
|
669
|
+
if (propertyIndex > 0) {
|
|
670
|
+
const previous = parent.children[propertyIndex - 1];
|
|
671
|
+
removeBegin = previous.offset + previous.length;
|
|
672
|
+
}
|
|
673
|
+
else {
|
|
674
|
+
removeBegin = parent.offset + 1;
|
|
675
|
+
if (parent.children.length > 1) {
|
|
676
|
+
const next = parent.children[1];
|
|
677
|
+
removeEnd = next.offset;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
return withFormatting(text, { offset: removeBegin, length: removeEnd - removeBegin, content: '' }, formattingOptions);
|
|
681
|
+
}
|
|
682
|
+
else {
|
|
683
|
+
return withFormatting(text, { offset: existing.offset, length: existing.length, content: JSON.stringify(value) }, formattingOptions);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
else {
|
|
687
|
+
if (value === undefined) {
|
|
688
|
+
return [];
|
|
689
|
+
}
|
|
690
|
+
const newProperty = `${JSON.stringify(lastSegment)}: ${JSON.stringify(value)}`;
|
|
691
|
+
const index = getInsertionIndex ? getInsertionIndex(parent.children.map(p => p.children[0].value)) : parent.children.length;
|
|
692
|
+
let edit;
|
|
693
|
+
if (index > 0) {
|
|
694
|
+
const previous = parent.children[index - 1];
|
|
695
|
+
edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };
|
|
696
|
+
}
|
|
697
|
+
else if (parent.children.length === 0) {
|
|
698
|
+
edit = { offset: parent.offset + 1, length: 0, content: newProperty };
|
|
699
|
+
}
|
|
700
|
+
else {
|
|
701
|
+
edit = { offset: parent.offset + 1, length: 0, content: newProperty + ',' };
|
|
702
|
+
}
|
|
703
|
+
return withFormatting(text, edit, formattingOptions);
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
else if (parent.type === 'array' && typeof lastSegment === 'number' && Array.isArray(parent.children)) {
|
|
707
|
+
if (value !== undefined) {
|
|
708
|
+
const newProperty = `${JSON.stringify(value)}`;
|
|
709
|
+
let edit;
|
|
710
|
+
if (parent.children.length === 0 || lastSegment === 0) {
|
|
711
|
+
edit = { offset: parent.offset + 1, length: 0, content: parent.children.length === 0 ? newProperty : newProperty + ',' };
|
|
712
|
+
}
|
|
713
|
+
else {
|
|
714
|
+
const index = lastSegment === -1 || lastSegment > parent.children.length ? parent.children.length : lastSegment;
|
|
715
|
+
const previous = parent.children[index - 1];
|
|
716
|
+
edit = { offset: previous.offset + previous.length, length: 0, content: ',' + newProperty };
|
|
717
|
+
}
|
|
718
|
+
return withFormatting(text, edit, formattingOptions);
|
|
719
|
+
}
|
|
720
|
+
else {
|
|
721
|
+
const removalIndex = lastSegment;
|
|
722
|
+
const toRemove = parent.children[removalIndex];
|
|
723
|
+
let edit;
|
|
724
|
+
if (parent.children.length === 1) {
|
|
725
|
+
edit = { offset: parent.offset + 1, length: parent.length - 2, content: '' };
|
|
726
|
+
}
|
|
727
|
+
else if (parent.children.length - 1 === removalIndex) {
|
|
728
|
+
const previous = parent.children[removalIndex - 1];
|
|
729
|
+
const offset = previous.offset + previous.length;
|
|
730
|
+
const parentEndOffset = parent.offset + parent.length;
|
|
731
|
+
edit = { offset, length: parentEndOffset - 2 - offset, content: '' };
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
edit = { offset: toRemove.offset, length: parent.children[removalIndex + 1].offset - toRemove.offset, content: '' };
|
|
735
|
+
}
|
|
736
|
+
return withFormatting(text, edit, formattingOptions);
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
else {
|
|
740
|
+
throw new Error(`Can not add ${typeof lastSegment !== 'number' ? 'index' : 'property'} to parent of type ${parent.type}`);
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
function withFormatting(text, edit, formattingOptions) {
|
|
744
|
+
let newText = applyEdit(text, edit);
|
|
745
|
+
let begin = edit.offset;
|
|
746
|
+
let end = edit.offset + edit.content.length;
|
|
747
|
+
if (edit.length === 0 || edit.content.length === 0) {
|
|
748
|
+
while (begin > 0 && !isEOL(newText, begin - 1)) {
|
|
749
|
+
begin--;
|
|
750
|
+
}
|
|
751
|
+
while (end < newText.length && !isEOL(newText, end)) {
|
|
752
|
+
end++;
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
const edits = format(newText, { offset: begin, length: end - begin }, formattingOptions);
|
|
756
|
+
for (let i = edits.length - 1; i >= 0; i--) {
|
|
757
|
+
const curr = edits[i];
|
|
758
|
+
newText = applyEdit(newText, curr);
|
|
759
|
+
begin = Math.min(begin, curr.offset);
|
|
760
|
+
end = Math.max(end, curr.offset + curr.length);
|
|
761
|
+
end += curr.content.length - curr.length;
|
|
762
|
+
}
|
|
763
|
+
const editLength = text.length - (newText.length - end) - begin;
|
|
764
|
+
return [{ offset: begin, length: editLength, content: newText.substring(begin, end) }];
|
|
765
|
+
}
|
|
766
|
+
function applyEdit(text, edit) {
|
|
767
|
+
return text.substring(0, edit.offset) + edit.content + text.substring(edit.offset + edit.length);
|
|
768
|
+
}
|
|
438
769
|
const IBrowserWorkbenchEnvironmentService = refineServiceDecorator(IEnvironmentService);
|
|
439
770
|
const allApiProposals = ( (Object.freeze({
|
|
440
771
|
authSession: 'https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts',
|
|
@@ -1564,6 +1895,8 @@ class WorkbenchEnvironmentService {
|
|
|
1564
1895
|
this.skipWelcome = true;
|
|
1565
1896
|
this.disableWorkspaceTrust = true;
|
|
1566
1897
|
this.debugRenderer = false;
|
|
1898
|
+
this.keyboardLayoutResource = ( URI.from({ scheme: 'user', path: '/keyboardLayout.json' }));
|
|
1899
|
+
this.snippetsHome = ( URI.from({ scheme: 'user', path: '/snippets' }));
|
|
1567
1900
|
this.sync = undefined;
|
|
1568
1901
|
this.isExtensionDevelopment = false;
|
|
1569
1902
|
this.disableExtensions = false;
|
|
@@ -1576,9 +1909,7 @@ class WorkbenchEnvironmentService {
|
|
|
1576
1909
|
get extHostLogsPath() { return unsupported(); }
|
|
1577
1910
|
get webviewExternalEndpoint() { return unsupported(); }
|
|
1578
1911
|
get userRoamingDataHome() { return unsupported(); }
|
|
1579
|
-
get keyboardLayoutResource() { return unsupported(); }
|
|
1580
1912
|
get argvResource() { return unsupported(); }
|
|
1581
|
-
get snippetsHome() { return ( URI.from({ scheme: 'user', path: '/snippets' })); }
|
|
1582
1913
|
get untitledWorkspacesHome() { return unsupported(); }
|
|
1583
1914
|
get globalStorageHome() { return unsupported(); }
|
|
1584
1915
|
get workspaceStorageHome() { return unsupported(); }
|
|
@@ -1828,4 +2159,4 @@ registerSingleton(ISnippetsService, class SnippetsService {
|
|
|
1828
2159
|
this.getSnippetsSync = unsupported;
|
|
1829
2160
|
}
|
|
1830
2161
|
});
|
|
1831
|
-
export { Barrier as B, ExtensionsRegistry as E, IExtensionService as I, NullPolicyService as N, ResourceQueue as R, Sequencer as S, IntervalCounter as a, ILifecycleService as b, checkProposedApiEnabled as c, ILanguageDetectionService as d, IPolicyService as e, format2 as f, getServiceMachineId as g, ExtensionMessageCollector as h, isProposedApiEnabled as i,
|
|
2162
|
+
export { Barrier as B, ExtensionsRegistry as E, IExtensionService as I, MacLinuxFallbackKeyboardMapper as M, NullPolicyService as N, ResourceQueue as R, Sequencer as S, IntervalCounter as a, ILifecycleService as b, checkProposedApiEnabled as c, ILanguageDetectionService as d, IPolicyService as e, format2 as f, getServiceMachineId as g, ExtensionMessageCollector as h, isProposedApiEnabled as i, IKeyboardLayoutService as j, IPreferencesService as k, getKeyboardLayoutId as l, IUserDataProfileService as m, ITextMateService as n, IBrowserWorkbenchEnvironmentService as o, IHostColorSchemeService as p, IUserDataInitializationService as q, raceCancellationError as r, setProperty as s, unsupported as u };
|
package/dist/polyfill.js
CHANGED
|
@@ -1306,6 +1306,96 @@ function parse(text, errors = [], options = ParseOptions.DEFAULT) {
|
|
|
1306
1306
|
visit(text, visitor, options);
|
|
1307
1307
|
return currentParent[0];
|
|
1308
1308
|
}
|
|
1309
|
+
function parseTree(text, errors = [], options = ParseOptions.DEFAULT) {
|
|
1310
|
+
let currentParent = { type: 'array', offset: -1, length: -1, children: [], parent: undefined };
|
|
1311
|
+
function ensurePropertyComplete(endOffset) {
|
|
1312
|
+
if (currentParent.type === 'property') {
|
|
1313
|
+
currentParent.length = endOffset - currentParent.offset;
|
|
1314
|
+
currentParent = currentParent.parent;
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
function onValue(valueNode) {
|
|
1318
|
+
currentParent.children.push(valueNode);
|
|
1319
|
+
return valueNode;
|
|
1320
|
+
}
|
|
1321
|
+
const visitor = {
|
|
1322
|
+
onObjectBegin: (offset) => {
|
|
1323
|
+
currentParent = onValue({ type: 'object', offset, length: -1, parent: currentParent, children: [] });
|
|
1324
|
+
},
|
|
1325
|
+
onObjectProperty: (name, offset, length) => {
|
|
1326
|
+
currentParent = onValue({ type: 'property', offset, length: -1, parent: currentParent, children: [] });
|
|
1327
|
+
currentParent.children.push({ type: 'string', value: name, offset, length, parent: currentParent });
|
|
1328
|
+
},
|
|
1329
|
+
onObjectEnd: (offset, length) => {
|
|
1330
|
+
currentParent.length = offset + length - currentParent.offset;
|
|
1331
|
+
currentParent = currentParent.parent;
|
|
1332
|
+
ensurePropertyComplete(offset + length);
|
|
1333
|
+
},
|
|
1334
|
+
onArrayBegin: (offset, length) => {
|
|
1335
|
+
currentParent = onValue({ type: 'array', offset, length: -1, parent: currentParent, children: [] });
|
|
1336
|
+
},
|
|
1337
|
+
onArrayEnd: (offset, length) => {
|
|
1338
|
+
currentParent.length = offset + length - currentParent.offset;
|
|
1339
|
+
currentParent = currentParent.parent;
|
|
1340
|
+
ensurePropertyComplete(offset + length);
|
|
1341
|
+
},
|
|
1342
|
+
onLiteralValue: (value, offset, length) => {
|
|
1343
|
+
onValue({ type: getNodeType(value), offset, length, parent: currentParent, value });
|
|
1344
|
+
ensurePropertyComplete(offset + length);
|
|
1345
|
+
},
|
|
1346
|
+
onSeparator: (sep, offset, length) => {
|
|
1347
|
+
if (currentParent.type === 'property') {
|
|
1348
|
+
if (sep === ':') {
|
|
1349
|
+
currentParent.colonOffset = offset;
|
|
1350
|
+
}
|
|
1351
|
+
else if (sep === ',') {
|
|
1352
|
+
ensurePropertyComplete(offset);
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
},
|
|
1356
|
+
onError: (error, offset, length) => {
|
|
1357
|
+
errors.push({ error, offset, length });
|
|
1358
|
+
}
|
|
1359
|
+
};
|
|
1360
|
+
visit(text, visitor, options);
|
|
1361
|
+
const result = currentParent.children[0];
|
|
1362
|
+
if (result) {
|
|
1363
|
+
delete result.parent;
|
|
1364
|
+
}
|
|
1365
|
+
return result;
|
|
1366
|
+
}
|
|
1367
|
+
function findNodeAtLocation(root, path) {
|
|
1368
|
+
if (!root) {
|
|
1369
|
+
return undefined;
|
|
1370
|
+
}
|
|
1371
|
+
let node = root;
|
|
1372
|
+
for (const segment of path) {
|
|
1373
|
+
if (typeof segment === 'string') {
|
|
1374
|
+
if (node.type !== 'object' || !Array.isArray(node.children)) {
|
|
1375
|
+
return undefined;
|
|
1376
|
+
}
|
|
1377
|
+
let found = false;
|
|
1378
|
+
for (const propertyNode of node.children) {
|
|
1379
|
+
if (Array.isArray(propertyNode.children) && propertyNode.children[0].value === segment) {
|
|
1380
|
+
node = propertyNode.children[1];
|
|
1381
|
+
found = true;
|
|
1382
|
+
break;
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1385
|
+
if (!found) {
|
|
1386
|
+
return undefined;
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
else {
|
|
1390
|
+
const index = segment;
|
|
1391
|
+
if (node.type !== 'array' || index < 0 || !Array.isArray(node.children) || index >= node.children.length) {
|
|
1392
|
+
return undefined;
|
|
1393
|
+
}
|
|
1394
|
+
node = node.children[index];
|
|
1395
|
+
}
|
|
1396
|
+
}
|
|
1397
|
+
return node;
|
|
1398
|
+
}
|
|
1309
1399
|
function visit(text, visitor, options = ParseOptions.DEFAULT) {
|
|
1310
1400
|
const _scanner = createScanner(text, false);
|
|
1311
1401
|
function toNoArgVisit(visitFunction) {
|
|
@@ -5467,4 +5557,4 @@ function toVSCodeColor(value) {
|
|
|
5467
5557
|
return value;
|
|
5468
5558
|
}
|
|
5469
5559
|
polyfillPrototype(Color$1.prototype, Color.prototype, toMonacoColor, toVSCodeColor);
|
|
5470
|
-
export { ConsoleMainLogger as C, NotImplementedError as N, ResourceSet as R, UserSettings as U,
|
|
5560
|
+
export { ConsoleMainLogger as C, NotImplementedError as N, ResourceSet as R, UserSettings as U, peekStream as a, peekReadable as b, createScanner as c, disposed as d, bufferToReadable as e, findNodeAtLocation as f, consumeStream as g, isReadableBufferedStream as h, isReadableStream as i, bufferedStreamToBuffer as j, readableToBuffer as k, listenStream as l, newWriteableStream as m, newWriteableBufferStream as n, parse as o, parseTree as p, getNodeType as q, readonly as r, streamToBuffer as s, transform as t };
|
package/dist/snippets.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { h as ExtensionMessageCollector,
|
|
1
|
+
import { o as parse, q as getNodeType } from './polyfill.js';
|
|
2
|
+
import { h as ExtensionMessageCollector, m as IUserDataProfileService, b as ILifecycleService, E as ExtensionsRegistry } from './missing-services.js';
|
|
3
3
|
import { r as ISnippetsService, S as Services, i as IFileService, h as ITextFileService } from './services2.js';
|
|
4
4
|
import { _ as __decorate, a as __param } from './workspace.js';
|
|
5
5
|
import * as monacoSuggest from 'monaco-editor/esm/vs/editor/contrib/suggest/browser/suggest.js';
|
|
@@ -13,7 +13,7 @@ import { SnippetParser, Placeholder, Variable, Text } from 'monaco-editor/esm/vs
|
|
|
13
13
|
import { tail, insertInto } from 'monaco-editor/esm/vs/base/common/arrays.js';
|
|
14
14
|
import { KnownSnippetVariableNames } from 'monaco-editor/esm/vs/editor/contrib/snippet/browser/snippetVariables.js';
|
|
15
15
|
import { l as languagesExtPoint } from './languageService.js';
|
|
16
|
-
import { bd as DEFAULT_EXTENSION,
|
|
16
|
+
import { bd as DEFAULT_EXTENSION, bl as Range$2 } from './extHost.js';
|
|
17
17
|
import { CommandsRegistry } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
|
|
18
18
|
import { getWordAtText } from 'monaco-editor/esm/vs/editor/common/core/wordHelper.js';
|
|
19
19
|
import { isPatternInWord } from 'monaco-editor/esm/vs/base/common/filters.js';
|
package/dist/textmate.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _ as __decorate, a as __param, E as Emitter } from './workspace.js';
|
|
2
2
|
import './polyfill.js';
|
|
3
|
-
import { h as ExtensionMessageCollector,
|
|
3
|
+
import { h as ExtensionMessageCollector, n as ITextMateService, E as ExtensionsRegistry } from './missing-services.js';
|
|
4
4
|
import { l as languagesExtPoint } from './languageService.js';
|
|
5
5
|
import { localize } from 'monaco-editor/esm/vs/nls.js';
|
|
6
6
|
import { I as IWorkbenchThemeService } from './workbenchThemeService.js';
|
package/dist/theme.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { E as ExtensionsRegistry, h as ExtensionMessageCollector, S as Sequencer, I as IExtensionService,
|
|
1
|
+
import { o as parse$1, q as getNodeType } from './polyfill.js';
|
|
2
|
+
import { E as ExtensionsRegistry, h as ExtensionMessageCollector, S as Sequencer, I as IExtensionService, o as IBrowserWorkbenchEnvironmentService, p as IHostColorSchemeService, q as IUserDataInitializationService } from './missing-services.js';
|
|
3
3
|
import { E as Emitter, _ as __decorate, a as __param } from './workspace.js';
|
|
4
4
|
import { T as ThemeSettings, E as ExtensionData, V as VS_DARK_THEME, a as VS_LIGHT_THEME, b as VS_HC_THEME, c as VS_HC_LIGHT_THEME, d as THEME_SCOPE_OPEN_PAREN, e as THEME_SCOPE_CLOSE_PAREN, f as THEME_SCOPE_WILDCARD, t as themeScopeRegex } from './workbenchThemeService.js';
|
|
5
5
|
import { editorBackground, editorForeground, editorSelectionBackground, editorInactiveSelection, editorSelectionHighlight, editorFindMatchHighlight, editorFindMatch, editorHoverHighlight, editorFindRangeHighlight, workbenchColorsSchemaId, asCssVariableName, Extensions as Extensions$2 } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codingame/monaco-vscode-api",
|
|
3
|
-
"version": "1.69.
|
|
3
|
+
"version": "1.69.16",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "VSCode public API plugged on the monaco editor",
|
|
6
6
|
"keywords": [],
|
|
@@ -143,21 +143,22 @@
|
|
|
143
143
|
"devDependencies": {
|
|
144
144
|
"@babel/core": "^7.20.12",
|
|
145
145
|
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
146
|
-
"@babel/plugin-proposal-decorators": "^7.20.
|
|
146
|
+
"@babel/plugin-proposal-decorators": "^7.20.13",
|
|
147
147
|
"@babel/preset-env": "^7.20.2",
|
|
148
148
|
"@babel/preset-typescript": "^7.18.6",
|
|
149
149
|
"@codingame/eslint-config": "^1.1.6",
|
|
150
150
|
"@codingame/tsconfig": "^1.1.1",
|
|
151
|
-
"@octokit/rest": "^19.0.
|
|
151
|
+
"@octokit/rest": "^19.0.7",
|
|
152
|
+
"@rollup/plugin-dynamic-import-vars": "^2.0.3",
|
|
152
153
|
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
153
154
|
"@rollup/plugin-replace": "^5.0.2",
|
|
154
155
|
"@rollup/plugin-typescript": "^11.0.0",
|
|
155
156
|
"@types/babel__core": "^7.20.0",
|
|
156
157
|
"@types/semver": "^7.3.13",
|
|
157
158
|
"@types/vscode": "~1.69.1",
|
|
158
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
159
|
-
"@typescript-eslint/parser": "^5.
|
|
160
|
-
"eslint": "^8.
|
|
159
|
+
"@typescript-eslint/eslint-plugin": "^5.50.0",
|
|
160
|
+
"@typescript-eslint/parser": "^5.50.0",
|
|
161
|
+
"eslint": "^8.33.0",
|
|
161
162
|
"eslint-config-standard": "^17.0.0",
|
|
162
163
|
"eslint-plugin-import": "^2.27.5",
|
|
163
164
|
"eslint-plugin-n": "^15.6.1",
|
|
@@ -165,23 +166,23 @@
|
|
|
165
166
|
"eslint-plugin-unused-imports": "^2.0.0",
|
|
166
167
|
"js-cleanup": "^1.2.0",
|
|
167
168
|
"recast": "^0.22.0",
|
|
168
|
-
"rollup": "^3.
|
|
169
|
+
"rollup": "^3.12.1",
|
|
169
170
|
"rollup-plugin-dts": "^5.1.1",
|
|
170
171
|
"rollup-plugin-styles": "^4.0.0",
|
|
171
172
|
"semver": "^7.3.8",
|
|
172
173
|
"ts-node": "^10.9.1",
|
|
173
|
-
"typescript": "^4.9.
|
|
174
|
+
"typescript": "^4.9.5",
|
|
174
175
|
"zx": "^7.1.1"
|
|
175
176
|
},
|
|
176
177
|
"dependencies": {},
|
|
177
178
|
"peerDependencies": {
|
|
178
179
|
"monaco-editor": "~0.34.0",
|
|
179
|
-
"vscode-
|
|
180
|
-
"vscode-
|
|
180
|
+
"vscode-oniguruma": "^1.6.2",
|
|
181
|
+
"vscode-textmate": "^7.0.1"
|
|
181
182
|
},
|
|
182
183
|
"overrides": {
|
|
183
184
|
"rollup-plugin-styles": {
|
|
184
|
-
"rollup": "3.
|
|
185
|
+
"rollup": "3.12.1"
|
|
185
186
|
}
|
|
186
187
|
},
|
|
187
188
|
"volta": {
|