monaco-editor-core 0.56.0-dev-20251219 → 0.56.0-dev-20251220

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.
Files changed (189) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +2 -2
  3. package/esm/nls.messages.de.js +2 -2
  4. package/esm/nls.messages.es.js +2 -2
  5. package/esm/nls.messages.fr.js +2 -2
  6. package/esm/nls.messages.it.js +2 -2
  7. package/esm/nls.messages.ja.js +2 -2
  8. package/esm/nls.messages.js +1 -1
  9. package/esm/nls.messages.json +1 -1
  10. package/esm/nls.messages.ko.js +2 -2
  11. package/esm/nls.messages.pl.js +2 -2
  12. package/esm/nls.messages.pt-br.js +2 -2
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +2 -2
  15. package/esm/nls.messages.zh-cn.js +2 -2
  16. package/esm/nls.messages.zh-tw.js +2 -2
  17. package/esm/nls.metadata.json +0 -2
  18. package/esm/vs/editor/common/core/editorColorRegistry.js +33 -34
  19. package/esm/vs/editor/common/core/editorColorRegistry.js.map +1 -1
  20. package/esm/vs/editor/common/editorContextKeys.js +47 -47
  21. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  22. package/esm/vs/editor/common/languages.js +56 -56
  23. package/esm/vs/editor/common/model/editStack.js +1 -1
  24. package/esm/vs/editor/common/standaloneStrings.js +11 -11
  25. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  26. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  27. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +9 -18
  28. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js.map +1 -1
  29. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  30. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  31. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  32. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  33. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  34. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  35. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  36. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  37. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  38. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  39. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  40. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  41. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  42. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  43. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  44. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  45. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  46. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  47. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  48. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  49. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  50. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  51. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  52. package/esm/vs/editor/contrib/find/browser/findController.js +16 -16
  53. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  54. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  55. package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
  56. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  57. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  58. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  59. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  60. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  61. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  62. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  63. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  64. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  65. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  66. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  67. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  68. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  69. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  70. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  71. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  72. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  73. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  74. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  75. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  76. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  77. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  78. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  79. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +1 -1
  80. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  81. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  82. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +2 -1
  83. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  84. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +2 -2
  85. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  86. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +7 -7
  87. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  88. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  89. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
  90. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +13 -11
  91. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  92. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +5 -7
  93. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js.map +1 -1
  94. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +6 -5
  95. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js.map +1 -1
  96. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +6 -5
  97. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js.map +1 -1
  98. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +9 -7
  99. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js.map +1 -1
  100. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +14 -9
  101. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js.map +1 -1
  102. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +12 -10
  103. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js.map +1 -1
  104. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +5 -4
  105. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -1
  106. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +2 -1
  107. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js.map +1 -1
  108. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +40 -21
  109. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js.map +1 -1
  110. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  111. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  112. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  113. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  114. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  115. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  116. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  117. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  118. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  119. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  120. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  121. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +11 -11
  122. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  123. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  124. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  125. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  126. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  127. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  128. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  129. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  130. package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  131. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
  132. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  133. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  134. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  135. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  136. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  137. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  138. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  139. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  140. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  141. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  142. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  143. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  144. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  145. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  146. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  147. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  148. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  149. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  150. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  151. package/esm/vs/platform/actions/common/menuService.js +2 -2
  152. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  153. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  154. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  155. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  156. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  157. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  158. package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
  159. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  160. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  161. package/esm/vs/platform/list/browser/listService.js +27 -27
  162. package/esm/vs/platform/markers/common/markerService.js +2 -2
  163. package/esm/vs/platform/markers/common/markers.js +6 -6
  164. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
  165. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  166. package/esm/vs/platform/quickinput/browser/quickInput.js +13 -47
  167. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  168. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  169. package/esm/vs/platform/quickinput/browser/quickInputController.js +7 -6
  170. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  171. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  172. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  173. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  174. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  175. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  176. package/esm/vs/platform/theme/common/colors/baseColors.js +18 -18
  177. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  178. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  179. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  180. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  181. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  182. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  183. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  184. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  185. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  186. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  187. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  188. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  189. package/package.json +2 -2
@@ -5,37 +5,37 @@
5
5
  import * as nls from '../../nls.js';
6
6
  export var InspectTokensNLS;
7
7
  (function (InspectTokensNLS) {
8
- InspectTokensNLS.inspectTokensAction = nls.localize(793, "Developer: Inspect Tokens");
8
+ InspectTokensNLS.inspectTokensAction = nls.localize(792, "Developer: Inspect Tokens");
9
9
  })(InspectTokensNLS || (InspectTokensNLS = {}));
10
10
  export var GoToLineNLS;
11
11
  (function (GoToLineNLS) {
12
- GoToLineNLS.gotoLineActionLabel = nls.localize(794, "Go to Line/Column...");
13
- GoToLineNLS.gotoOffsetActionLabel = nls.localize(795, "Go to Offset...");
12
+ GoToLineNLS.gotoLineActionLabel = nls.localize(793, "Go to Line/Column...");
13
+ GoToLineNLS.gotoOffsetActionLabel = nls.localize(794, "Go to Offset...");
14
14
  })(GoToLineNLS || (GoToLineNLS = {}));
15
15
  export var QuickHelpNLS;
16
16
  (function (QuickHelpNLS) {
17
- QuickHelpNLS.helpQuickAccessActionLabel = nls.localize(796, "Show all Quick Access Providers");
17
+ QuickHelpNLS.helpQuickAccessActionLabel = nls.localize(795, "Show all Quick Access Providers");
18
18
  })(QuickHelpNLS || (QuickHelpNLS = {}));
19
19
  export var QuickCommandNLS;
20
20
  (function (QuickCommandNLS) {
21
- QuickCommandNLS.quickCommandActionLabel = nls.localize(797, "Command Palette");
22
- QuickCommandNLS.quickCommandHelp = nls.localize(798, "Show And Run Commands");
21
+ QuickCommandNLS.quickCommandActionLabel = nls.localize(796, "Command Palette");
22
+ QuickCommandNLS.quickCommandHelp = nls.localize(797, "Show And Run Commands");
23
23
  })(QuickCommandNLS || (QuickCommandNLS = {}));
24
24
  export var QuickOutlineNLS;
25
25
  (function (QuickOutlineNLS) {
26
- QuickOutlineNLS.quickOutlineActionLabel = nls.localize(799, "Go to Symbol...");
27
- QuickOutlineNLS.quickOutlineByCategoryActionLabel = nls.localize(800, "Go to Symbol by Category...");
26
+ QuickOutlineNLS.quickOutlineActionLabel = nls.localize(798, "Go to Symbol...");
27
+ QuickOutlineNLS.quickOutlineByCategoryActionLabel = nls.localize(799, "Go to Symbol by Category...");
28
28
  })(QuickOutlineNLS || (QuickOutlineNLS = {}));
29
29
  export var StandaloneCodeEditorNLS;
30
30
  (function (StandaloneCodeEditorNLS) {
31
- StandaloneCodeEditorNLS.editorViewAccessibleLabel = nls.localize(801, "Editor content");
31
+ StandaloneCodeEditorNLS.editorViewAccessibleLabel = nls.localize(800, "Editor content");
32
32
  })(StandaloneCodeEditorNLS || (StandaloneCodeEditorNLS = {}));
33
33
  export var ToggleHighContrastNLS;
34
34
  (function (ToggleHighContrastNLS) {
35
- ToggleHighContrastNLS.toggleHighContrast = nls.localize(802, "Toggle High Contrast Theme");
35
+ ToggleHighContrastNLS.toggleHighContrast = nls.localize(801, "Toggle High Contrast Theme");
36
36
  })(ToggleHighContrastNLS || (ToggleHighContrastNLS = {}));
37
37
  export var StandaloneServicesNLS;
38
38
  (function (StandaloneServicesNLS) {
39
- StandaloneServicesNLS.bulkEditServiceSummary = nls.localize(803, "Made {0} edits in {1} files");
39
+ StandaloneServicesNLS.bulkEditServiceSummary = nls.localize(802, "Made {0} edits in {1} files");
40
40
  })(StandaloneServicesNLS || (StandaloneServicesNLS = {}));
41
41
  //# sourceMappingURL=standaloneStrings.js.map
@@ -925,7 +925,7 @@ function _renderLine(input, sb) {
925
925
  }
926
926
  if (isOverflowing) {
927
927
  sb.appendString('<span class="mtkoverflow">');
928
- sb.appendString(nls.localize(804, "Show more ({0})", renderOverflowingCharCount(overflowingCharCount)));
928
+ sb.appendString(nls.localize(803, "Show more ({0})", renderOverflowingCharCount(overflowingCharCount)));
929
929
  sb.appendString('</span>');
930
930
  }
931
931
  sb.appendString('</span>');
@@ -936,7 +936,7 @@ function to4CharHex(n) {
936
936
  }
937
937
  function renderOverflowingCharCount(n) {
938
938
  if (n < 1024) {
939
- return nls.localize(805, "{0} chars", n);
939
+ return nls.localize(804, "{0} chars", n);
940
940
  }
941
941
  if (n < 1024 * 1024) {
942
942
  return `${(n / 1024).toFixed(1)} KB`;
@@ -43,12 +43,12 @@ let SelectionAnchorController = class SelectionAnchorController {
43
43
  this.decorationId = accessor.addDecoration(Selection.fromPositions(position, position), {
44
44
  description: 'selection-anchor',
45
45
  stickiness: 1 /* TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges */,
46
- hoverMessage: new MarkdownString().appendText(localize(806, "Selection Anchor")),
46
+ hoverMessage: new MarkdownString().appendText(localize(805, "Selection Anchor")),
47
47
  className: 'selection-anchor'
48
48
  });
49
49
  });
50
50
  this.selectionAnchorSetContextKey.set(!!this.decorationId);
51
- alert(localize(807, "Anchor set at {0}:{1}", position.lineNumber, position.column));
51
+ alert(localize(806, "Anchor set at {0}:{1}", position.lineNumber, position.column));
52
52
  }
53
53
  }
54
54
  goToSelectionAnchor() {
@@ -91,7 +91,7 @@ class SetSelectionAnchor extends EditorAction {
91
91
  constructor() {
92
92
  super({
93
93
  id: 'editor.action.setSelectionAnchor',
94
- label: localize2(808, "Set Selection Anchor"),
94
+ label: localize2(807, "Set Selection Anchor"),
95
95
  precondition: undefined,
96
96
  kbOpts: {
97
97
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -108,7 +108,7 @@ class GoToSelectionAnchor extends EditorAction {
108
108
  constructor() {
109
109
  super({
110
110
  id: 'editor.action.goToSelectionAnchor',
111
- label: localize2(809, "Go to Selection Anchor"),
111
+ label: localize2(808, "Go to Selection Anchor"),
112
112
  precondition: SelectionAnchorSet,
113
113
  });
114
114
  }
@@ -120,7 +120,7 @@ class SelectFromAnchorToCursor extends EditorAction {
120
120
  constructor() {
121
121
  super({
122
122
  id: 'editor.action.selectFromAnchorToCursor',
123
- label: localize2(810, "Select from Anchor to Cursor"),
123
+ label: localize2(809, "Select from Anchor to Cursor"),
124
124
  precondition: SelectionAnchorSet,
125
125
  kbOpts: {
126
126
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -137,7 +137,7 @@ class CancelSelectionAnchor extends EditorAction {
137
137
  constructor() {
138
138
  super({
139
139
  id: 'editor.action.cancelSelectionAnchor',
140
- label: localize2(811, "Cancel Selection Anchor"),
140
+ label: localize2(810, "Cancel Selection Anchor"),
141
141
  precondition: SelectionAnchorSet,
142
142
  kbOpts: {
143
143
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -15,14 +15,13 @@ import { ModelDecorationOptions } from '../../../common/model/textModel.js';
15
15
  import * as nls from '../../../../nls.js';
16
16
  import { MenuId, MenuRegistry } from '../../../../platform/actions/common/actions.js';
17
17
  import { registerColor } from '../../../../platform/theme/common/colorRegistry.js';
18
- import { registerThemingParticipant, themeColorFromId } from '../../../../platform/theme/common/themeService.js';
19
- import { editorBracketMatchForeground } from '../../../common/core/editorColorRegistry.js';
20
- const overviewRulerBracketMatchForeground = registerColor('editorOverviewRuler.bracketMatchForeground', '#A0A0A0', nls.localize(812, 'Overview ruler marker color for matching brackets.'));
18
+ import { themeColorFromId } from '../../../../platform/theme/common/themeService.js';
19
+ const overviewRulerBracketMatchForeground = registerColor('editorOverviewRuler.bracketMatchForeground', '#A0A0A0', nls.localize(811, 'Overview ruler marker color for matching brackets.'));
21
20
  class JumpToBracketAction extends EditorAction {
22
21
  constructor() {
23
22
  super({
24
23
  id: 'editor.action.jumpToBracket',
25
- label: nls.localize2(814, "Go to Bracket"),
24
+ label: nls.localize2(813, "Go to Bracket"),
26
25
  precondition: undefined,
27
26
  kbOpts: {
28
27
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -39,10 +38,10 @@ class SelectToBracketAction extends EditorAction {
39
38
  constructor() {
40
39
  super({
41
40
  id: 'editor.action.selectToBracket',
42
- label: nls.localize2(815, "Select to Bracket"),
41
+ label: nls.localize2(814, "Select to Bracket"),
43
42
  precondition: undefined,
44
43
  metadata: {
45
- description: nls.localize2(816, "Select the text inside and including the brackets or curly braces"),
44
+ description: nls.localize2(815, "Select the text inside and including the brackets or curly braces"),
46
45
  args: [{
47
46
  name: 'args',
48
47
  schema: {
@@ -70,7 +69,7 @@ class RemoveBracketsAction extends EditorAction {
70
69
  constructor() {
71
70
  super({
72
71
  id: 'editor.action.removeBrackets',
73
- label: nls.localize2(817, "Remove Brackets"),
72
+ label: nls.localize2(816, "Remove Brackets"),
74
73
  precondition: undefined,
75
74
  kbOpts: {
76
75
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -245,7 +244,7 @@ export class BracketMatchingController extends Disposable {
245
244
  static { this._DECORATION_OPTIONS_WITH_OVERVIEW_RULER = ModelDecorationOptions.register({
246
245
  description: 'bracket-match-overview',
247
246
  stickiness: 1 /* TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges */,
248
- inlineClassName: 'bracket-match',
247
+ className: 'bracket-match',
249
248
  overviewRuler: {
250
249
  color: themeColorFromId(overviewRulerBracketMatchForeground),
251
250
  position: OverviewRulerLane.Center
@@ -254,7 +253,7 @@ export class BracketMatchingController extends Disposable {
254
253
  static { this._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER = ModelDecorationOptions.register({
255
254
  description: 'bracket-match-no-overview',
256
255
  stickiness: 1 /* TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges */,
257
- inlineClassName: 'bracket-match'
256
+ className: 'bracket-match'
258
257
  }); }
259
258
  _updateBrackets() {
260
259
  if (this._matchBrackets === 'never') {
@@ -341,16 +340,8 @@ MenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {
341
340
  group: '5_infile_nav',
342
341
  command: {
343
342
  id: 'editor.action.jumpToBracket',
344
- title: nls.localize(813, "Go to &&Bracket")
343
+ title: nls.localize(812, "Go to &&Bracket")
345
344
  },
346
345
  order: 2
347
346
  });
348
- // Theming participant to ensure bracket-match color overrides bracket pair colorization
349
- registerThemingParticipant((theme, collector) => {
350
- const bracketMatchForeground = theme.getColor(editorBracketMatchForeground);
351
- if (bracketMatchForeground) {
352
- // Use higher specificity to override bracket pair colorization
353
- collector.addRule(`.monaco-editor .bracket-match { color: ${bracketMatchForeground} !important; }`);
354
- }
355
- });
356
347
  //# sourceMappingURL=bracketMatching.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/bracketMatching/browser/bracketMatching.ts"],"names":[],"mappings":"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","file":"bracketMatching.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { RunOnceScheduler } from '../../../../base/common/async.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport './bracketMatching.css';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { IEditorContribution, IEditorDecorationsCollection } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { IModelDeltaDecoration, OverviewRulerLane, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId, MenuRegistry } from '../../../../platform/actions/common/actions.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { registerColor } from '../../../../platform/theme/common/colorRegistry.js';\nimport { registerThemingParticipant, themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nimport { editorBracketMatchForeground } from '../../../common/core/editorColorRegistry.js';\n\nconst overviewRulerBracketMatchForeground = registerColor('editorOverviewRuler.bracketMatchForeground', '#A0A0A0', nls.localize('overviewRulerBracketMatchForeground', 'Overview ruler marker color for matching brackets.'));\n\nclass JumpToBracketAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.jumpToBracket',\n\t\t\tlabel: nls.localize2('smartSelect.jumpBracket', \"Go to Bracket\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backslash,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tBracketMatchingController.get(editor)?.jumpToBracket();\n\t}\n}\n\nclass SelectToBracketAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.selectToBracket',\n\t\t\tlabel: nls.localize2('smartSelect.selectToBracket', \"Select to Bracket\"),\n\t\t\tprecondition: undefined,\n\t\t\tmetadata: {\n\t\t\t\tdescription: nls.localize2('smartSelect.selectToBracketDescription', \"Select the text inside and including the brackets or curly braces\"),\n\t\t\t\targs: [{\n\t\t\t\t\tname: 'args',\n\t\t\t\t\tschema: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t'selectBrackets': {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tdefault: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): void {\n\t\tlet selectBrackets = true;\n\t\tif (args && args.selectBrackets === false) {\n\t\t\tselectBrackets = false;\n\t\t}\n\t\tBracketMatchingController.get(editor)?.selectToBracket(selectBrackets);\n\t}\n}\n\nclass RemoveBracketsAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.removeBrackets',\n\t\t\tlabel: nls.localize2('smartSelect.removeBrackets', \"Remove Brackets\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Backspace,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tcanTriggerInlineEdits: true,\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tBracketMatchingController.get(editor)?.removeBrackets(this.id);\n\t}\n}\n\ntype Brackets = [Range, Range];\n\nclass BracketsData {\n\tpublic readonly position: Position;\n\tpublic readonly brackets: Brackets | null;\n\tpublic readonly options: ModelDecorationOptions;\n\n\tconstructor(position: Position, brackets: Brackets | null, options: ModelDecorationOptions) {\n\t\tthis.position = position;\n\t\tthis.brackets = brackets;\n\t\tthis.options = options;\n\t}\n}\n\nexport class BracketMatchingController extends Disposable implements IEditorContribution {\n\tpublic static readonly ID = 'editor.contrib.bracketMatchingController';\n\n\tpublic static get(editor: ICodeEditor): BracketMatchingController | null {\n\t\treturn editor.getContribution<BracketMatchingController>(BracketMatchingController.ID);\n\t}\n\n\tprivate readonly _editor: ICodeEditor;\n\n\tprivate _lastBracketsData: BracketsData[];\n\tprivate _lastVersionId: number;\n\tprivate readonly _decorations: IEditorDecorationsCollection;\n\tprivate readonly _updateBracketsSoon: RunOnceScheduler;\n\tprivate _matchBrackets: 'never' | 'near' | 'always';\n\n\tconstructor(\n\t\teditor: ICodeEditor\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._lastBracketsData = [];\n\t\tthis._lastVersionId = 0;\n\t\tthis._decorations = this._editor.createDecorationsCollection();\n\t\tthis._updateBracketsSoon = this._register(new RunOnceScheduler(() => this._updateBrackets(), 50));\n\t\tthis._matchBrackets = this._editor.getOption(EditorOption.matchBrackets);\n\n\t\tthis._updateBracketsSoon.schedule();\n\t\tthis._register(editor.onDidChangeCursorPosition((e) => {\n\n\t\t\tif (this._matchBrackets === 'never') {\n\t\t\t\t// Early exit if nothing needs to be done!\n\t\t\t\t// Leave some form of early exit check here if you wish to continue being a cursor position change listener ;)\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelContent((e) => {\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeModel((e) => {\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelLanguageConfiguration((e) => {\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.matchBrackets)) {\n\t\t\t\tthis._matchBrackets = this._editor.getOption(EditorOption.matchBrackets);\n\t\t\t\tthis._decorations.clear();\n\t\t\t\tthis._lastBracketsData = [];\n\t\t\t\tthis._lastVersionId = 0;\n\t\t\t\tthis._updateBracketsSoon.schedule();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(editor.onDidBlurEditorWidget(() => {\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\n\t\tthis._register(editor.onDidFocusEditorWidget(() => {\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t}\n\n\tpublic jumpToBracket(): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst newSelections = this._editor.getSelections().map(selection => {\n\t\t\tconst position = selection.getStartPosition();\n\n\t\t\t// find matching brackets if position is on a bracket\n\t\t\tconst brackets = model.bracketPairs.matchBracket(position);\n\t\t\tlet newCursorPosition: Position | null = null;\n\t\t\tif (brackets) {\n\t\t\t\tif (brackets[0].containsPosition(position) && !brackets[1].containsPosition(position)) {\n\t\t\t\t\tnewCursorPosition = brackets[1].getStartPosition();\n\t\t\t\t} else if (brackets[1].containsPosition(position)) {\n\t\t\t\t\tnewCursorPosition = brackets[0].getStartPosition();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// find the enclosing brackets if the position isn't on a matching bracket\n\t\t\t\tconst enclosingBrackets = model.bracketPairs.findEnclosingBrackets(position);\n\t\t\t\tif (enclosingBrackets) {\n\t\t\t\t\tnewCursorPosition = enclosingBrackets[1].getStartPosition();\n\t\t\t\t} else {\n\t\t\t\t\t// no enclosing brackets, try the very first next bracket\n\t\t\t\t\tconst nextBracket = model.bracketPairs.findNextBracket(position);\n\t\t\t\t\tif (nextBracket && nextBracket.range) {\n\t\t\t\t\t\tnewCursorPosition = nextBracket.range.getStartPosition();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newCursorPosition) {\n\t\t\t\treturn new Selection(newCursorPosition.lineNumber, newCursorPosition.column, newCursorPosition.lineNumber, newCursorPosition.column);\n\t\t\t}\n\t\t\treturn new Selection(position.lineNumber, position.column, position.lineNumber, position.column);\n\t\t});\n\n\t\tthis._editor.setSelections(newSelections);\n\t\tthis._editor.revealRange(newSelections[0]);\n\t}\n\n\tpublic selectToBracket(selectBrackets: boolean): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst newSelections: Selection[] = [];\n\n\t\tthis._editor.getSelections().forEach(selection => {\n\t\t\tconst position = selection.getStartPosition();\n\t\t\tlet brackets = model.bracketPairs.matchBracket(position);\n\n\t\t\tif (!brackets) {\n\t\t\t\tbrackets = model.bracketPairs.findEnclosingBrackets(position);\n\t\t\t\tif (!brackets) {\n\t\t\t\t\tconst nextBracket = model.bracketPairs.findNextBracket(position);\n\t\t\t\t\tif (nextBracket && nextBracket.range) {\n\t\t\t\t\t\tbrackets = model.bracketPairs.matchBracket(nextBracket.range.getStartPosition());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet selectFrom: Position | null = null;\n\t\t\tlet selectTo: Position | null = null;\n\n\t\t\tif (brackets) {\n\t\t\t\tbrackets.sort(Range.compareRangesUsingStarts);\n\t\t\t\tconst [open, close] = brackets;\n\t\t\t\tselectFrom = selectBrackets ? open.getStartPosition() : open.getEndPosition();\n\t\t\t\tselectTo = selectBrackets ? close.getEndPosition() : close.getStartPosition();\n\n\t\t\t\tif (close.containsPosition(position)) {\n\t\t\t\t\t// select backwards if the cursor was on the closing bracket\n\t\t\t\t\tconst tmp = selectFrom;\n\t\t\t\t\tselectFrom = selectTo;\n\t\t\t\t\tselectTo = tmp;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (selectFrom && selectTo) {\n\t\t\t\tnewSelections.push(new Selection(selectFrom.lineNumber, selectFrom.column, selectTo.lineNumber, selectTo.column));\n\t\t\t}\n\t\t});\n\n\t\tif (newSelections.length > 0) {\n\t\t\tthis._editor.setSelections(newSelections);\n\t\t\tthis._editor.revealRange(newSelections[0]);\n\t\t}\n\t}\n\tpublic removeBrackets(editSource?: string): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tthis._editor.getSelections().forEach((selection) => {\n\t\t\tconst position = selection.getPosition();\n\n\t\t\tlet brackets = model.bracketPairs.matchBracket(position);\n\t\t\tif (!brackets) {\n\t\t\t\tbrackets = model.bracketPairs.findEnclosingBrackets(position);\n\t\t\t}\n\t\t\tif (brackets) {\n\t\t\t\tthis._editor.pushUndoStop();\n\t\t\t\tthis._editor.executeEdits(\n\t\t\t\t\teditSource,\n\t\t\t\t\t[\n\t\t\t\t\t\t{ range: brackets[0], text: '' },\n\t\t\t\t\t\t{ range: brackets[1], text: '' }\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\tthis._editor.pushUndoStop();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate static readonly _DECORATION_OPTIONS_WITH_OVERVIEW_RULER = ModelDecorationOptions.register({\n\t\tdescription: 'bracket-match-overview',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tinlineClassName: 'bracket-match',\n\t\toverviewRuler: {\n\t\t\tcolor: themeColorFromId(overviewRulerBracketMatchForeground),\n\t\t\tposition: OverviewRulerLane.Center\n\t\t}\n\t});\n\n\tprivate static readonly _DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER = ModelDecorationOptions.register({\n\t\tdescription: 'bracket-match-no-overview',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tinlineClassName: 'bracket-match'\n\t});\n\n\tprivate _updateBrackets(): void {\n\t\tif (this._matchBrackets === 'never') {\n\t\t\treturn;\n\t\t}\n\t\tthis._recomputeBrackets();\n\n\t\tconst newDecorations: IModelDeltaDecoration[] = [];\n\t\tlet newDecorationsLen = 0;\n\t\tfor (const bracketData of this._lastBracketsData) {\n\t\t\tconst brackets = bracketData.brackets;\n\t\t\tif (brackets) {\n\t\t\t\tnewDecorations[newDecorationsLen++] = { range: brackets[0], options: bracketData.options };\n\t\t\t\tnewDecorations[newDecorationsLen++] = { range: brackets[1], options: bracketData.options };\n\t\t\t}\n\t\t}\n\n\t\tthis._decorations.set(newDecorations);\n\t}\n\n\tprivate _recomputeBrackets(): void {\n\t\tif (!this._editor.hasModel() || !this._editor.hasWidgetFocus()) {\n\t\t\t// no model or no focus => no brackets!\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._lastVersionId = 0;\n\t\t\treturn;\n\t\t}\n\n\t\tconst selections = this._editor.getSelections();\n\t\tif (selections.length > 100) {\n\t\t\t// no bracket matching for high numbers of selections\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._lastVersionId = 0;\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst versionId = model.getVersionId();\n\t\tlet previousData: BracketsData[] = [];\n\t\tif (this._lastVersionId === versionId) {\n\t\t\t// use the previous data only if the model is at the same version id\n\t\t\tpreviousData = this._lastBracketsData;\n\t\t}\n\n\t\tconst positions: Position[] = [];\n\t\tlet positionsLen = 0;\n\t\tfor (let i = 0, len = selections.length; i < len; i++) {\n\t\t\tconst selection = selections[i];\n\n\t\t\tif (selection.isEmpty()) {\n\t\t\t\t// will bracket match a cursor only if the selection is collapsed\n\t\t\t\tpositions[positionsLen++] = selection.getStartPosition();\n\t\t\t}\n\t\t}\n\n\t\t// sort positions for `previousData` cache hits\n\t\tif (positions.length > 1) {\n\t\t\tpositions.sort(Position.compare);\n\t\t}\n\n\t\tconst newData: BracketsData[] = [];\n\t\tlet newDataLen = 0;\n\t\tlet previousIndex = 0;\n\t\tconst previousLen = previousData.length;\n\t\tfor (let i = 0, len = positions.length; i < len; i++) {\n\t\t\tconst position = positions[i];\n\n\t\t\twhile (previousIndex < previousLen && previousData[previousIndex].position.isBefore(position)) {\n\t\t\t\tpreviousIndex++;\n\t\t\t}\n\n\t\t\tif (previousIndex < previousLen && previousData[previousIndex].position.equals(position)) {\n\t\t\t\tnewData[newDataLen++] = previousData[previousIndex];\n\t\t\t} else {\n\t\t\t\tlet brackets = model.bracketPairs.matchBracket(position, 20 /* give at most 20ms to compute */);\n\t\t\t\tlet options = BracketMatchingController._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;\n\t\t\t\tif (!brackets && this._matchBrackets === 'always') {\n\t\t\t\t\tbrackets = model.bracketPairs.findEnclosingBrackets(position, 20 /* give at most 20ms to compute */);\n\t\t\t\t\toptions = BracketMatchingController._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER;\n\t\t\t\t}\n\t\t\t\tnewData[newDataLen++] = new BracketsData(position, brackets, options);\n\t\t\t}\n\t\t}\n\n\t\tthis._lastBracketsData = newData;\n\t\tthis._lastVersionId = versionId;\n\t}\n}\n\nregisterEditorContribution(BracketMatchingController.ID, BracketMatchingController, EditorContributionInstantiation.AfterFirstRender);\nregisterEditorAction(SelectToBracketAction);\nregisterEditorAction(JumpToBracketAction);\nregisterEditorAction(RemoveBracketsAction);\n\n// Go to menu\nMenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {\n\tgroup: '5_infile_nav',\n\tcommand: {\n\t\tid: 'editor.action.jumpToBracket',\n\t\ttitle: nls.localize({ key: 'miGoToBracket', comment: ['&& denotes a mnemonic'] }, \"Go to &&Bracket\")\n\t},\n\torder: 2\n});\n\n// Theming participant to ensure bracket-match color overrides bracket pair colorization\nregisterThemingParticipant((theme, collector) => {\n\tconst bracketMatchForeground = theme.getColor(editorBracketMatchForeground);\n\tif (bracketMatchForeground) {\n\t\t// Use higher specificity to override bracket pair colorization\n\t\tcollector.addRule(`.monaco-editor .bracket-match { color: ${bracketMatchForeground} !important; }`);\n\t}\n});\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/bracketMatching/browser/bracketMatching.ts"],"names":[],"mappings":"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","file":"bracketMatching.js","sourceRoot":"file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\n\nimport { RunOnceScheduler } from '../../../../base/common/async.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport './bracketMatching.css';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { IEditorContribution, IEditorDecorationsCollection } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { IModelDeltaDecoration, OverviewRulerLane, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId, MenuRegistry } from '../../../../platform/actions/common/actions.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { registerColor } from '../../../../platform/theme/common/colorRegistry.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\n\nconst overviewRulerBracketMatchForeground = registerColor('editorOverviewRuler.bracketMatchForeground', '#A0A0A0', nls.localize('overviewRulerBracketMatchForeground', 'Overview ruler marker color for matching brackets.'));\n\nclass JumpToBracketAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.jumpToBracket',\n\t\t\tlabel: nls.localize2('smartSelect.jumpBracket', \"Go to Bracket\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backslash,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tBracketMatchingController.get(editor)?.jumpToBracket();\n\t}\n}\n\nclass SelectToBracketAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.selectToBracket',\n\t\t\tlabel: nls.localize2('smartSelect.selectToBracket', \"Select to Bracket\"),\n\t\t\tprecondition: undefined,\n\t\t\tmetadata: {\n\t\t\t\tdescription: nls.localize2('smartSelect.selectToBracketDescription', \"Select the text inside and including the brackets or curly braces\"),\n\t\t\t\targs: [{\n\t\t\t\t\tname: 'args',\n\t\t\t\t\tschema: {\n\t\t\t\t\t\ttype: 'object',\n\t\t\t\t\t\tproperties: {\n\t\t\t\t\t\t\t'selectBrackets': {\n\t\t\t\t\t\t\t\ttype: 'boolean',\n\t\t\t\t\t\t\t\tdefault: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor, args: any): void {\n\t\tlet selectBrackets = true;\n\t\tif (args && args.selectBrackets === false) {\n\t\t\tselectBrackets = false;\n\t\t}\n\t\tBracketMatchingController.get(editor)?.selectToBracket(selectBrackets);\n\t}\n}\n\nclass RemoveBracketsAction extends EditorAction {\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.removeBrackets',\n\t\t\tlabel: nls.localize2('smartSelect.removeBrackets', \"Remove Brackets\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.editorTextFocus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Backspace,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tcanTriggerInlineEdits: true,\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tBracketMatchingController.get(editor)?.removeBrackets(this.id);\n\t}\n}\n\ntype Brackets = [Range, Range];\n\nclass BracketsData {\n\tpublic readonly position: Position;\n\tpublic readonly brackets: Brackets | null;\n\tpublic readonly options: ModelDecorationOptions;\n\n\tconstructor(position: Position, brackets: Brackets | null, options: ModelDecorationOptions) {\n\t\tthis.position = position;\n\t\tthis.brackets = brackets;\n\t\tthis.options = options;\n\t}\n}\n\nexport class BracketMatchingController extends Disposable implements IEditorContribution {\n\tpublic static readonly ID = 'editor.contrib.bracketMatchingController';\n\n\tpublic static get(editor: ICodeEditor): BracketMatchingController | null {\n\t\treturn editor.getContribution<BracketMatchingController>(BracketMatchingController.ID);\n\t}\n\n\tprivate readonly _editor: ICodeEditor;\n\n\tprivate _lastBracketsData: BracketsData[];\n\tprivate _lastVersionId: number;\n\tprivate readonly _decorations: IEditorDecorationsCollection;\n\tprivate readonly _updateBracketsSoon: RunOnceScheduler;\n\tprivate _matchBrackets: 'never' | 'near' | 'always';\n\n\tconstructor(\n\t\teditor: ICodeEditor\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._lastBracketsData = [];\n\t\tthis._lastVersionId = 0;\n\t\tthis._decorations = this._editor.createDecorationsCollection();\n\t\tthis._updateBracketsSoon = this._register(new RunOnceScheduler(() => this._updateBrackets(), 50));\n\t\tthis._matchBrackets = this._editor.getOption(EditorOption.matchBrackets);\n\n\t\tthis._updateBracketsSoon.schedule();\n\t\tthis._register(editor.onDidChangeCursorPosition((e) => {\n\n\t\t\tif (this._matchBrackets === 'never') {\n\t\t\t\t// Early exit if nothing needs to be done!\n\t\t\t\t// Leave some form of early exit check here if you wish to continue being a cursor position change listener ;)\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelContent((e) => {\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeModel((e) => {\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelLanguageConfiguration((e) => {\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t\tthis._register(editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.matchBrackets)) {\n\t\t\t\tthis._matchBrackets = this._editor.getOption(EditorOption.matchBrackets);\n\t\t\t\tthis._decorations.clear();\n\t\t\t\tthis._lastBracketsData = [];\n\t\t\t\tthis._lastVersionId = 0;\n\t\t\t\tthis._updateBracketsSoon.schedule();\n\t\t\t}\n\t\t}));\n\n\t\tthis._register(editor.onDidBlurEditorWidget(() => {\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\n\t\tthis._register(editor.onDidFocusEditorWidget(() => {\n\t\t\tthis._updateBracketsSoon.schedule();\n\t\t}));\n\t}\n\n\tpublic jumpToBracket(): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst newSelections = this._editor.getSelections().map(selection => {\n\t\t\tconst position = selection.getStartPosition();\n\n\t\t\t// find matching brackets if position is on a bracket\n\t\t\tconst brackets = model.bracketPairs.matchBracket(position);\n\t\t\tlet newCursorPosition: Position | null = null;\n\t\t\tif (brackets) {\n\t\t\t\tif (brackets[0].containsPosition(position) && !brackets[1].containsPosition(position)) {\n\t\t\t\t\tnewCursorPosition = brackets[1].getStartPosition();\n\t\t\t\t} else if (brackets[1].containsPosition(position)) {\n\t\t\t\t\tnewCursorPosition = brackets[0].getStartPosition();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// find the enclosing brackets if the position isn't on a matching bracket\n\t\t\t\tconst enclosingBrackets = model.bracketPairs.findEnclosingBrackets(position);\n\t\t\t\tif (enclosingBrackets) {\n\t\t\t\t\tnewCursorPosition = enclosingBrackets[1].getStartPosition();\n\t\t\t\t} else {\n\t\t\t\t\t// no enclosing brackets, try the very first next bracket\n\t\t\t\t\tconst nextBracket = model.bracketPairs.findNextBracket(position);\n\t\t\t\t\tif (nextBracket && nextBracket.range) {\n\t\t\t\t\t\tnewCursorPosition = nextBracket.range.getStartPosition();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (newCursorPosition) {\n\t\t\t\treturn new Selection(newCursorPosition.lineNumber, newCursorPosition.column, newCursorPosition.lineNumber, newCursorPosition.column);\n\t\t\t}\n\t\t\treturn new Selection(position.lineNumber, position.column, position.lineNumber, position.column);\n\t\t});\n\n\t\tthis._editor.setSelections(newSelections);\n\t\tthis._editor.revealRange(newSelections[0]);\n\t}\n\n\tpublic selectToBracket(selectBrackets: boolean): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst newSelections: Selection[] = [];\n\n\t\tthis._editor.getSelections().forEach(selection => {\n\t\t\tconst position = selection.getStartPosition();\n\t\t\tlet brackets = model.bracketPairs.matchBracket(position);\n\n\t\t\tif (!brackets) {\n\t\t\t\tbrackets = model.bracketPairs.findEnclosingBrackets(position);\n\t\t\t\tif (!brackets) {\n\t\t\t\t\tconst nextBracket = model.bracketPairs.findNextBracket(position);\n\t\t\t\t\tif (nextBracket && nextBracket.range) {\n\t\t\t\t\t\tbrackets = model.bracketPairs.matchBracket(nextBracket.range.getStartPosition());\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet selectFrom: Position | null = null;\n\t\t\tlet selectTo: Position | null = null;\n\n\t\t\tif (brackets) {\n\t\t\t\tbrackets.sort(Range.compareRangesUsingStarts);\n\t\t\t\tconst [open, close] = brackets;\n\t\t\t\tselectFrom = selectBrackets ? open.getStartPosition() : open.getEndPosition();\n\t\t\t\tselectTo = selectBrackets ? close.getEndPosition() : close.getStartPosition();\n\n\t\t\t\tif (close.containsPosition(position)) {\n\t\t\t\t\t// select backwards if the cursor was on the closing bracket\n\t\t\t\t\tconst tmp = selectFrom;\n\t\t\t\t\tselectFrom = selectTo;\n\t\t\t\t\tselectTo = tmp;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (selectFrom && selectTo) {\n\t\t\t\tnewSelections.push(new Selection(selectFrom.lineNumber, selectFrom.column, selectTo.lineNumber, selectTo.column));\n\t\t\t}\n\t\t});\n\n\t\tif (newSelections.length > 0) {\n\t\t\tthis._editor.setSelections(newSelections);\n\t\t\tthis._editor.revealRange(newSelections[0]);\n\t\t}\n\t}\n\tpublic removeBrackets(editSource?: string): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tthis._editor.getSelections().forEach((selection) => {\n\t\t\tconst position = selection.getPosition();\n\n\t\t\tlet brackets = model.bracketPairs.matchBracket(position);\n\t\t\tif (!brackets) {\n\t\t\t\tbrackets = model.bracketPairs.findEnclosingBrackets(position);\n\t\t\t}\n\t\t\tif (brackets) {\n\t\t\t\tthis._editor.pushUndoStop();\n\t\t\t\tthis._editor.executeEdits(\n\t\t\t\t\teditSource,\n\t\t\t\t\t[\n\t\t\t\t\t\t{ range: brackets[0], text: '' },\n\t\t\t\t\t\t{ range: brackets[1], text: '' }\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\tthis._editor.pushUndoStop();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate static readonly _DECORATION_OPTIONS_WITH_OVERVIEW_RULER = ModelDecorationOptions.register({\n\t\tdescription: 'bracket-match-overview',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tclassName: 'bracket-match',\n\t\toverviewRuler: {\n\t\t\tcolor: themeColorFromId(overviewRulerBracketMatchForeground),\n\t\t\tposition: OverviewRulerLane.Center\n\t\t}\n\t});\n\n\tprivate static readonly _DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER = ModelDecorationOptions.register({\n\t\tdescription: 'bracket-match-no-overview',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tclassName: 'bracket-match'\n\t});\n\n\tprivate _updateBrackets(): void {\n\t\tif (this._matchBrackets === 'never') {\n\t\t\treturn;\n\t\t}\n\t\tthis._recomputeBrackets();\n\n\t\tconst newDecorations: IModelDeltaDecoration[] = [];\n\t\tlet newDecorationsLen = 0;\n\t\tfor (const bracketData of this._lastBracketsData) {\n\t\t\tconst brackets = bracketData.brackets;\n\t\t\tif (brackets) {\n\t\t\t\tnewDecorations[newDecorationsLen++] = { range: brackets[0], options: bracketData.options };\n\t\t\t\tnewDecorations[newDecorationsLen++] = { range: brackets[1], options: bracketData.options };\n\t\t\t}\n\t\t}\n\n\t\tthis._decorations.set(newDecorations);\n\t}\n\n\tprivate _recomputeBrackets(): void {\n\t\tif (!this._editor.hasModel() || !this._editor.hasWidgetFocus()) {\n\t\t\t// no model or no focus => no brackets!\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._lastVersionId = 0;\n\t\t\treturn;\n\t\t}\n\n\t\tconst selections = this._editor.getSelections();\n\t\tif (selections.length > 100) {\n\t\t\t// no bracket matching for high numbers of selections\n\t\t\tthis._lastBracketsData = [];\n\t\t\tthis._lastVersionId = 0;\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst versionId = model.getVersionId();\n\t\tlet previousData: BracketsData[] = [];\n\t\tif (this._lastVersionId === versionId) {\n\t\t\t// use the previous data only if the model is at the same version id\n\t\t\tpreviousData = this._lastBracketsData;\n\t\t}\n\n\t\tconst positions: Position[] = [];\n\t\tlet positionsLen = 0;\n\t\tfor (let i = 0, len = selections.length; i < len; i++) {\n\t\t\tconst selection = selections[i];\n\n\t\t\tif (selection.isEmpty()) {\n\t\t\t\t// will bracket match a cursor only if the selection is collapsed\n\t\t\t\tpositions[positionsLen++] = selection.getStartPosition();\n\t\t\t}\n\t\t}\n\n\t\t// sort positions for `previousData` cache hits\n\t\tif (positions.length > 1) {\n\t\t\tpositions.sort(Position.compare);\n\t\t}\n\n\t\tconst newData: BracketsData[] = [];\n\t\tlet newDataLen = 0;\n\t\tlet previousIndex = 0;\n\t\tconst previousLen = previousData.length;\n\t\tfor (let i = 0, len = positions.length; i < len; i++) {\n\t\t\tconst position = positions[i];\n\n\t\t\twhile (previousIndex < previousLen && previousData[previousIndex].position.isBefore(position)) {\n\t\t\t\tpreviousIndex++;\n\t\t\t}\n\n\t\t\tif (previousIndex < previousLen && previousData[previousIndex].position.equals(position)) {\n\t\t\t\tnewData[newDataLen++] = previousData[previousIndex];\n\t\t\t} else {\n\t\t\t\tlet brackets = model.bracketPairs.matchBracket(position, 20 /* give at most 20ms to compute */);\n\t\t\t\tlet options = BracketMatchingController._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;\n\t\t\t\tif (!brackets && this._matchBrackets === 'always') {\n\t\t\t\t\tbrackets = model.bracketPairs.findEnclosingBrackets(position, 20 /* give at most 20ms to compute */);\n\t\t\t\t\toptions = BracketMatchingController._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER;\n\t\t\t\t}\n\t\t\t\tnewData[newDataLen++] = new BracketsData(position, brackets, options);\n\t\t\t}\n\t\t}\n\n\t\tthis._lastBracketsData = newData;\n\t\tthis._lastVersionId = versionId;\n\t}\n}\n\nregisterEditorContribution(BracketMatchingController.ID, BracketMatchingController, EditorContributionInstantiation.AfterFirstRender);\nregisterEditorAction(SelectToBracketAction);\nregisterEditorAction(JumpToBracketAction);\nregisterEditorAction(RemoveBracketsAction);\n\n// Go to menu\nMenuRegistry.appendMenuItem(MenuId.MenubarGoMenu, {\n\tgroup: '5_infile_nav',\n\tcommand: {\n\t\tid: 'editor.action.jumpToBracket',\n\t\ttitle: nls.localize({ key: 'miGoToBracket', comment: ['&& denotes a mnemonic'] }, \"Go to &&Bracket\")\n\t},\n\torder: 2\n});\n"]}
@@ -29,7 +29,7 @@ class MoveCaretLeftAction extends MoveCaretAction {
29
29
  constructor() {
30
30
  super(true, {
31
31
  id: 'editor.action.moveCarretLeftAction',
32
- label: nls.localize2(818, "Move Selected Text Left"),
32
+ label: nls.localize2(817, "Move Selected Text Left"),
33
33
  precondition: EditorContextKeys.writable
34
34
  });
35
35
  }
@@ -38,7 +38,7 @@ class MoveCaretRightAction extends MoveCaretAction {
38
38
  constructor() {
39
39
  super(false, {
40
40
  id: 'editor.action.moveCarretRightAction',
41
- label: nls.localize2(819, "Move Selected Text Right"),
41
+ label: nls.localize2(818, "Move Selected Text Right"),
42
42
  precondition: EditorContextKeys.writable
43
43
  });
44
44
  }
@@ -12,7 +12,7 @@ class TransposeLettersAction extends EditorAction {
12
12
  constructor() {
13
13
  super({
14
14
  id: 'editor.action.transposeLetters',
15
- label: nls.localize2(820, "Transpose Letters"),
15
+ label: nls.localize2(819, "Transpose Letters"),
16
16
  precondition: EditorContextKeys.writable,
17
17
  kbOpts: {
18
18
  kbExpr: EditorContextKeys.textInputFocus,
@@ -41,23 +41,23 @@ export const CutAction = supportsCut ? registerCommand(new MultiCommand({
41
41
  menuOpts: [{
42
42
  menuId: MenuId.MenubarEditMenu,
43
43
  group: '2_ccp',
44
- title: nls.localize(821, "Cu&&t"),
44
+ title: nls.localize(820, "Cu&&t"),
45
45
  order: 1
46
46
  }, {
47
47
  menuId: MenuId.EditorContext,
48
48
  group: CLIPBOARD_CONTEXT_MENU_GROUP,
49
- title: nls.localize(822, "Cut"),
49
+ title: nls.localize(821, "Cut"),
50
50
  when: EditorContextKeys.writable,
51
51
  order: 1,
52
52
  }, {
53
53
  menuId: MenuId.CommandPalette,
54
54
  group: '',
55
- title: nls.localize(823, "Cut"),
55
+ title: nls.localize(822, "Cut"),
56
56
  order: 1
57
57
  }, {
58
58
  menuId: MenuId.SimpleEditorContext,
59
59
  group: CLIPBOARD_CONTEXT_MENU_GROUP,
60
- title: nls.localize(824, "Cut"),
60
+ title: nls.localize(823, "Cut"),
61
61
  when: EditorContextKeys.writable,
62
62
  order: 1,
63
63
  }]
@@ -76,29 +76,29 @@ export const CopyAction = supportsCopy ? registerCommand(new MultiCommand({
76
76
  menuOpts: [{
77
77
  menuId: MenuId.MenubarEditMenu,
78
78
  group: '2_ccp',
79
- title: nls.localize(825, "&&Copy"),
79
+ title: nls.localize(824, "&&Copy"),
80
80
  order: 2
81
81
  }, {
82
82
  menuId: MenuId.EditorContext,
83
83
  group: CLIPBOARD_CONTEXT_MENU_GROUP,
84
- title: nls.localize(826, "Copy"),
84
+ title: nls.localize(825, "Copy"),
85
85
  order: 2,
86
86
  }, {
87
87
  menuId: MenuId.CommandPalette,
88
88
  group: '',
89
- title: nls.localize(827, "Copy"),
89
+ title: nls.localize(826, "Copy"),
90
90
  order: 1
91
91
  }, {
92
92
  menuId: MenuId.SimpleEditorContext,
93
93
  group: CLIPBOARD_CONTEXT_MENU_GROUP,
94
- title: nls.localize(828, "Copy"),
94
+ title: nls.localize(827, "Copy"),
95
95
  order: 2,
96
96
  }]
97
97
  })) : undefined;
98
- MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, { submenu: MenuId.MenubarCopy, title: nls.localize2(833, "Copy As"), group: '2_ccp', order: 3 });
99
- MenuRegistry.appendMenuItem(MenuId.EditorContext, { submenu: MenuId.EditorContextCopy, title: nls.localize2(834, "Copy As"), group: CLIPBOARD_CONTEXT_MENU_GROUP, order: 3 });
100
- MenuRegistry.appendMenuItem(MenuId.EditorContext, { submenu: MenuId.EditorContextShare, title: nls.localize2(835, "Share"), group: '11_share', order: -1, when: ContextKeyExpr.and(ContextKeyExpr.notEquals('resourceScheme', 'output'), EditorContextKeys.editorTextFocus) });
101
- MenuRegistry.appendMenuItem(MenuId.ExplorerContext, { submenu: MenuId.ExplorerContextShare, title: nls.localize2(836, "Share"), group: '11_share', order: -1 });
98
+ MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu, { submenu: MenuId.MenubarCopy, title: nls.localize2(832, "Copy As"), group: '2_ccp', order: 3 });
99
+ MenuRegistry.appendMenuItem(MenuId.EditorContext, { submenu: MenuId.EditorContextCopy, title: nls.localize2(833, "Copy As"), group: CLIPBOARD_CONTEXT_MENU_GROUP, order: 3 });
100
+ MenuRegistry.appendMenuItem(MenuId.EditorContext, { submenu: MenuId.EditorContextShare, title: nls.localize2(834, "Share"), group: '11_share', order: -1, when: ContextKeyExpr.and(ContextKeyExpr.notEquals('resourceScheme', 'output'), EditorContextKeys.editorTextFocus) });
101
+ MenuRegistry.appendMenuItem(MenuId.ExplorerContext, { submenu: MenuId.ExplorerContextShare, title: nls.localize2(835, "Share"), group: '11_share', order: -1 });
102
102
  export const PasteAction = supportsPaste ? registerCommand(new MultiCommand({
103
103
  id: 'editor.action.clipboardPasteAction',
104
104
  precondition: undefined,
@@ -114,23 +114,23 @@ export const PasteAction = supportsPaste ? registerCommand(new MultiCommand({
114
114
  menuOpts: [{
115
115
  menuId: MenuId.MenubarEditMenu,
116
116
  group: '2_ccp',
117
- title: nls.localize(829, "&&Paste"),
117
+ title: nls.localize(828, "&&Paste"),
118
118
  order: 4
119
119
  }, {
120
120
  menuId: MenuId.EditorContext,
121
121
  group: CLIPBOARD_CONTEXT_MENU_GROUP,
122
- title: nls.localize(830, "Paste"),
122
+ title: nls.localize(829, "Paste"),
123
123
  when: EditorContextKeys.writable,
124
124
  order: 4,
125
125
  }, {
126
126
  menuId: MenuId.CommandPalette,
127
127
  group: '',
128
- title: nls.localize(831, "Paste"),
128
+ title: nls.localize(830, "Paste"),
129
129
  order: 1
130
130
  }, {
131
131
  menuId: MenuId.SimpleEditorContext,
132
132
  group: CLIPBOARD_CONTEXT_MENU_GROUP,
133
- title: nls.localize(832, "Paste"),
133
+ title: nls.localize(831, "Paste"),
134
134
  when: EditorContextKeys.writable,
135
135
  order: 4,
136
136
  }]
@@ -139,7 +139,7 @@ class ExecCommandCopyWithSyntaxHighlightingAction extends EditorAction {
139
139
  constructor() {
140
140
  super({
141
141
  id: 'editor.action.clipboardCopyWithSyntaxHighlightingAction',
142
- label: nls.localize2(837, "Copy with Syntax Highlighting"),
142
+ label: nls.localize2(836, "Copy with Syntax Highlighting"),
143
143
  precondition: undefined,
144
144
  kbOpts: {
145
145
  kbExpr: EditorContextKeys.textInputFocus,
@@ -252,7 +252,7 @@ export async function applyCodeAction(accessor, item, codeActionReason, options,
252
252
  const message = asMessage(err);
253
253
  notificationService.error(typeof message === 'string'
254
254
  ? message
255
- : nls.localize(838, "An unknown error occurred while applying the code action"));
255
+ : nls.localize(837, "An unknown error occurred while applying the code action"));
256
256
  }
257
257
  }
258
258
  // ensure the start sound and end sound do not overlap