monaco-editor-core 0.54.0-dev-20250910 → 0.54.0-dev-20250912

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 (278) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.de.js +2 -2
  3. package/esm/nls.messages.es.js +2 -2
  4. package/esm/nls.messages.fr.js +2 -2
  5. package/esm/nls.messages.it.js +2 -2
  6. package/esm/nls.messages.ja.js +2 -2
  7. package/esm/nls.messages.js +1 -1
  8. package/esm/nls.messages.json +1 -1
  9. package/esm/nls.messages.ko.js +2 -2
  10. package/esm/nls.messages.ru.js +2 -2
  11. package/esm/nls.messages.zh-cn.js +2 -2
  12. package/esm/nls.messages.zh-tw.js +2 -2
  13. package/esm/nls.metadata.json +8 -2
  14. package/esm/vs/base/browser/domSanitize.js +32 -21
  15. package/esm/vs/base/browser/domSanitize.js.map +1 -1
  16. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  17. package/esm/vs/base/browser/ui/menu/menu.js +2 -0
  18. package/esm/vs/base/browser/ui/menu/menu.js.map +1 -1
  19. package/esm/vs/base/common/codiconsLibrary.js +2 -0
  20. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  21. package/esm/vs/base/common/observableInternal/index.js +3 -0
  22. package/esm/vs/base/common/observableInternal/index.js.map +1 -1
  23. package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +71 -0
  24. package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js.map +1 -0
  25. package/esm/vs/base/common/observableInternal/observables/baseObservable.js +4 -0
  26. package/esm/vs/base/common/observableInternal/observables/baseObservable.js.map +1 -1
  27. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js +10 -0
  28. package/esm/vs/base/common/observableInternal/observables/derivedImpl.js.map +1 -1
  29. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +3 -0
  30. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
  31. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +9 -0
  32. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
  33. package/esm/vs/editor/browser/config/editorConfiguration.js +1 -1
  34. package/esm/vs/editor/browser/controller/dragScrolling.js +4 -4
  35. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +3 -3
  36. package/esm/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +3 -3
  37. package/esm/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +6 -6
  38. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +9 -9
  39. package/esm/vs/editor/browser/controller/mouseHandler.js +6 -6
  40. package/esm/vs/editor/browser/controller/mouseTarget.js +3 -3
  41. package/esm/vs/editor/browser/coreCommands.js +2 -2
  42. package/esm/vs/editor/browser/gpu/rectangleRenderer.js +1 -1
  43. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  44. package/esm/vs/editor/browser/observableCodeEditor.js +1 -1
  45. package/esm/vs/editor/browser/view/viewController.js +2 -2
  46. package/esm/vs/editor/browser/view/viewLayer.js +1 -1
  47. package/esm/vs/editor/browser/view/viewOverlays.js +4 -4
  48. package/esm/vs/editor/browser/view.js +5 -5
  49. package/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  50. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +3 -3
  51. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +6 -6
  52. package/esm/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +8 -8
  53. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +2 -2
  54. package/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.js +2 -2
  55. package/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +2 -2
  56. package/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  57. package/esm/vs/editor/browser/viewParts/margin/margin.js +2 -2
  58. package/esm/vs/editor/browser/viewParts/minimap/minimap.js +5 -5
  59. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  60. package/esm/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +4 -4
  61. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  62. package/esm/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  63. package/esm/vs/editor/browser/viewParts/rulersGpu/rulersGpu.js +1 -1
  64. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  65. package/esm/vs/editor/browser/viewParts/selections/selections.js +2 -2
  66. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  67. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.js +6 -6
  68. package/esm/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +4 -4
  69. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +11 -11
  70. package/esm/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  71. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  72. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -4
  73. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +12 -12
  74. package/esm/vs/editor/browser/widget/diffEditor/commands.js +12 -1
  75. package/esm/vs/editor/browser/widget/diffEditor/commands.js.map +1 -1
  76. package/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +4 -4
  77. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -3
  78. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +2 -2
  79. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +2 -2
  80. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +25 -0
  81. package/esm/vs/editor/browser/widget/diffEditor/diffEditorWidget.js.map +1 -1
  82. package/esm/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  83. package/esm/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  84. package/esm/vs/editor/common/config/editorOptions.js +155 -154
  85. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  86. package/esm/vs/editor/common/core/editorColorRegistry.js +68 -68
  87. package/esm/vs/editor/common/core/ranges/lineRange.js +3 -0
  88. package/esm/vs/editor/common/core/ranges/lineRange.js.map +1 -1
  89. package/esm/vs/editor/common/cursorCommon.js +19 -19
  90. package/esm/vs/editor/common/editorContextKeys.js +46 -46
  91. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  92. package/esm/vs/editor/common/languages.js +56 -56
  93. package/esm/vs/editor/common/model/editStack.js +1 -1
  94. package/esm/vs/editor/common/standalone/standaloneEnums.js +86 -85
  95. package/esm/vs/editor/common/standalone/standaloneEnums.js.map +1 -1
  96. package/esm/vs/editor/common/standaloneStrings.js +10 -10
  97. package/esm/vs/editor/common/viewLayout/viewLayout.js +15 -15
  98. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  99. package/esm/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +1 -1
  100. package/esm/vs/editor/common/viewModel/viewModelImpl.js +14 -14
  101. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  102. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  103. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  104. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  105. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +20 -20
  106. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  107. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  108. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  109. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  110. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  111. package/esm/vs/editor/contrib/codeAction/browser/codeActionModel.js +1 -1
  112. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  113. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  114. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  115. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  116. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  117. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.js +1 -1
  118. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +2 -2
  119. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  120. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.js +1 -1
  121. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  122. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +12 -12
  123. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  124. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  125. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +12 -12
  126. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  127. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  128. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  129. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  130. package/esm/vs/editor/contrib/find/browser/findController.js +17 -17
  131. package/esm/vs/editor/contrib/find/browser/findModel.js +6 -6
  132. package/esm/vs/editor/contrib/find/browser/findWidget.js +32 -32
  133. package/esm/vs/editor/contrib/folding/browser/folding.js +23 -23
  134. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  135. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js.map +1 -1
  136. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  137. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  138. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  139. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  140. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  141. package/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +21 -11
  142. package/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js.map +1 -1
  143. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +2 -2
  144. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +4 -4
  145. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  146. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  147. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  148. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  149. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  150. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  151. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  152. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +10 -10
  153. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -6
  154. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  155. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  156. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +5 -5
  157. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  158. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +2 -2
  159. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +19 -19
  160. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  161. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +2 -2
  162. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +1 -1
  163. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  164. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +1 -1
  165. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +5 -5
  166. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +5 -5
  167. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +4 -1
  168. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  169. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +1 -1
  170. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +2 -0
  171. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  172. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +1 -0
  173. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
  174. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -21
  175. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js.map +1 -1
  176. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  177. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  178. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -32
  179. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +4 -4
  180. package/esm/vs/editor/contrib/links/browser/links.js +11 -11
  181. package/esm/vs/editor/contrib/links/browser/links.js.map +1 -1
  182. package/esm/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  183. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  184. package/esm/vs/editor/contrib/middleScroll/browser/middleScrollController.js +1 -1
  185. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +36 -36
  186. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  187. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  188. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  189. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  190. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  191. package/esm/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +1 -1
  192. package/esm/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js.map +1 -1
  193. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +5 -5
  194. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  195. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -3
  196. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  197. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  198. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -5
  199. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  200. package/esm/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  201. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  202. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  203. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +17 -24
  204. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
  205. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  206. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +12 -3
  207. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js.map +1 -1
  208. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +5 -5
  209. package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  210. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +14 -14
  211. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  212. package/esm/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  213. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +23 -23
  214. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +5 -5
  215. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +5 -5
  216. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -3
  217. package/esm/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  218. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  219. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  220. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  221. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  222. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +27 -27
  223. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +9 -9
  224. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  225. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +7 -7
  226. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +4 -4
  227. package/esm/vs/editor/editor.api.d.ts +93 -85
  228. package/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  229. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  230. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  231. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  232. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  233. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  234. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  235. package/esm/vs/platform/actions/common/menuService.js +2 -2
  236. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  237. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  238. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  239. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  240. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  241. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  242. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  243. package/esm/vs/platform/list/browser/listService.js +27 -27
  244. package/esm/vs/platform/markers/common/markerService.js +2 -2
  245. package/esm/vs/platform/markers/common/markers.js +6 -6
  246. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +7 -7
  247. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  248. package/esm/vs/platform/quickinput/browser/quickInput.js +21 -13
  249. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  250. package/esm/vs/platform/quickinput/browser/quickInputActions.js +42 -8
  251. package/esm/vs/platform/quickinput/browser/quickInputActions.js.map +1 -1
  252. package/esm/vs/platform/quickinput/browser/quickInputController.js +10 -64
  253. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  254. package/esm/vs/platform/quickinput/browser/quickInputList.js +1 -1
  255. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  256. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  257. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +12 -0
  258. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
  259. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +11 -5
  260. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js.map +1 -1
  261. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  262. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  263. package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
  264. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  265. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  266. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  267. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  268. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  269. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  270. package/esm/vs/platform/theme/common/colors/miscColors.js +15 -15
  271. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  272. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  273. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  274. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  275. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  276. package/monaco.d.ts +93 -85
  277. package/package.json +6 -2
  278. package/version.txt +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/links/browser/links.ts"],"names":[],"mappings":"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","file":"links.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 { createCancelablePromise, CancelablePromise, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { onUnexpectedError } from '../../../../base/common/errors.js';\nimport { MarkdownString } from '../../../../base/common/htmlContent.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport { Schemas } from '../../../../base/common/network.js';\nimport * as platform from '../../../../base/common/platform.js';\nimport * as resources from '../../../../base/common/resources.js';\nimport { StopWatch } from '../../../../base/common/stopwatch.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport './links.css';\nimport { ICodeEditor, MouseTargetType } 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 { IEditorContribution } from '../../../common/editorCommon.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { LinkProvider } from '../../../common/languages.js';\nimport { IModelDecorationsChangeAccessor, IModelDeltaDecoration, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ClickLinkGesture, ClickLinkKeyboardEvent, ClickLinkMouseEvent } from '../../gotoSymbol/browser/link/clickLinkGesture.js';\nimport { getLinks, Link, LinksList } from './getLinks.js';\nimport * as nls from '../../../../nls.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IOpenerService } from '../../../../platform/opener/common/opener.js';\n\nexport class LinkDetector extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID: string = 'editor.linkDetector';\n\n\tpublic static get(editor: ICodeEditor): LinkDetector | null {\n\t\treturn editor.getContribution<LinkDetector>(LinkDetector.ID);\n\t}\n\n\tprivate readonly providers: LanguageFeatureRegistry<LinkProvider>;\n\tprivate readonly debounceInformation: IFeatureDebounceInformation;\n\tprivate readonly computeLinks: RunOnceScheduler;\n\tprivate computePromise: CancelablePromise<LinksList> | null;\n\tprivate activeLinksList: LinksList | null;\n\tprivate activeLinkDecorationId: string | null;\n\tprivate currentOccurrences: { [decorationId: string]: LinkOccurrence };\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\t@IOpenerService private readonly openerService: IOpenerService,\n\t\t@INotificationService private readonly notificationService: INotificationService,\n\t\t@ILanguageFeaturesService private readonly languageFeaturesService: ILanguageFeaturesService,\n\t\t@ILanguageFeatureDebounceService languageFeatureDebounceService: ILanguageFeatureDebounceService,\n\t) {\n\t\tsuper();\n\n\t\tthis.providers = this.languageFeaturesService.linkProvider;\n\t\tthis.debounceInformation = languageFeatureDebounceService.for(this.providers, 'Links', { min: 1000, max: 4000 });\n\t\tthis.computeLinks = this._register(new RunOnceScheduler(() => this.computeLinksNow(), 1000));\n\t\tthis.computePromise = null;\n\t\tthis.activeLinksList = null;\n\t\tthis.currentOccurrences = {};\n\t\tthis.activeLinkDecorationId = null;\n\n\t\tconst clickLinkGesture = this._register(new ClickLinkGesture(editor));\n\n\t\tthis._register(clickLinkGesture.onMouseMoveOrRelevantKeyDown(([mouseEvent, keyboardEvent]) => {\n\t\t\tthis._onEditorMouseMove(mouseEvent, keyboardEvent);\n\t\t}));\n\t\tthis._register(clickLinkGesture.onExecute((e) => {\n\t\t\tthis.onEditorMouseUp(e);\n\t\t}));\n\t\tthis._register(clickLinkGesture.onCancel((e) => {\n\t\t\tthis.cleanUpActiveLinkDecoration();\n\t\t}));\n\t\tthis._register(editor.onDidChangeConfiguration((e) => {\n\t\t\tif (!e.hasChanged(EditorOption.links)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Remove any links (for the getting disabled case)\n\t\t\tthis.updateDecorations([]);\n\n\t\t\t// Stop any computation (for the getting disabled case)\n\t\t\tthis.stop();\n\n\t\t\t// Start computing (for the getting enabled case)\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelContent((e) => {\n\t\t\tif (!this.editor.hasModel()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()));\n\t\t}));\n\t\tthis._register(editor.onDidChangeModel((e) => {\n\t\t\tthis.currentOccurrences = {};\n\t\t\tthis.activeLinkDecorationId = null;\n\t\t\tthis.stop();\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelLanguage((e) => {\n\t\t\tthis.stop();\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\t\tthis._register(this.providers.onDidChange((e) => {\n\t\t\tthis.stop();\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\n\t\tthis.computeLinks.schedule(0);\n\t}\n\n\tprivate async computeLinksNow(): Promise<void> {\n\t\tif (!this.editor.hasModel() || !this.editor.getOption(EditorOption.links)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.editor.getModel();\n\n\t\tif (model.isTooLargeForSyncing()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.providers.has(model)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.activeLinksList) {\n\t\t\tthis.activeLinksList.dispose();\n\t\t\tthis.activeLinksList = null;\n\t\t}\n\n\t\tthis.computePromise = createCancelablePromise(token => getLinks(this.providers, model, token));\n\t\ttry {\n\t\t\tconst sw = new StopWatch(false);\n\t\t\tthis.activeLinksList = await this.computePromise;\n\t\t\tthis.debounceInformation.update(model, sw.elapsed());\n\t\t\tif (model.isDisposed()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.updateDecorations(this.activeLinksList.links);\n\t\t} catch (err) {\n\t\t\tonUnexpectedError(err);\n\t\t} finally {\n\t\t\tthis.computePromise = null;\n\t\t}\n\t}\n\n\tprivate updateDecorations(links: Link[]): void {\n\t\tconst useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');\n\t\tconst oldDecorations: string[] = [];\n\t\tconst keys = Object.keys(this.currentOccurrences);\n\t\tfor (const decorationId of keys) {\n\t\t\tconst occurence = this.currentOccurrences[decorationId];\n\t\t\toldDecorations.push(occurence.decorationId);\n\t\t}\n\n\t\tconst newDecorations: IModelDeltaDecoration[] = [];\n\t\tif (links) {\n\t\t\t// Not sure why this is sometimes null\n\t\t\tfor (const link of links) {\n\t\t\t\tnewDecorations.push(LinkOccurrence.decoration(link, useMetaKey));\n\t\t\t}\n\t\t}\n\n\t\tthis.editor.changeDecorations((changeAccessor) => {\n\t\t\tconst decorations = changeAccessor.deltaDecorations(oldDecorations, newDecorations);\n\n\t\t\tthis.currentOccurrences = {};\n\t\t\tthis.activeLinkDecorationId = null;\n\t\t\tfor (let i = 0, len = decorations.length; i < len; i++) {\n\t\t\t\tconst occurence = new LinkOccurrence(links[i], decorations[i]);\n\t\t\t\tthis.currentOccurrences[occurence.decorationId] = occurence;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _onEditorMouseMove(mouseEvent: ClickLinkMouseEvent, withKey: ClickLinkKeyboardEvent | null): void {\n\t\tconst useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');\n\t\tif (this.isEnabled(mouseEvent, withKey)) {\n\t\t\tthis.cleanUpActiveLinkDecoration(); // always remove previous link decoration as their can only be one\n\t\t\tconst occurrence = this.getLinkOccurrence(mouseEvent.target.position);\n\t\t\tif (occurrence) {\n\t\t\t\tthis.editor.changeDecorations((changeAccessor) => {\n\t\t\t\t\toccurrence.activate(changeAccessor, useMetaKey);\n\t\t\t\t\tthis.activeLinkDecorationId = occurrence.decorationId;\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.cleanUpActiveLinkDecoration();\n\t\t}\n\t}\n\n\tprivate cleanUpActiveLinkDecoration(): void {\n\t\tconst useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');\n\t\tif (this.activeLinkDecorationId) {\n\t\t\tconst occurrence = this.currentOccurrences[this.activeLinkDecorationId];\n\t\t\tif (occurrence) {\n\t\t\t\tthis.editor.changeDecorations((changeAccessor) => {\n\t\t\t\t\toccurrence.deactivate(changeAccessor, useMetaKey);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.activeLinkDecorationId = null;\n\t\t}\n\t}\n\n\tprivate onEditorMouseUp(mouseEvent: ClickLinkMouseEvent): void {\n\t\tif (!this.isEnabled(mouseEvent)) {\n\t\t\treturn;\n\t\t}\n\t\tconst occurrence = this.getLinkOccurrence(mouseEvent.target.position);\n\t\tif (!occurrence) {\n\t\t\treturn;\n\t\t}\n\t\tthis.openLinkOccurrence(occurrence, mouseEvent.hasSideBySideModifier, true /* from user gesture */);\n\t}\n\n\tpublic openLinkOccurrence(occurrence: LinkOccurrence, openToSide: boolean, fromUserGesture = false): void {\n\n\t\tif (!this.openerService) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { link } = occurrence;\n\n\t\tlink.resolve(CancellationToken.None).then(uri => {\n\n\t\t\t// Support for relative file URIs of the shape file://./relativeFile.txt or file:///./relativeFile.txt\n\t\t\tif (typeof uri === 'string' && this.editor.hasModel()) {\n\t\t\t\tconst modelUri = this.editor.getModel().uri;\n\t\t\t\tif (modelUri.scheme === Schemas.file && uri.startsWith(`${Schemas.file}:`)) {\n\t\t\t\t\tconst parsedUri = URI.parse(uri);\n\t\t\t\t\tif (parsedUri.scheme === Schemas.file) {\n\t\t\t\t\t\tconst fsPath = resources.originalFSPath(parsedUri);\n\n\t\t\t\t\t\tlet relativePath: string | null = null;\n\t\t\t\t\t\tif (fsPath.startsWith('/./') || fsPath.startsWith('\\\\.\\\\')) {\n\t\t\t\t\t\t\trelativePath = `.${fsPath.substr(1)}`;\n\t\t\t\t\t\t} else if (fsPath.startsWith('//./') || fsPath.startsWith('\\\\\\\\.\\\\')) {\n\t\t\t\t\t\t\trelativePath = `.${fsPath.substr(2)}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (relativePath) {\n\t\t\t\t\t\t\turi = resources.joinPath(modelUri, relativePath);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.openerService.open(uri, { openToSide, fromUserGesture, allowContributedOpeners: true, allowCommands: true, fromWorkspace: true });\n\n\t\t}, err => {\n\t\t\tconst messageOrError =\n\t\t\t\terr instanceof Error ? (<Error>err).message : err;\n\t\t\t// different error cases\n\t\t\tif (messageOrError === 'invalid') {\n\t\t\t\tthis.notificationService.warn(nls.localize('invalid.url', 'Failed to open this link because it is not well-formed: {0}', link.url!.toString()));\n\t\t\t} else if (messageOrError === 'missing') {\n\t\t\t\tthis.notificationService.warn(nls.localize('missing.url', 'Failed to open this link because its target is missing.'));\n\t\t\t} else {\n\t\t\t\tonUnexpectedError(err);\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic getLinkOccurrence(position: Position | null): LinkOccurrence | null {\n\t\tif (!this.editor.hasModel() || !position) {\n\t\t\treturn null;\n\t\t}\n\t\tconst decorations = this.editor.getModel().getDecorationsInRange({\n\t\t\tstartLineNumber: position.lineNumber,\n\t\t\tstartColumn: position.column,\n\t\t\tendLineNumber: position.lineNumber,\n\t\t\tendColumn: position.column\n\t\t}, 0, true);\n\n\t\tfor (const decoration of decorations) {\n\t\t\tconst currentOccurrence = this.currentOccurrences[decoration.id];\n\t\t\tif (currentOccurrence) {\n\t\t\t\treturn currentOccurrence;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tprivate isEnabled(mouseEvent: ClickLinkMouseEvent, withKey?: ClickLinkKeyboardEvent | null): boolean {\n\t\treturn Boolean(\n\t\t\t(mouseEvent.target.type === MouseTargetType.CONTENT_TEXT)\n\t\t\t&& (mouseEvent.hasTriggerModifier || (withKey && withKey.keyCodeIsTriggerKey))\n\t\t);\n\t}\n\n\tprivate stop(): void {\n\t\tthis.computeLinks.cancel();\n\t\tif (this.activeLinksList) {\n\t\t\tthis.activeLinksList?.dispose();\n\t\t\tthis.activeLinksList = null;\n\t\t}\n\t\tif (this.computePromise) {\n\t\t\tthis.computePromise.cancel();\n\t\t\tthis.computePromise = null;\n\t\t}\n\t}\n\n\tpublic override dispose(): void {\n\t\tsuper.dispose();\n\t\tthis.stop();\n\t}\n}\n\nconst decoration = {\n\tgeneral: ModelDecorationOptions.register({\n\t\tdescription: 'detected-link',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tcollapseOnReplaceEdit: true,\n\t\tinlineClassName: 'detected-link'\n\t}),\n\tactive: ModelDecorationOptions.register({\n\t\tdescription: 'detected-link-active',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tcollapseOnReplaceEdit: true,\n\t\tinlineClassName: 'detected-link-active'\n\t})\n};\n\nclass LinkOccurrence {\n\n\tpublic static decoration(link: Link, useMetaKey: boolean): IModelDeltaDecoration {\n\t\treturn {\n\t\t\trange: link.range,\n\t\t\toptions: LinkOccurrence._getOptions(link, useMetaKey, false)\n\t\t};\n\t}\n\n\tprivate static _getOptions(link: Link, useMetaKey: boolean, isActive: boolean): ModelDecorationOptions {\n\t\tconst options = { ... (isActive ? decoration.active : decoration.general) };\n\t\toptions.hoverMessage = getHoverMessage(link, useMetaKey);\n\t\treturn options;\n\t}\n\n\tpublic decorationId: string;\n\tpublic link: Link;\n\n\tconstructor(link: Link, decorationId: string) {\n\t\tthis.link = link;\n\t\tthis.decorationId = decorationId;\n\t}\n\n\tpublic activate(changeAccessor: IModelDecorationsChangeAccessor, useMetaKey: boolean): void {\n\t\tchangeAccessor.changeDecorationOptions(this.decorationId, LinkOccurrence._getOptions(this.link, useMetaKey, true));\n\t}\n\n\tpublic deactivate(changeAccessor: IModelDecorationsChangeAccessor, useMetaKey: boolean): void {\n\t\tchangeAccessor.changeDecorationOptions(this.decorationId, LinkOccurrence._getOptions(this.link, useMetaKey, false));\n\t}\n}\n\nfunction getHoverMessage(link: Link, useMetaKey: boolean): MarkdownString {\n\tconst executeCmd = link.url && /^command:/i.test(link.url.toString());\n\n\tconst label = link.tooltip\n\t\t? link.tooltip\n\t\t: executeCmd\n\t\t\t? nls.localize('links.navigate.executeCmd', 'Execute command')\n\t\t\t: nls.localize('links.navigate.follow', 'Follow link');\n\n\tconst kb = useMetaKey\n\t\t? platform.isMacintosh\n\t\t\t? nls.localize('links.navigate.kb.meta.mac', \"cmd + click\")\n\t\t\t: nls.localize('links.navigate.kb.meta', \"ctrl + click\")\n\t\t: platform.isMacintosh\n\t\t\t? nls.localize('links.navigate.kb.alt.mac', \"option + click\")\n\t\t\t: nls.localize('links.navigate.kb.alt', \"alt + click\");\n\n\tif (link.url) {\n\t\tlet nativeLabel = '';\n\t\tif (/^command:/i.test(link.url.toString())) {\n\t\t\t// Don't show complete command arguments in the native tooltip\n\t\t\tconst match = link.url.toString().match(/^command:([^?#]+)/);\n\t\t\tif (match) {\n\t\t\t\tconst commandId = match[1];\n\t\t\t\tnativeLabel = nls.localize('tooltip.explanation', \"Execute command {0}\", commandId);\n\t\t\t}\n\t\t}\n\t\tconst hoverMessage = new MarkdownString('', true)\n\t\t\t.appendLink(link.url.toString(true).replace(/ /g, '%20'), label, nativeLabel)\n\t\t\t.appendMarkdown(` (${kb})`);\n\t\treturn hoverMessage;\n\t} else {\n\t\treturn new MarkdownString().appendText(`${label} (${kb})`);\n\t}\n}\n\nclass OpenLinkAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.openLink',\n\t\t\tlabel: nls.localize2('label', \"Open Link\"),\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tconst linkDetector = LinkDetector.get(editor);\n\t\tif (!linkDetector) {\n\t\t\treturn;\n\t\t}\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst selections = editor.getSelections();\n\t\tfor (const sel of selections) {\n\t\t\tconst link = linkDetector.getLinkOccurrence(sel.getEndPosition());\n\t\t\tif (link) {\n\t\t\t\tlinkDetector.openLinkOccurrence(link, false);\n\t\t\t}\n\t\t}\n\t}\n}\n\nregisterEditorContribution(LinkDetector.ID, LinkDetector, EditorContributionInstantiation.AfterFirstRender);\nregisterEditorAction(OpenLinkAction);\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/links/browser/links.ts"],"names":[],"mappings":"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","file":"links.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 { createCancelablePromise, CancelablePromise, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { onUnexpectedError } from '../../../../base/common/errors.js';\nimport { MarkdownString } from '../../../../base/common/htmlContent.js';\nimport { Disposable } from '../../../../base/common/lifecycle.js';\nimport { Schemas } from '../../../../base/common/network.js';\nimport * as platform from '../../../../base/common/platform.js';\nimport * as resources from '../../../../base/common/resources.js';\nimport { StopWatch } from '../../../../base/common/stopwatch.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport './links.css';\nimport { ICodeEditor, MouseTargetType } 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 { IEditorContribution } from '../../../common/editorCommon.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { LinkProvider } from '../../../common/languages.js';\nimport { IModelDecorationsChangeAccessor, IModelDeltaDecoration, TrackedRangeStickiness } from '../../../common/model.js';\nimport { ModelDecorationOptions } from '../../../common/model/textModel.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { ClickLinkGesture, ClickLinkKeyboardEvent, ClickLinkMouseEvent } from '../../gotoSymbol/browser/link/clickLinkGesture.js';\nimport { getLinks, Link, LinksList } from './getLinks.js';\nimport * as nls from '../../../../nls.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IOpenerService } from '../../../../platform/opener/common/opener.js';\n\nexport class LinkDetector extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID: string = 'editor.linkDetector';\n\n\tpublic static get(editor: ICodeEditor): LinkDetector | null {\n\t\treturn editor.getContribution<LinkDetector>(LinkDetector.ID);\n\t}\n\n\tprivate readonly providers: LanguageFeatureRegistry<LinkProvider>;\n\tprivate readonly debounceInformation: IFeatureDebounceInformation;\n\tprivate readonly computeLinks: RunOnceScheduler;\n\tprivate computePromise: CancelablePromise<LinksList> | null;\n\tprivate activeLinksList: LinksList | null;\n\tprivate activeLinkDecorationId: string | null;\n\tprivate currentOccurrences: { [decorationId: string]: LinkOccurrence };\n\n\tconstructor(\n\t\tprivate readonly editor: ICodeEditor,\n\t\t@IOpenerService private readonly openerService: IOpenerService,\n\t\t@INotificationService private readonly notificationService: INotificationService,\n\t\t@ILanguageFeaturesService private readonly languageFeaturesService: ILanguageFeaturesService,\n\t\t@ILanguageFeatureDebounceService languageFeatureDebounceService: ILanguageFeatureDebounceService,\n\t) {\n\t\tsuper();\n\n\t\tthis.providers = this.languageFeaturesService.linkProvider;\n\t\tthis.debounceInformation = languageFeatureDebounceService.for(this.providers, 'Links', { min: 1000, max: 4000 });\n\t\tthis.computeLinks = this._register(new RunOnceScheduler(() => this.computeLinksNow(), 1000));\n\t\tthis.computePromise = null;\n\t\tthis.activeLinksList = null;\n\t\tthis.currentOccurrences = {};\n\t\tthis.activeLinkDecorationId = null;\n\n\t\tconst clickLinkGesture = this._register(new ClickLinkGesture(editor));\n\n\t\tthis._register(clickLinkGesture.onMouseMoveOrRelevantKeyDown(([mouseEvent, keyboardEvent]) => {\n\t\t\tthis._onEditorMouseMove(mouseEvent, keyboardEvent);\n\t\t}));\n\t\tthis._register(clickLinkGesture.onExecute((e) => {\n\t\t\tthis.onEditorMouseUp(e);\n\t\t}));\n\t\tthis._register(clickLinkGesture.onCancel((e) => {\n\t\t\tthis.cleanUpActiveLinkDecoration();\n\t\t}));\n\t\tthis._register(editor.onDidChangeConfiguration((e) => {\n\t\t\tif (!e.hasChanged(EditorOption.links)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// Remove any links (for the getting disabled case)\n\t\t\tthis.updateDecorations([]);\n\n\t\t\t// Stop any computation (for the getting disabled case)\n\t\t\tthis.stop();\n\n\t\t\t// Start computing (for the getting enabled case)\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelContent((e) => {\n\t\t\tif (!this.editor.hasModel()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()));\n\t\t}));\n\t\tthis._register(editor.onDidChangeModel((e) => {\n\t\t\tthis.currentOccurrences = {};\n\t\t\tthis.activeLinkDecorationId = null;\n\t\t\tthis.stop();\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\t\tthis._register(editor.onDidChangeModelLanguage((e) => {\n\t\t\tthis.stop();\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\t\tthis._register(this.providers.onDidChange((e) => {\n\t\t\tthis.stop();\n\t\t\tthis.computeLinks.schedule(0);\n\t\t}));\n\n\t\tthis.computeLinks.schedule(0);\n\t}\n\n\tprivate async computeLinksNow(): Promise<void> {\n\t\tif (!this.editor.hasModel() || !this.editor.getOption(EditorOption.links)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = this.editor.getModel();\n\n\t\tif (model.isTooLargeForSyncing()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.providers.has(model)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.activeLinksList) {\n\t\t\tthis.activeLinksList.dispose();\n\t\t\tthis.activeLinksList = null;\n\t\t}\n\n\t\tthis.computePromise = createCancelablePromise(token => getLinks(this.providers, model, token));\n\t\ttry {\n\t\t\tconst sw = new StopWatch(false);\n\t\t\tthis.activeLinksList = await this.computePromise;\n\t\t\tthis.debounceInformation.update(model, sw.elapsed());\n\t\t\tif (model.isDisposed()) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.updateDecorations(this.activeLinksList.links);\n\t\t} catch (err) {\n\t\t\tonUnexpectedError(err);\n\t\t} finally {\n\t\t\tthis.computePromise = null;\n\t\t}\n\t}\n\n\tprivate updateDecorations(links: Link[]): void {\n\t\tconst useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');\n\t\tconst oldDecorations: string[] = [];\n\t\tconst keys = Object.keys(this.currentOccurrences);\n\t\tfor (const decorationId of keys) {\n\t\t\tconst occurence = this.currentOccurrences[decorationId];\n\t\t\toldDecorations.push(occurence.decorationId);\n\t\t}\n\n\t\tconst newDecorations: IModelDeltaDecoration[] = [];\n\t\tif (links) {\n\t\t\t// Not sure why this is sometimes null\n\t\t\tfor (const link of links) {\n\t\t\t\tnewDecorations.push(LinkOccurrence.decoration(link, useMetaKey));\n\t\t\t}\n\t\t}\n\n\t\tthis.editor.changeDecorations((changeAccessor) => {\n\t\t\tconst decorations = changeAccessor.deltaDecorations(oldDecorations, newDecorations);\n\n\t\t\tthis.currentOccurrences = {};\n\t\t\tthis.activeLinkDecorationId = null;\n\t\t\tfor (let i = 0, len = decorations.length; i < len; i++) {\n\t\t\t\tconst occurence = new LinkOccurrence(links[i], decorations[i]);\n\t\t\t\tthis.currentOccurrences[occurence.decorationId] = occurence;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _onEditorMouseMove(mouseEvent: ClickLinkMouseEvent, withKey: ClickLinkKeyboardEvent | null): void {\n\t\tconst useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');\n\t\tif (this.isEnabled(mouseEvent, withKey)) {\n\t\t\tthis.cleanUpActiveLinkDecoration(); // always remove previous link decoration as their can only be one\n\t\t\tconst occurrence = this.getLinkOccurrence(mouseEvent.target.position);\n\t\t\tif (occurrence) {\n\t\t\t\tthis.editor.changeDecorations((changeAccessor) => {\n\t\t\t\t\toccurrence.activate(changeAccessor, useMetaKey);\n\t\t\t\t\tthis.activeLinkDecorationId = occurrence.decorationId;\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.cleanUpActiveLinkDecoration();\n\t\t}\n\t}\n\n\tprivate cleanUpActiveLinkDecoration(): void {\n\t\tconst useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');\n\t\tif (this.activeLinkDecorationId) {\n\t\t\tconst occurrence = this.currentOccurrences[this.activeLinkDecorationId];\n\t\t\tif (occurrence) {\n\t\t\t\tthis.editor.changeDecorations((changeAccessor) => {\n\t\t\t\t\toccurrence.deactivate(changeAccessor, useMetaKey);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.activeLinkDecorationId = null;\n\t\t}\n\t}\n\n\tprivate onEditorMouseUp(mouseEvent: ClickLinkMouseEvent): void {\n\t\tif (!this.isEnabled(mouseEvent)) {\n\t\t\treturn;\n\t\t}\n\t\tconst occurrence = this.getLinkOccurrence(mouseEvent.target.position);\n\t\tif (!occurrence) {\n\t\t\treturn;\n\t\t}\n\t\tthis.openLinkOccurrence(occurrence, mouseEvent.hasSideBySideModifier, true /* from user gesture */);\n\t}\n\n\tpublic openLinkOccurrence(occurrence: LinkOccurrence, openToSide: boolean, fromUserGesture = false): void {\n\n\t\tif (!this.openerService) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { link } = occurrence;\n\n\t\tlink.resolve(CancellationToken.None).then(uri => {\n\n\t\t\t// Support for relative file URIs of the shape file://./relativeFile.txt or file:///./relativeFile.txt\n\t\t\tif (typeof uri === 'string' && this.editor.hasModel()) {\n\t\t\t\tconst modelUri = this.editor.getModel().uri;\n\t\t\t\tif (modelUri.scheme === Schemas.file && uri.startsWith(`${Schemas.file}:`)) {\n\t\t\t\t\tconst parsedUri = URI.parse(uri);\n\t\t\t\t\tif (parsedUri.scheme === Schemas.file) {\n\t\t\t\t\t\tconst fsPath = resources.originalFSPath(parsedUri);\n\n\t\t\t\t\t\tlet relativePath: string | null = null;\n\t\t\t\t\t\tif (fsPath.startsWith('/./') || fsPath.startsWith('\\\\.\\\\')) {\n\t\t\t\t\t\t\trelativePath = `.${fsPath.substr(1)}`;\n\t\t\t\t\t\t} else if (fsPath.startsWith('//./') || fsPath.startsWith('\\\\\\\\.\\\\')) {\n\t\t\t\t\t\t\trelativePath = `.${fsPath.substr(2)}`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (relativePath) {\n\t\t\t\t\t\t\turi = resources.joinPath(modelUri, relativePath);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.openerService.open(uri, { openToSide, fromUserGesture, allowContributedOpeners: true, allowCommands: true, fromWorkspace: true });\n\n\t\t}, err => {\n\t\t\tconst messageOrError =\n\t\t\t\terr instanceof Error ? (<Error>err).message : err;\n\t\t\t// different error cases\n\t\t\tif (messageOrError === 'invalid') {\n\t\t\t\tthis.notificationService.warn(nls.localize('invalid.url', 'Failed to open this link because it is not well-formed: {0}', link.url!.toString()));\n\t\t\t} else if (messageOrError === 'missing') {\n\t\t\t\tthis.notificationService.warn(nls.localize('missing.url', 'Failed to open this link because its target is missing.'));\n\t\t\t} else {\n\t\t\t\tonUnexpectedError(err);\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic getLinkOccurrence(position: Position | null): LinkOccurrence | null {\n\t\tif (!this.editor.hasModel() || !position) {\n\t\t\treturn null;\n\t\t}\n\t\tconst decorations = this.editor.getModel().getDecorationsInRange({\n\t\t\tstartLineNumber: position.lineNumber,\n\t\t\tstartColumn: position.column,\n\t\t\tendLineNumber: position.lineNumber,\n\t\t\tendColumn: position.column\n\t\t}, 0, true);\n\n\t\tfor (const decoration of decorations) {\n\t\t\tconst currentOccurrence = this.currentOccurrences[decoration.id];\n\t\t\tif (currentOccurrence) {\n\t\t\t\treturn currentOccurrence;\n\t\t\t}\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tprivate isEnabled(mouseEvent: ClickLinkMouseEvent, withKey?: ClickLinkKeyboardEvent | null): boolean {\n\t\treturn Boolean(\n\t\t\t(mouseEvent.target.type === MouseTargetType.CONTENT_TEXT)\n\t\t\t&& ((mouseEvent.hasTriggerModifier || (withKey && withKey.keyCodeIsTriggerKey)) || mouseEvent.isMiddleClick && mouseEvent.mouseMiddleClickAction === 'openLink')\n\t\t);\n\t}\n\n\tprivate stop(): void {\n\t\tthis.computeLinks.cancel();\n\t\tif (this.activeLinksList) {\n\t\t\tthis.activeLinksList?.dispose();\n\t\t\tthis.activeLinksList = null;\n\t\t}\n\t\tif (this.computePromise) {\n\t\t\tthis.computePromise.cancel();\n\t\t\tthis.computePromise = null;\n\t\t}\n\t}\n\n\tpublic override dispose(): void {\n\t\tsuper.dispose();\n\t\tthis.stop();\n\t}\n}\n\nconst decoration = {\n\tgeneral: ModelDecorationOptions.register({\n\t\tdescription: 'detected-link',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tcollapseOnReplaceEdit: true,\n\t\tinlineClassName: 'detected-link'\n\t}),\n\tactive: ModelDecorationOptions.register({\n\t\tdescription: 'detected-link-active',\n\t\tstickiness: TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,\n\t\tcollapseOnReplaceEdit: true,\n\t\tinlineClassName: 'detected-link-active'\n\t})\n};\n\nclass LinkOccurrence {\n\n\tpublic static decoration(link: Link, useMetaKey: boolean): IModelDeltaDecoration {\n\t\treturn {\n\t\t\trange: link.range,\n\t\t\toptions: LinkOccurrence._getOptions(link, useMetaKey, false)\n\t\t};\n\t}\n\n\tprivate static _getOptions(link: Link, useMetaKey: boolean, isActive: boolean): ModelDecorationOptions {\n\t\tconst options = { ... (isActive ? decoration.active : decoration.general) };\n\t\toptions.hoverMessage = getHoverMessage(link, useMetaKey);\n\t\treturn options;\n\t}\n\n\tpublic decorationId: string;\n\tpublic link: Link;\n\n\tconstructor(link: Link, decorationId: string) {\n\t\tthis.link = link;\n\t\tthis.decorationId = decorationId;\n\t}\n\n\tpublic activate(changeAccessor: IModelDecorationsChangeAccessor, useMetaKey: boolean): void {\n\t\tchangeAccessor.changeDecorationOptions(this.decorationId, LinkOccurrence._getOptions(this.link, useMetaKey, true));\n\t}\n\n\tpublic deactivate(changeAccessor: IModelDecorationsChangeAccessor, useMetaKey: boolean): void {\n\t\tchangeAccessor.changeDecorationOptions(this.decorationId, LinkOccurrence._getOptions(this.link, useMetaKey, false));\n\t}\n}\n\nfunction getHoverMessage(link: Link, useMetaKey: boolean): MarkdownString {\n\tconst executeCmd = link.url && /^command:/i.test(link.url.toString());\n\n\tconst label = link.tooltip\n\t\t? link.tooltip\n\t\t: executeCmd\n\t\t\t? nls.localize('links.navigate.executeCmd', 'Execute command')\n\t\t\t: nls.localize('links.navigate.follow', 'Follow link');\n\n\tconst kb = useMetaKey\n\t\t? platform.isMacintosh\n\t\t\t? nls.localize('links.navigate.kb.meta.mac', \"cmd + click\")\n\t\t\t: nls.localize('links.navigate.kb.meta', \"ctrl + click\")\n\t\t: platform.isMacintosh\n\t\t\t? nls.localize('links.navigate.kb.alt.mac', \"option + click\")\n\t\t\t: nls.localize('links.navigate.kb.alt', \"alt + click\");\n\n\tif (link.url) {\n\t\tlet nativeLabel = '';\n\t\tif (/^command:/i.test(link.url.toString())) {\n\t\t\t// Don't show complete command arguments in the native tooltip\n\t\t\tconst match = link.url.toString().match(/^command:([^?#]+)/);\n\t\t\tif (match) {\n\t\t\t\tconst commandId = match[1];\n\t\t\t\tnativeLabel = nls.localize('tooltip.explanation', \"Execute command {0}\", commandId);\n\t\t\t}\n\t\t}\n\t\tconst hoverMessage = new MarkdownString('', true)\n\t\t\t.appendLink(link.url.toString(true).replace(/ /g, '%20'), label, nativeLabel)\n\t\t\t.appendMarkdown(` (${kb})`);\n\t\treturn hoverMessage;\n\t} else {\n\t\treturn new MarkdownString().appendText(`${label} (${kb})`);\n\t}\n}\n\nclass OpenLinkAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.openLink',\n\t\t\tlabel: nls.localize2('label', \"Open Link\"),\n\t\t\tprecondition: undefined\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tconst linkDetector = LinkDetector.get(editor);\n\t\tif (!linkDetector) {\n\t\t\treturn;\n\t\t}\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst selections = editor.getSelections();\n\t\tfor (const sel of selections) {\n\t\t\tconst link = linkDetector.getLinkOccurrence(sel.getEndPosition());\n\t\t\tif (link) {\n\t\t\t\tlinkDetector.openLinkOccurrence(link, false);\n\t\t\t}\n\t\t}\n\t}\n}\n\nregisterEditorContribution(LinkDetector.ID, LinkDetector, EditorContributionInstantiation.AfterFirstRender);\nregisterEditorAction(OpenLinkAction);\n"]}
@@ -10,7 +10,7 @@ class LongLinesHelper extends Disposable {
10
10
  super();
11
11
  this._editor = _editor;
12
12
  this._register(this._editor.onMouseDown((e) => {
13
- const stopRenderingLineAfter = this._editor.getOption(132 /* EditorOption.stopRenderingLineAfter */);
13
+ const stopRenderingLineAfter = this._editor.getOption(133 /* EditorOption.stopRenderingLineAfter */);
14
14
  if (stopRenderingLineAfter >= 0 && e.target.type === 6 /* MouseTargetType.CONTENT_TEXT */ && e.target.position.column >= stopRenderingLineAfter) {
15
15
  this._editor.updateOptions({
16
16
  stopRenderingLineAfter: -1
@@ -28,7 +28,7 @@ import * as dom from '../../../../base/browser/dom.js';
28
28
  let MessageController = class MessageController {
29
29
  static { MessageController_1 = this; }
30
30
  static { this.ID = 'editor.contrib.messageController'; }
31
- static { this.MESSAGE_VISIBLE = new RawContextKey('messageVisible', false, nls.localize(1274, 'Whether the editor is currently showing an inline message')); }
31
+ static { this.MESSAGE_VISIBLE = new RawContextKey('messageVisible', false, nls.localize(1275, 'Whether the editor is currently showing an inline message')); }
32
32
  static get(editor) {
33
33
  return editor.getContribution(MessageController_1.ID);
34
34
  }
@@ -16,7 +16,7 @@ export class MiddleScrollController extends Disposable {
16
16
  super();
17
17
  this._editor = _editor;
18
18
  const obsEditor = observableCodeEditor(this._editor);
19
- const scrollOnMiddleClick = obsEditor.getOption(170 /* EditorOption.scrollOnMiddleClick */);
19
+ const scrollOnMiddleClick = obsEditor.getOption(171 /* EditorOption.scrollOnMiddleClick */);
20
20
  this._register(autorun(reader => {
21
21
  if (!scrollOnMiddleClick.read(reader)) {
22
22
  return;
@@ -32,7 +32,7 @@ function announceCursorChange(previousCursorState, cursorState) {
32
32
  const cursorDiff = cursorState.filter(cs => !previousCursorState.find(pcs => pcs.equals(cs)));
33
33
  if (cursorDiff.length >= 1) {
34
34
  const cursorPositions = cursorDiff.map(cs => `line ${cs.viewState.position.lineNumber} column ${cs.viewState.position.column}`).join(', ');
35
- const msg = cursorDiff.length === 1 ? nls.localize(1275, "Cursor added: {0}", cursorPositions) : nls.localize(1276, "Cursors added: {0}", cursorPositions);
35
+ const msg = cursorDiff.length === 1 ? nls.localize(1276, "Cursor added: {0}", cursorPositions) : nls.localize(1277, "Cursors added: {0}", cursorPositions);
36
36
  status(msg);
37
37
  }
38
38
  }
@@ -40,7 +40,7 @@ export class InsertCursorAbove extends EditorAction {
40
40
  constructor() {
41
41
  super({
42
42
  id: 'editor.action.insertCursorAbove',
43
- label: nls.localize2(1285, "Add Cursor Above"),
43
+ label: nls.localize2(1286, "Add Cursor Above"),
44
44
  precondition: undefined,
45
45
  kbOpts: {
46
46
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -54,7 +54,7 @@ export class InsertCursorAbove extends EditorAction {
54
54
  menuOpts: {
55
55
  menuId: MenuId.MenubarSelectionMenu,
56
56
  group: '3_multi',
57
- title: nls.localize(1277, "&&Add Cursor Above"),
57
+ title: nls.localize(1278, "&&Add Cursor Above"),
58
58
  order: 2
59
59
  }
60
60
  });
@@ -82,7 +82,7 @@ export class InsertCursorBelow extends EditorAction {
82
82
  constructor() {
83
83
  super({
84
84
  id: 'editor.action.insertCursorBelow',
85
- label: nls.localize2(1286, "Add Cursor Below"),
85
+ label: nls.localize2(1287, "Add Cursor Below"),
86
86
  precondition: undefined,
87
87
  kbOpts: {
88
88
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -96,7 +96,7 @@ export class InsertCursorBelow extends EditorAction {
96
96
  menuOpts: {
97
97
  menuId: MenuId.MenubarSelectionMenu,
98
98
  group: '3_multi',
99
- title: nls.localize(1278, "A&&dd Cursor Below"),
99
+ title: nls.localize(1279, "A&&dd Cursor Below"),
100
100
  order: 3
101
101
  }
102
102
  });
@@ -124,7 +124,7 @@ class InsertCursorAtEndOfEachLineSelected extends EditorAction {
124
124
  constructor() {
125
125
  super({
126
126
  id: 'editor.action.insertCursorAtEndOfEachLineSelected',
127
- label: nls.localize2(1287, "Add Cursors to Line Ends"),
127
+ label: nls.localize2(1288, "Add Cursors to Line Ends"),
128
128
  precondition: undefined,
129
129
  kbOpts: {
130
130
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -134,7 +134,7 @@ class InsertCursorAtEndOfEachLineSelected extends EditorAction {
134
134
  menuOpts: {
135
135
  menuId: MenuId.MenubarSelectionMenu,
136
136
  group: '3_multi',
137
- title: nls.localize(1279, "Add C&&ursors to Line Ends"),
137
+ title: nls.localize(1280, "Add C&&ursors to Line Ends"),
138
138
  order: 4
139
139
  }
140
140
  });
@@ -171,7 +171,7 @@ class InsertCursorAtEndOfLineSelected extends EditorAction {
171
171
  constructor() {
172
172
  super({
173
173
  id: 'editor.action.addCursorsToBottom',
174
- label: nls.localize2(1288, "Add Cursors to Bottom"),
174
+ label: nls.localize2(1289, "Add Cursors to Bottom"),
175
175
  precondition: undefined
176
176
  });
177
177
  }
@@ -197,7 +197,7 @@ class InsertCursorAtTopOfLineSelected extends EditorAction {
197
197
  constructor() {
198
198
  super({
199
199
  id: 'editor.action.addCursorsToTop',
200
- label: nls.localize2(1289, "Add Cursors to Top"),
200
+ label: nls.localize2(1290, "Add Cursors to Top"),
201
201
  precondition: undefined
202
202
  });
203
203
  }
@@ -315,7 +315,7 @@ export class MultiCursorSession {
315
315
  this.findController.highlightFindOptions();
316
316
  const allSelections = this._editor.getSelections();
317
317
  const lastAddedSelection = allSelections[allSelections.length - 1];
318
- const nextMatch = this._editor.getModel().findNextMatch(this.searchText, lastAddedSelection.getEndPosition(), false, this.matchCase, this.wholeWord ? this._editor.getOption(147 /* EditorOption.wordSeparators */) : null, false);
318
+ const nextMatch = this._editor.getModel().findNextMatch(this.searchText, lastAddedSelection.getEndPosition(), false, this.matchCase, this.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false);
319
319
  if (!nextMatch) {
320
320
  return null;
321
321
  }
@@ -355,7 +355,7 @@ export class MultiCursorSession {
355
355
  this.findController.highlightFindOptions();
356
356
  const allSelections = this._editor.getSelections();
357
357
  const lastAddedSelection = allSelections[allSelections.length - 1];
358
- const previousMatch = this._editor.getModel().findPreviousMatch(this.searchText, lastAddedSelection.getStartPosition(), false, this.matchCase, this.wholeWord ? this._editor.getOption(147 /* EditorOption.wordSeparators */) : null, false);
358
+ const previousMatch = this._editor.getModel().findPreviousMatch(this.searchText, lastAddedSelection.getStartPosition(), false, this.matchCase, this.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false);
359
359
  if (!previousMatch) {
360
360
  return null;
361
361
  }
@@ -368,9 +368,9 @@ export class MultiCursorSession {
368
368
  this.findController.highlightFindOptions();
369
369
  const editorModel = this._editor.getModel();
370
370
  if (searchScope) {
371
- return editorModel.findMatches(this.searchText, searchScope, false, this.matchCase, this.wholeWord ? this._editor.getOption(147 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
371
+ return editorModel.findMatches(this.searchText, searchScope, false, this.matchCase, this.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
372
372
  }
373
- return editorModel.findMatches(this.searchText, true, false, this.matchCase, this.wholeWord ? this._editor.getOption(147 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
373
+ return editorModel.findMatches(this.searchText, true, false, this.matchCase, this.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
374
374
  }
375
375
  }
376
376
  export class MultiCursorSelectionController extends Disposable {
@@ -518,10 +518,10 @@ export class MultiCursorSelectionController extends Disposable {
518
518
  if (findState.isRevealed && findState.searchString.length > 0 && findState.isRegex) {
519
519
  const editorModel = this._editor.getModel();
520
520
  if (findState.searchScope) {
521
- matches = editorModel.findMatches(findState.searchString, findState.searchScope, findState.isRegex, findState.matchCase, findState.wholeWord ? this._editor.getOption(147 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
521
+ matches = editorModel.findMatches(findState.searchString, findState.searchScope, findState.isRegex, findState.matchCase, findState.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
522
522
  }
523
523
  else {
524
- matches = editorModel.findMatches(findState.searchString, true, findState.isRegex, findState.matchCase, findState.wholeWord ? this._editor.getOption(147 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
524
+ matches = editorModel.findMatches(findState.searchString, true, findState.isRegex, findState.matchCase, findState.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false, 1073741824 /* Constants.MAX_SAFE_SMALL_INTEGER */);
525
525
  }
526
526
  }
527
527
  else {
@@ -574,7 +574,7 @@ export class AddSelectionToNextFindMatchAction extends MultiCursorSelectionContr
574
574
  constructor() {
575
575
  super({
576
576
  id: 'editor.action.addSelectionToNextFindMatch',
577
- label: nls.localize2(1290, "Add Selection to Next Find Match"),
577
+ label: nls.localize2(1291, "Add Selection to Next Find Match"),
578
578
  precondition: undefined,
579
579
  kbOpts: {
580
580
  kbExpr: EditorContextKeys.focus,
@@ -584,7 +584,7 @@ export class AddSelectionToNextFindMatchAction extends MultiCursorSelectionContr
584
584
  menuOpts: {
585
585
  menuId: MenuId.MenubarSelectionMenu,
586
586
  group: '3_multi',
587
- title: nls.localize(1280, "Add &&Next Occurrence"),
587
+ title: nls.localize(1281, "Add &&Next Occurrence"),
588
588
  order: 5
589
589
  }
590
590
  });
@@ -597,12 +597,12 @@ export class AddSelectionToPreviousFindMatchAction extends MultiCursorSelectionC
597
597
  constructor() {
598
598
  super({
599
599
  id: 'editor.action.addSelectionToPreviousFindMatch',
600
- label: nls.localize2(1291, "Add Selection to Previous Find Match"),
600
+ label: nls.localize2(1292, "Add Selection to Previous Find Match"),
601
601
  precondition: undefined,
602
602
  menuOpts: {
603
603
  menuId: MenuId.MenubarSelectionMenu,
604
604
  group: '3_multi',
605
- title: nls.localize(1281, "Add P&&revious Occurrence"),
605
+ title: nls.localize(1282, "Add P&&revious Occurrence"),
606
606
  order: 6
607
607
  }
608
608
  });
@@ -615,7 +615,7 @@ export class MoveSelectionToNextFindMatchAction extends MultiCursorSelectionCont
615
615
  constructor() {
616
616
  super({
617
617
  id: 'editor.action.moveSelectionToNextFindMatch',
618
- label: nls.localize2(1292, "Move Last Selection to Next Find Match"),
618
+ label: nls.localize2(1293, "Move Last Selection to Next Find Match"),
619
619
  precondition: undefined,
620
620
  kbOpts: {
621
621
  kbExpr: EditorContextKeys.focus,
@@ -632,7 +632,7 @@ export class MoveSelectionToPreviousFindMatchAction extends MultiCursorSelection
632
632
  constructor() {
633
633
  super({
634
634
  id: 'editor.action.moveSelectionToPreviousFindMatch',
635
- label: nls.localize2(1293, "Move Last Selection to Previous Find Match"),
635
+ label: nls.localize2(1294, "Move Last Selection to Previous Find Match"),
636
636
  precondition: undefined
637
637
  });
638
638
  }
@@ -644,7 +644,7 @@ export class SelectHighlightsAction extends MultiCursorSelectionControllerAction
644
644
  constructor() {
645
645
  super({
646
646
  id: 'editor.action.selectHighlights',
647
- label: nls.localize2(1294, "Select All Occurrences of Find Match"),
647
+ label: nls.localize2(1295, "Select All Occurrences of Find Match"),
648
648
  precondition: undefined,
649
649
  kbOpts: {
650
650
  kbExpr: EditorContextKeys.focus,
@@ -654,7 +654,7 @@ export class SelectHighlightsAction extends MultiCursorSelectionControllerAction
654
654
  menuOpts: {
655
655
  menuId: MenuId.MenubarSelectionMenu,
656
656
  group: '3_multi',
657
- title: nls.localize(1282, "Select All &&Occurrences"),
657
+ title: nls.localize(1283, "Select All &&Occurrences"),
658
658
  order: 7
659
659
  }
660
660
  });
@@ -667,7 +667,7 @@ export class CompatChangeAll extends MultiCursorSelectionControllerAction {
667
667
  constructor() {
668
668
  super({
669
669
  id: 'editor.action.changeAll',
670
- label: nls.localize2(1295, "Change All Occurrences"),
670
+ label: nls.localize2(1296, "Change All Occurrences"),
671
671
  precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.editorTextFocus),
672
672
  kbOpts: {
673
673
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -716,16 +716,16 @@ let SelectionHighlighter = class SelectionHighlighter extends Disposable {
716
716
  super();
717
717
  this._languageFeaturesService = _languageFeaturesService;
718
718
  this.editor = editor;
719
- this._isEnabled = editor.getOption(121 /* EditorOption.selectionHighlight */);
720
- this._isEnabledMultiline = editor.getOption(123 /* EditorOption.selectionHighlightMultiline */);
721
- this._maxLength = editor.getOption(122 /* EditorOption.selectionHighlightMaxLength */);
719
+ this._isEnabled = editor.getOption(122 /* EditorOption.selectionHighlight */);
720
+ this._isEnabledMultiline = editor.getOption(124 /* EditorOption.selectionHighlightMultiline */);
721
+ this._maxLength = editor.getOption(123 /* EditorOption.selectionHighlightMaxLength */);
722
722
  this._decorations = editor.createDecorationsCollection();
723
723
  this.updateSoon = this._register(new RunOnceScheduler(() => this._update(), 300));
724
724
  this.state = null;
725
725
  this._register(editor.onDidChangeConfiguration((e) => {
726
- this._isEnabled = editor.getOption(121 /* EditorOption.selectionHighlight */);
727
- this._isEnabledMultiline = editor.getOption(123 /* EditorOption.selectionHighlightMultiline */);
728
- this._maxLength = editor.getOption(122 /* EditorOption.selectionHighlightMaxLength */);
726
+ this._isEnabled = editor.getOption(122 /* EditorOption.selectionHighlight */);
727
+ this._isEnabledMultiline = editor.getOption(124 /* EditorOption.selectionHighlightMultiline */);
728
+ this._maxLength = editor.getOption(123 /* EditorOption.selectionHighlightMaxLength */);
729
729
  }));
730
730
  this._register(editor.onDidChangeCursorSelection((e) => {
731
731
  if (!this._isEnabled) {
@@ -836,7 +836,7 @@ let SelectionHighlighter = class SelectionHighlighter extends Disposable {
836
836
  return null;
837
837
  }
838
838
  }
839
- return new SelectionHighlighterState(editor.getModel(), r.searchText, r.matchCase, r.wholeWord ? editor.getOption(147 /* EditorOption.wordSeparators */) : null, oldState);
839
+ return new SelectionHighlighterState(editor.getModel(), r.searchText, r.matchCase, r.wholeWord ? editor.getOption(148 /* EditorOption.wordSeparators */) : null, oldState);
840
840
  }
841
841
  _setState(newState) {
842
842
  this.state = newState;
@@ -884,7 +884,7 @@ let SelectionHighlighter = class SelectionHighlighter extends Disposable {
884
884
  }
885
885
  }
886
886
  }
887
- const occurrenceHighlighting = this.editor.getOption(89 /* EditorOption.occurrencesHighlight */) !== 'off';
887
+ const occurrenceHighlighting = this.editor.getOption(90 /* EditorOption.occurrencesHighlight */) !== 'off';
888
888
  const hasSemanticHighlights = this._languageFeaturesService.documentHighlightProvider.has(model) && occurrenceHighlighting;
889
889
  const decorations = matches.map(r => {
890
890
  return {
@@ -925,9 +925,9 @@ export class FocusNextCursor extends EditorAction {
925
925
  constructor() {
926
926
  super({
927
927
  id: 'editor.action.focusNextCursor',
928
- label: nls.localize2(1296, "Focus Next Cursor"),
928
+ label: nls.localize2(1297, "Focus Next Cursor"),
929
929
  metadata: {
930
- description: nls.localize(1283, "Focuses the next cursor"),
930
+ description: nls.localize(1284, "Focuses the next cursor"),
931
931
  args: [],
932
932
  },
933
933
  precondition: undefined
@@ -957,9 +957,9 @@ export class FocusPreviousCursor extends EditorAction {
957
957
  constructor() {
958
958
  super({
959
959
  id: 'editor.action.focusPreviousCursor',
960
- label: nls.localize2(1297, "Focus Previous Cursor"),
960
+ label: nls.localize2(1298, "Focus Previous Cursor"),
961
961
  metadata: {
962
- description: nls.localize(1284, "Focuses the previous cursor"),
962
+ description: nls.localize(1285, "Focuses the previous cursor"),
963
963
  args: [],
964
964
  },
965
965
  precondition: undefined
@@ -67,7 +67,7 @@ export class TriggerParameterHintsAction extends EditorAction {
67
67
  constructor() {
68
68
  super({
69
69
  id: 'editor.action.triggerParameterHints',
70
- label: nls.localize2(1298, "Trigger Parameter Hints"),
70
+ label: nls.localize2(1299, "Trigger Parameter Hints"),
71
71
  precondition: EditorContextKeys.hasSignatureHelpProvider,
72
72
  kbOpts: {
73
73
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -88,7 +88,7 @@ export class ParameterHintsModel extends Disposable {
88
88
  const length = this.state.hints.signatures.length;
89
89
  const activeSignature = this.state.hints.activeSignature;
90
90
  const last = (activeSignature % length) === (length - 1);
91
- const cycle = this.editor.getOption(97 /* EditorOption.parameterHints */).cycle;
91
+ const cycle = this.editor.getOption(98 /* EditorOption.parameterHints */).cycle;
92
92
  // If there is only one signature, or we're on last signature of list
93
93
  if ((length < 2 || last) && !cycle) {
94
94
  this.cancel();
@@ -103,7 +103,7 @@ export class ParameterHintsModel extends Disposable {
103
103
  const length = this.state.hints.signatures.length;
104
104
  const activeSignature = this.state.hints.activeSignature;
105
105
  const first = activeSignature === 0;
106
- const cycle = this.editor.getOption(97 /* EditorOption.parameterHints */).cycle;
106
+ const cycle = this.editor.getOption(98 /* EditorOption.parameterHints */).cycle;
107
107
  // If there is only one signature, or we're on first signature of list
108
108
  if ((length < 2 || first) && !cycle) {
109
109
  this.cancel();
@@ -230,7 +230,7 @@ export class ParameterHintsModel extends Disposable {
230
230
  }
231
231
  }
232
232
  onEditorConfigurationChange() {
233
- this.triggerOnType = this.editor.getOption(97 /* EditorOption.parameterHints */).enabled;
233
+ this.triggerOnType = this.editor.getOption(98 /* EditorOption.parameterHints */).enabled;
234
234
  if (!this.triggerOnType) {
235
235
  this.cancel();
236
236
  }
@@ -32,8 +32,8 @@ import { listHighlightForeground, registerColor } from '../../../../platform/the
32
32
  import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
33
33
  import { ThemeIcon } from '../../../../base/common/themables.js';
34
34
  const $ = dom.$;
35
- const parameterHintsNextIcon = registerIcon('parameter-hints-next', Codicon.chevronDown, nls.localize(1299, 'Icon for show next parameter hint.'));
36
- const parameterHintsPreviousIcon = registerIcon('parameter-hints-previous', Codicon.chevronUp, nls.localize(1300, 'Icon for show previous parameter hint.'));
35
+ const parameterHintsNextIcon = registerIcon('parameter-hints-next', Codicon.chevronDown, nls.localize(1300, 'Icon for show next parameter hint.'));
36
+ const parameterHintsPreviousIcon = registerIcon('parameter-hints-previous', Codicon.chevronUp, nls.localize(1301, 'Icon for show previous parameter hint.'));
37
37
  let ParameterHintsWidget = class ParameterHintsWidget extends Disposable {
38
38
  static { ParameterHintsWidget_1 = this; }
39
39
  static { this.ID = 'editor.widget.parameterHintsWidget'; }
@@ -208,7 +208,7 @@ let ParameterHintsWidget = class ParameterHintsWidget extends Disposable {
208
208
  // Select method gets called on every user type while parameter hints are visible.
209
209
  // We do not want to spam the user with same announcements, so we only announce if the current parameter changed.
210
210
  if (this.announcedLabel !== labelToAnnounce) {
211
- aria.alert(nls.localize(1301, "{0}, hint", labelToAnnounce));
211
+ aria.alert(nls.localize(1302, "{0}, hint", labelToAnnounce));
212
212
  this.announcedLabel = labelToAnnounce;
213
213
  }
214
214
  }
@@ -306,5 +306,5 @@ ParameterHintsWidget = ParameterHintsWidget_1 = __decorate([
306
306
  __param(4, ILanguageService)
307
307
  ], ParameterHintsWidget);
308
308
  export { ParameterHintsWidget };
309
- registerColor('editorHoverWidget.highlightForeground', listHighlightForeground, nls.localize(1302, 'Foreground color of the active item in the parameter hint.'));
309
+ registerColor('editorHoverWidget.highlightForeground', listHighlightForeground, nls.localize(1303, 'Foreground color of the active item in the parameter hint.'));
310
310
  //# sourceMappingURL=parameterHintsWidget.js.map
@@ -53,7 +53,7 @@ registerSingleton(IPeekViewService, class {
53
53
  }, 1 /* InstantiationType.Delayed */);
54
54
  export var PeekContext;
55
55
  (function (PeekContext) {
56
- PeekContext.inPeekEditor = new RawContextKey('inReferenceSearchEditor', true, nls.localize(1303, "Whether the current code editor is embedded inside peek"));
56
+ PeekContext.inPeekEditor = new RawContextKey('inReferenceSearchEditor', true, nls.localize(1304, "Whether the current code editor is embedded inside peek"));
57
57
  PeekContext.notInPeekEditor = PeekContext.inPeekEditor.toNegated();
58
58
  })(PeekContext || (PeekContext = {}));
59
59
  let PeekContextController = class PeekContextController {
@@ -149,7 +149,7 @@ let PeekViewWidget = class PeekViewWidget extends ZoneWidget {
149
149
  this._actionbarWidget = new ActionBar(actionsContainer, actionBarOptions);
150
150
  this._disposables.add(this._actionbarWidget);
151
151
  if (!noCloseAction) {
152
- this._actionbarWidget.push(this._disposables.add(new Action('peekview.close', nls.localize(1304, "Close"), ThemeIcon.asClassName(Codicon.close), true, () => {
152
+ this._actionbarWidget.push(this._disposables.add(new Action('peekview.close', nls.localize(1305, "Close"), ThemeIcon.asClassName(Codicon.close), true, () => {
153
153
  this.dispose();
154
154
  return Promise.resolve();
155
155
  })), { label: false, icon: true });
@@ -216,20 +216,20 @@ PeekViewWidget = __decorate([
216
216
  __param(2, IInstantiationService)
217
217
  ], PeekViewWidget);
218
218
  export { PeekViewWidget };
219
- export const peekViewTitleBackground = registerColor('peekViewTitle.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(1305, 'Background color of the peek view title area.'));
220
- export const peekViewTitleForeground = registerColor('peekViewTitleLabel.foreground', { dark: Color.white, light: Color.black, hcDark: Color.white, hcLight: editorForeground }, nls.localize(1306, 'Color of the peek view title.'));
221
- export const peekViewTitleInfoForeground = registerColor('peekViewTitleDescription.foreground', { dark: '#ccccccb3', light: '#616161', hcDark: '#FFFFFF99', hcLight: '#292929' }, nls.localize(1307, 'Color of the peek view title info.'));
222
- export const peekViewBorder = registerColor('peekView.border', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize(1308, 'Color of the peek view borders and arrow.'));
223
- export const peekViewResultsBackground = registerColor('peekViewResult.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(1309, 'Background color of the peek view result list.'));
224
- export const peekViewResultsMatchForeground = registerColor('peekViewResult.lineForeground', { dark: '#bbbbbb', light: '#646465', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1310, 'Foreground color for line nodes in the peek view result list.'));
225
- export const peekViewResultsFileForeground = registerColor('peekViewResult.fileForeground', { dark: Color.white, light: '#1E1E1E', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1311, 'Foreground color for file nodes in the peek view result list.'));
226
- export const peekViewResultsSelectionBackground = registerColor('peekViewResult.selectionBackground', { dark: '#3399ff33', light: '#3399ff33', hcDark: null, hcLight: null }, nls.localize(1312, 'Background color of the selected entry in the peek view result list.'));
227
- export const peekViewResultsSelectionForeground = registerColor('peekViewResult.selectionForeground', { dark: Color.white, light: '#6C6C6C', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1313, 'Foreground color of the selected entry in the peek view result list.'));
228
- export const peekViewEditorBackground = registerColor('peekViewEditor.background', { dark: '#001F33', light: '#F2F8FC', hcDark: Color.black, hcLight: Color.white }, nls.localize(1314, 'Background color of the peek view editor.'));
229
- export const peekViewEditorGutterBackground = registerColor('peekViewEditorGutter.background', peekViewEditorBackground, nls.localize(1315, 'Background color of the gutter in the peek view editor.'));
230
- export const peekViewEditorStickyScrollBackground = registerColor('peekViewEditorStickyScroll.background', peekViewEditorBackground, nls.localize(1316, 'Background color of sticky scroll in the peek view editor.'));
231
- export const peekViewEditorStickyScrollGutterBackground = registerColor('peekViewEditorStickyScrollGutter.background', peekViewEditorBackground, nls.localize(1317, 'Background color of the gutter part of sticky scroll in the peek view editor.'));
232
- export const peekViewResultsMatchHighlight = registerColor('peekViewResult.matchHighlightBackground', { dark: '#ea5c004d', light: '#ea5c004d', hcDark: null, hcLight: null }, nls.localize(1318, 'Match highlight color in the peek view result list.'));
233
- export const peekViewEditorMatchHighlight = registerColor('peekViewEditor.matchHighlightBackground', { dark: '#ff8f0099', light: '#f5d802de', hcDark: null, hcLight: null }, nls.localize(1319, 'Match highlight color in the peek view editor.'));
234
- export const peekViewEditorMatchHighlightBorder = registerColor('peekViewEditor.matchHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize(1320, 'Match highlight border in the peek view editor.'));
219
+ export const peekViewTitleBackground = registerColor('peekViewTitle.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(1306, 'Background color of the peek view title area.'));
220
+ export const peekViewTitleForeground = registerColor('peekViewTitleLabel.foreground', { dark: Color.white, light: Color.black, hcDark: Color.white, hcLight: editorForeground }, nls.localize(1307, 'Color of the peek view title.'));
221
+ export const peekViewTitleInfoForeground = registerColor('peekViewTitleDescription.foreground', { dark: '#ccccccb3', light: '#616161', hcDark: '#FFFFFF99', hcLight: '#292929' }, nls.localize(1308, 'Color of the peek view title info.'));
222
+ export const peekViewBorder = registerColor('peekView.border', { dark: editorInfoForeground, light: editorInfoForeground, hcDark: contrastBorder, hcLight: contrastBorder }, nls.localize(1309, 'Color of the peek view borders and arrow.'));
223
+ export const peekViewResultsBackground = registerColor('peekViewResult.background', { dark: '#252526', light: '#F3F3F3', hcDark: Color.black, hcLight: Color.white }, nls.localize(1310, 'Background color of the peek view result list.'));
224
+ export const peekViewResultsMatchForeground = registerColor('peekViewResult.lineForeground', { dark: '#bbbbbb', light: '#646465', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1311, 'Foreground color for line nodes in the peek view result list.'));
225
+ export const peekViewResultsFileForeground = registerColor('peekViewResult.fileForeground', { dark: Color.white, light: '#1E1E1E', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1312, 'Foreground color for file nodes in the peek view result list.'));
226
+ export const peekViewResultsSelectionBackground = registerColor('peekViewResult.selectionBackground', { dark: '#3399ff33', light: '#3399ff33', hcDark: null, hcLight: null }, nls.localize(1313, 'Background color of the selected entry in the peek view result list.'));
227
+ export const peekViewResultsSelectionForeground = registerColor('peekViewResult.selectionForeground', { dark: Color.white, light: '#6C6C6C', hcDark: Color.white, hcLight: editorForeground }, nls.localize(1314, 'Foreground color of the selected entry in the peek view result list.'));
228
+ export const peekViewEditorBackground = registerColor('peekViewEditor.background', { dark: '#001F33', light: '#F2F8FC', hcDark: Color.black, hcLight: Color.white }, nls.localize(1315, 'Background color of the peek view editor.'));
229
+ export const peekViewEditorGutterBackground = registerColor('peekViewEditorGutter.background', peekViewEditorBackground, nls.localize(1316, 'Background color of the gutter in the peek view editor.'));
230
+ export const peekViewEditorStickyScrollBackground = registerColor('peekViewEditorStickyScroll.background', peekViewEditorBackground, nls.localize(1317, 'Background color of sticky scroll in the peek view editor.'));
231
+ export const peekViewEditorStickyScrollGutterBackground = registerColor('peekViewEditorStickyScrollGutter.background', peekViewEditorBackground, nls.localize(1318, 'Background color of the gutter part of sticky scroll in the peek view editor.'));
232
+ export const peekViewResultsMatchHighlight = registerColor('peekViewResult.matchHighlightBackground', { dark: '#ea5c004d', light: '#ea5c004d', hcDark: null, hcLight: null }, nls.localize(1319, 'Match highlight color in the peek view result list.'));
233
+ export const peekViewEditorMatchHighlight = registerColor('peekViewEditor.matchHighlightBackground', { dark: '#ff8f0099', light: '#f5d802de', hcDark: null, hcLight: null }, nls.localize(1320, 'Match highlight color in the peek view editor.'));
234
+ export const peekViewEditorMatchHighlightBorder = registerColor('peekViewEditor.matchHighlightBorder', { dark: null, light: null, hcDark: activeContrastBorder, hcLight: activeContrastBorder }, nls.localize(1321, 'Match highlight border in the peek view editor.'));
235
235
  //# sourceMappingURL=peekView.js.map
@@ -10,5 +10,5 @@ import { registerColor } from '../../../../platform/theme/common/colorUtils.js';
10
10
  import { PlaceholderTextContribution } from './placeholderTextContribution.js';
11
11
  import { wrapInReloadableClass1 } from '../../../../platform/observable/common/wrapInReloadableClass.js';
12
12
  registerEditorContribution(PlaceholderTextContribution.ID, wrapInReloadableClass1(() => PlaceholderTextContribution), 0 /* EditorContributionInstantiation.Eager */);
13
- registerColor('editor.placeholder.foreground', ghostTextForeground, localize(1321, 'Foreground color of the placeholder text in the editor.'));
13
+ registerColor('editor.placeholder.foreground', ghostTextForeground, localize(1322, 'Foreground color of the placeholder text in the editor.'));
14
14
  //# sourceMappingURL=placeholderText.contribution.js.map
@@ -16,7 +16,7 @@ export class PlaceholderTextContribution extends Disposable {
16
16
  super();
17
17
  this._editor = _editor;
18
18
  this._editorObs = observableCodeEditor(this._editor);
19
- this._placeholderText = this._editorObs.getOption(99 /* EditorOption.placeholder */);
19
+ this._placeholderText = this._editorObs.getOption(100 /* EditorOption.placeholder */);
20
20
  this._state = derivedOpts({ owner: this, equalsFn: structuralEquals }, reader => {
21
21
  const p = this._placeholderText.read(reader);
22
22
  if (!p) {