monaco-editor-core 0.57.0 → 0.58.0-dev-20261104

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 (508) 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 +38 -6
  18. package/esm/vs/base/browser/browser.js +8 -0
  19. package/esm/vs/base/browser/browser.js.map +1 -1
  20. package/esm/vs/base/browser/contextmenu.js +8 -1
  21. package/esm/vs/base/browser/contextmenu.js.map +1 -1
  22. package/esm/vs/base/browser/dom.js +34 -5
  23. package/esm/vs/base/browser/dom.js.map +1 -1
  24. package/esm/vs/base/browser/dompurify/dompurify.js +2457 -2640
  25. package/esm/vs/base/browser/markdownRenderer.js +48 -21
  26. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  27. package/esm/vs/base/browser/pixelRatio.js +3 -2
  28. package/esm/vs/base/browser/pixelRatio.js.map +1 -1
  29. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js +5 -2
  30. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js.map +1 -1
  31. package/esm/vs/base/browser/ui/actionbar/actionbar.js +7 -2
  32. package/esm/vs/base/browser/ui/actionbar/actionbar.js.map +1 -1
  33. package/esm/vs/base/browser/ui/animations/animations.js +68 -40
  34. package/esm/vs/base/browser/ui/animations/animations.js.map +1 -1
  35. package/esm/vs/base/browser/ui/button/button.js +7 -0
  36. package/esm/vs/base/browser/ui/button/button.js.map +1 -1
  37. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  38. package/esm/vs/base/browser/ui/contextview/contextview.css +15 -0
  39. package/esm/vs/base/browser/ui/contextview/contextview.js +266 -40
  40. package/esm/vs/base/browser/ui/contextview/contextview.js.map +1 -1
  41. package/esm/vs/base/browser/ui/contextview/windowControlsOverlay.js +72 -0
  42. package/esm/vs/base/browser/ui/contextview/windowControlsOverlay.js.map +1 -0
  43. package/esm/vs/base/browser/ui/dialog/dialog.css +5 -0
  44. package/esm/vs/base/browser/ui/dropdown/dropdown.js +2 -1
  45. package/esm/vs/base/browser/ui/dropdown/dropdown.js.map +1 -1
  46. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -0
  47. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js.map +1 -1
  48. package/esm/vs/base/browser/ui/hover/hover.js.map +1 -1
  49. package/esm/vs/base/browser/ui/list/listView.js +87 -15
  50. package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
  51. package/esm/vs/base/browser/ui/list/listWidget.js +37 -15
  52. package/esm/vs/base/browser/ui/list/listWidget.js.map +1 -1
  53. package/esm/vs/base/browser/ui/menu/menu.js +189 -52
  54. package/esm/vs/base/browser/ui/menu/menu.js.map +1 -1
  55. package/esm/vs/base/browser/ui/radio/radio.css +11 -0
  56. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +2 -1
  57. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
  58. package/esm/vs/base/browser/ui/selectBox/selectBox.js.map +1 -1
  59. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js +14 -8
  60. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js.map +1 -1
  61. package/esm/vs/base/browser/ui/splitview/splitview.js +11 -7
  62. package/esm/vs/base/browser/ui/splitview/splitview.js.map +1 -1
  63. package/esm/vs/base/browser/ui/toggle/switch.css +16 -7
  64. package/esm/vs/base/browser/ui/toggle/switch.js +9 -6
  65. package/esm/vs/base/browser/ui/toggle/switch.js.map +1 -1
  66. package/esm/vs/base/browser/ui/toolbar/toolbar.css +1 -2
  67. package/esm/vs/base/browser/ui/toolbar/toolbar.js +85 -38
  68. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  69. package/esm/vs/base/browser/ui/tree/abstractTree.js +48 -9
  70. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  71. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +10 -1
  72. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  73. package/esm/vs/base/browser/ui/tree/objectTree.js +3 -0
  74. package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
  75. package/esm/vs/base/browser/ui/tree/tree.js.map +1 -1
  76. package/esm/vs/base/common/actions.js +8 -2
  77. package/esm/vs/base/common/actions.js.map +1 -1
  78. package/esm/vs/base/common/arrays.js +4 -4
  79. package/esm/vs/base/common/arrays.js.map +1 -1
  80. package/esm/vs/base/common/async.js +12 -8
  81. package/esm/vs/base/common/async.js.map +1 -1
  82. package/esm/vs/base/common/cancellation.js +25 -0
  83. package/esm/vs/base/common/cancellation.js.map +1 -1
  84. package/esm/vs/base/common/codicons.js +2 -0
  85. package/esm/vs/base/common/codicons.js.map +1 -1
  86. package/esm/vs/base/common/codiconsLibrary.js +2 -0
  87. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  88. package/esm/vs/base/common/color.js +1 -1
  89. package/esm/vs/base/common/color.js.map +1 -1
  90. package/esm/vs/base/common/diff/diff.js +60 -1
  91. package/esm/vs/base/common/diff/diff.js.map +1 -1
  92. package/esm/vs/base/common/event.js +1 -1
  93. package/esm/vs/base/common/event.js.map +1 -1
  94. package/esm/vs/base/common/glob.js +1 -0
  95. package/esm/vs/base/common/glob.js.map +1 -1
  96. package/esm/vs/base/common/htmlContent.js +74 -12
  97. package/esm/vs/base/common/htmlContent.js.map +1 -1
  98. package/esm/vs/base/common/json.js +19 -0
  99. package/esm/vs/base/common/json.js.map +1 -0
  100. package/esm/vs/base/common/network.js +16 -0
  101. package/esm/vs/base/common/network.js.map +1 -1
  102. package/esm/vs/base/common/resources.js +14 -2
  103. package/esm/vs/base/common/resources.js.map +1 -1
  104. package/esm/vs/base/common/strings.js +1 -1
  105. package/esm/vs/base/common/strings.js.map +1 -1
  106. package/esm/vs/base/common/uri.js +2 -2
  107. package/esm/vs/base/common/uri.js.map +1 -1
  108. package/esm/vs/editor/browser/config/editorConfiguration.js +1 -1
  109. package/esm/vs/editor/browser/config/fontMeasurements.js +19 -6
  110. package/esm/vs/editor/browser/config/fontMeasurements.js.map +1 -1
  111. package/esm/vs/editor/browser/controller/dragScrolling.js +3 -3
  112. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js +11 -5
  113. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js.map +1 -1
  114. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +8 -38
  115. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
  116. package/esm/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +3 -3
  117. package/esm/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +6 -6
  118. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +12 -10
  119. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js.map +1 -1
  120. package/esm/vs/editor/browser/controller/mouseHandler.js +7 -7
  121. package/esm/vs/editor/browser/controller/mouseTarget.js +3 -3
  122. package/esm/vs/editor/browser/coreCommands.js +2 -2
  123. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  124. package/esm/vs/editor/browser/editorMarkdownSanitizer.js +19 -0
  125. package/esm/vs/editor/browser/editorMarkdownSanitizer.js.map +1 -0
  126. package/esm/vs/editor/browser/gpu/rectangleRenderer.js +1 -1
  127. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  128. package/esm/vs/editor/browser/observableCodeEditor.js +1 -1
  129. package/esm/vs/editor/browser/services/editorWorkerService.js +3 -2
  130. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  131. package/esm/vs/editor/browser/services/openerService.js +6 -2
  132. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  133. package/esm/vs/editor/browser/view/domLineBreaksComputer.js +34 -11
  134. package/esm/vs/editor/browser/view/domLineBreaksComputer.js.map +1 -1
  135. package/esm/vs/editor/browser/view/viewController.js +7 -7
  136. package/esm/vs/editor/browser/view/viewController.js.map +1 -1
  137. package/esm/vs/editor/browser/view/viewLayer.js +1 -1
  138. package/esm/vs/editor/browser/view/viewOverlays.js +4 -4
  139. package/esm/vs/editor/browser/view.js +5 -5
  140. package/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  141. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +11 -3
  142. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  143. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +6 -6
  144. package/esm/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +12 -12
  145. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +9 -2
  146. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js.map +1 -1
  147. package/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.js +2 -2
  148. package/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +2 -2
  149. package/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  150. package/esm/vs/editor/browser/viewParts/margin/margin.js +2 -2
  151. package/esm/vs/editor/browser/viewParts/minimap/minimap.js +6 -6
  152. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +9 -2
  153. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js.map +1 -1
  154. package/esm/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +5 -5
  155. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  156. package/esm/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  157. package/esm/vs/editor/browser/viewParts/rulersGpu/rulersGpu.js +1 -1
  158. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  159. package/esm/vs/editor/browser/viewParts/selections/selections.js +2 -2
  160. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  161. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.js +6 -6
  162. package/esm/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +5 -5
  163. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +11 -11
  164. package/esm/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  165. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  166. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -4
  167. package/esm/vs/editor/browser/viewParts/wordWrapIndicator/wordWrapIndicator.js +2 -2
  168. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +22 -21
  169. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  170. package/esm/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  171. package/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +18 -18
  172. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  173. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -3
  174. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +10 -10
  175. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js.map +1 -1
  176. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +2 -2
  177. package/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +4 -4
  178. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +21 -3
  179. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js.map +1 -1
  180. package/esm/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  181. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +10 -10
  182. package/esm/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  183. package/esm/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  184. package/esm/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  185. package/esm/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  186. package/esm/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
  187. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollLayout.js +2 -2
  188. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollLayout.js.map +1 -1
  189. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollView.js +21 -2
  190. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollView.js.map +1 -1
  191. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -2
  192. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +11 -3
  193. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js.map +1 -1
  194. package/esm/vs/editor/browser/widget/multiDiffEditor/virtualizedItemManager.js +1 -0
  195. package/esm/vs/editor/browser/widget/multiDiffEditor/virtualizedItemManager.js.map +1 -1
  196. package/esm/vs/editor/common/commands/columnSelectionPasteCommand.js +64 -0
  197. package/esm/vs/editor/common/commands/columnSelectionPasteCommand.js.map +1 -0
  198. package/esm/vs/editor/common/config/editorConfigurationSchema.js +68 -58
  199. package/esm/vs/editor/common/config/editorConfigurationSchema.js.map +1 -1
  200. package/esm/vs/editor/common/config/editorOptions.js +560 -500
  201. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  202. package/esm/vs/editor/common/core/editorColorRegistry.js +71 -71
  203. package/esm/vs/editor/common/core/edits/textEdit.js +16 -0
  204. package/esm/vs/editor/common/core/edits/textEdit.js.map +1 -1
  205. package/esm/vs/editor/common/cursor/cursor.js +20 -10
  206. package/esm/vs/editor/common/cursor/cursor.js.map +1 -1
  207. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js +67 -14
  208. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js.map +1 -1
  209. package/esm/vs/editor/common/cursor/cursorTypeOperations.js +2 -2
  210. package/esm/vs/editor/common/cursor/cursorTypeOperations.js.map +1 -1
  211. package/esm/vs/editor/common/cursorCommon.js +22 -21
  212. package/esm/vs/editor/common/cursorCommon.js.map +1 -1
  213. package/esm/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +21 -8
  214. package/esm/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js.map +1 -1
  215. package/esm/vs/editor/common/diff/documentDiffProvider.js.map +1 -1
  216. package/esm/vs/editor/common/diff/externalLinesDiffComputer.js +38 -26
  217. package/esm/vs/editor/common/diff/externalLinesDiffComputer.js.map +1 -1
  218. package/esm/vs/editor/common/diff/rangeMapping.js +11 -1
  219. package/esm/vs/editor/common/diff/rangeMapping.js.map +1 -1
  220. package/esm/vs/editor/common/diff/verifyLinesDiff.js +28 -0
  221. package/esm/vs/editor/common/diff/verifyLinesDiff.js.map +1 -0
  222. package/esm/vs/editor/common/editorContextKeys.js +53 -53
  223. package/esm/vs/editor/common/languages/languageConfiguration.js +8 -0
  224. package/esm/vs/editor/common/languages/languageConfiguration.js.map +1 -1
  225. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  226. package/esm/vs/editor/common/languages.js +56 -56
  227. package/esm/vs/editor/common/model/editStack.js +1 -1
  228. package/esm/vs/editor/common/services/editorWebWorker.js +27 -6
  229. package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
  230. package/esm/vs/editor/common/services/editorWorker.js.map +1 -1
  231. package/esm/vs/editor/common/services/languageService.js +6 -4
  232. package/esm/vs/editor/common/services/languageService.js.map +1 -1
  233. package/esm/vs/editor/common/services/markerDecorationsService.js +21 -2
  234. package/esm/vs/editor/common/services/markerDecorationsService.js.map +1 -1
  235. package/esm/vs/editor/common/standalone/standaloneEnums.js +100 -97
  236. package/esm/vs/editor/common/standalone/standaloneEnums.js.map +1 -1
  237. package/esm/vs/editor/common/standaloneStrings.js +11 -11
  238. package/esm/vs/editor/common/textModelEditSource.js +9 -0
  239. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  240. package/esm/vs/editor/common/viewLayout/viewLayout.js +16 -16
  241. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  242. package/esm/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +1 -1
  243. package/esm/vs/editor/common/viewModel/viewModelImpl.js +19 -19
  244. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  245. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  246. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +9 -9
  247. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  248. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  249. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +23 -20
  250. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js.map +1 -1
  251. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  252. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  253. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  254. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  255. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  256. package/esm/vs/editor/contrib/codeAction/browser/codeActionModel.js +1 -1
  257. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  258. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  259. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +25 -10
  260. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js.map +1 -1
  261. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  262. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  263. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.js +1 -1
  264. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +3 -3
  265. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  266. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.js +1 -1
  267. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  268. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +17 -17
  269. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
  270. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  271. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  272. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +39 -39
  273. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js.map +1 -1
  274. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  275. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  276. package/esm/vs/editor/contrib/dropOrPasteInto/browser/pasteEditSession.js +19 -0
  277. package/esm/vs/editor/contrib/dropOrPasteInto/browser/pasteEditSession.js.map +1 -0
  278. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +26 -18
  279. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js.map +1 -1
  280. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  281. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js.map +1 -1
  282. package/esm/vs/editor/contrib/find/browser/findController.js +18 -18
  283. package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
  284. package/esm/vs/editor/contrib/find/browser/findModel.js +6 -6
  285. package/esm/vs/editor/contrib/find/browser/findWidget.js +40 -40
  286. package/esm/vs/editor/contrib/find/browser/findWidget.js.map +1 -1
  287. package/esm/vs/editor/contrib/folding/browser/folding.js +23 -23
  288. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  289. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  290. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  291. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  292. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  293. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  294. package/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  295. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +2 -2
  296. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +4 -4
  297. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js.map +1 -1
  298. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  299. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  300. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  301. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  302. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  303. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js +9 -3
  304. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js.map +1 -1
  305. package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js +2 -2
  306. package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js +2 -1
  307. package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js.map +1 -1
  308. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  309. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  310. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  311. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +10 -8
  312. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js.map +1 -1
  313. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -6
  314. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  315. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  316. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +5 -5
  317. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +9 -9
  318. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -3
  319. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js.map +1 -1
  320. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  321. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  322. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +7 -7
  323. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  324. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -5
  325. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js.map +1 -1
  326. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +1 -1
  327. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +2 -2
  328. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +7 -7
  329. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  330. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -1
  331. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +3 -3
  332. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  333. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  334. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  335. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -32
  336. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +5 -4
  337. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js.map +1 -1
  338. package/esm/vs/editor/contrib/links/browser/links.js +16 -15
  339. package/esm/vs/editor/contrib/links/browser/links.js.map +1 -1
  340. package/esm/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  341. package/esm/vs/editor/contrib/message/browser/messageController.js +16 -12
  342. package/esm/vs/editor/contrib/message/browser/messageController.js.map +1 -1
  343. package/esm/vs/editor/contrib/middleScroll/browser/middleScrollController.js +1 -1
  344. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +91 -55
  345. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js.map +1 -1
  346. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  347. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  348. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js.map +1 -1
  349. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +6 -4
  350. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
  351. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  352. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  353. package/esm/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +1 -1
  354. package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  355. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +12 -12
  356. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  357. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -3
  358. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  359. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  360. package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +6 -6
  361. package/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +23 -13
  362. package/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js.map +1 -1
  363. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -5
  364. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
  365. package/esm/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  366. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  367. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  368. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +10 -8
  369. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
  370. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  371. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  372. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +6 -6
  373. package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  374. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +15 -15
  375. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  376. package/esm/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  377. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +27 -27
  378. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +8 -6
  379. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
  380. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +5 -5
  381. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -3
  382. package/esm/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  383. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  384. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  385. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  386. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  387. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +27 -27
  388. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +9 -9
  389. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  390. package/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +1 -1
  391. package/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js.map +1 -1
  392. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +50 -14
  393. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js.map +1 -1
  394. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +6 -6
  395. package/esm/vs/editor/editor.api.d.ts +133 -98
  396. package/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  397. package/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +5 -3
  398. package/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js.map +1 -1
  399. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js +15 -1
  400. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
  401. package/esm/vs/nls.js.map +1 -1
  402. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +72 -66
  403. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js.map +1 -1
  404. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  405. package/esm/vs/platform/actionWidget/browser/actionList.js +434 -136
  406. package/esm/vs/platform/actionWidget/browser/actionList.js.map +1 -1
  407. package/esm/vs/platform/actionWidget/browser/actionWidget.css +74 -4
  408. package/esm/vs/platform/actionWidget/browser/actionWidget.js +24 -26
  409. package/esm/vs/platform/actionWidget/browser/actionWidget.js.map +1 -1
  410. package/esm/vs/platform/actionWidget/browser/actionWidgetMotion.js +16 -0
  411. package/esm/vs/platform/actionWidget/browser/actionWidgetMotion.js.map +1 -0
  412. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +15 -17
  413. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
  414. package/esm/vs/platform/actions/browser/toolbar.js +25 -12
  415. package/esm/vs/platform/actions/browser/toolbar.js.map +1 -1
  416. package/esm/vs/platform/actions/common/actions.js +4 -2
  417. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  418. package/esm/vs/platform/actions/common/menuService.js +15 -8
  419. package/esm/vs/platform/actions/common/menuService.js.map +1 -1
  420. package/esm/vs/platform/configuration/common/configuration.js +3 -1
  421. package/esm/vs/platform/configuration/common/configuration.js.map +1 -1
  422. package/esm/vs/platform/configuration/common/configurationModels.js +16 -11
  423. package/esm/vs/platform/configuration/common/configurationModels.js.map +1 -1
  424. package/esm/vs/platform/configuration/common/configurationRegistry.js +29 -27
  425. package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
  426. package/esm/vs/platform/configuration/common/configurations.js +13 -1
  427. package/esm/vs/platform/configuration/common/configurations.js.map +1 -1
  428. package/esm/vs/platform/contextkey/browser/contextKeyService.js +2 -2
  429. package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
  430. package/esm/vs/platform/contextkey/common/contextkey.js +28 -14
  431. package/esm/vs/platform/contextkey/common/contextkey.js.map +1 -1
  432. package/esm/vs/platform/contextkey/common/contextkeys.js +10 -10
  433. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  434. package/esm/vs/platform/contextview/browser/contextMenuHandler.js +17 -4
  435. package/esm/vs/platform/contextview/browser/contextMenuHandler.js.map +1 -1
  436. package/esm/vs/platform/contextview/browser/contextMenuService.js +1 -1
  437. package/esm/vs/platform/contextview/browser/contextMenuService.js.map +1 -1
  438. package/esm/vs/platform/contextview/browser/contextView.js.map +1 -1
  439. package/esm/vs/platform/contextview/browser/contextViewService.js +7 -2
  440. package/esm/vs/platform/contextview/browser/contextViewService.js.map +1 -1
  441. package/esm/vs/platform/editor/common/editor.js +17 -0
  442. package/esm/vs/platform/editor/common/editor.js.map +1 -1
  443. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  444. package/esm/vs/platform/hover/browser/hoverService.js +6 -3
  445. package/esm/vs/platform/hover/browser/hoverService.js.map +1 -1
  446. package/esm/vs/platform/hover/browser/hoverWidget.js +38 -6
  447. package/esm/vs/platform/hover/browser/hoverWidget.js.map +1 -1
  448. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +32 -5
  449. package/esm/vs/platform/hover/browser/updatableHoverWidget.js.map +1 -1
  450. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -1
  451. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  452. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  453. package/esm/vs/platform/keybinding/common/keybindingResolver.js +1 -1
  454. package/esm/vs/platform/keybinding/common/keybindingResolver.js.map +1 -1
  455. package/esm/vs/platform/list/browser/listService.js +27 -27
  456. package/esm/vs/platform/markers/common/markerService.js +11 -8
  457. package/esm/vs/platform/markers/common/markerService.js.map +1 -1
  458. package/esm/vs/platform/markers/common/markers.js +6 -6
  459. package/esm/vs/platform/markers/common/markers.js.map +1 -1
  460. package/esm/vs/platform/notification/common/notification.js.map +1 -1
  461. package/esm/vs/platform/notification/common/notificationMessage.js +37 -0
  462. package/esm/vs/platform/notification/common/notificationMessage.js.map +1 -0
  463. package/esm/vs/platform/opener/common/opener.js.map +1 -1
  464. package/esm/vs/platform/progress/common/progress.js.map +1 -1
  465. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
  466. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  467. package/esm/vs/platform/quickinput/browser/media/quickInput.css +33 -2
  468. package/esm/vs/platform/quickinput/browser/quickAccess.js +7 -4
  469. package/esm/vs/platform/quickinput/browser/quickAccess.js.map +1 -1
  470. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  471. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  472. package/esm/vs/platform/quickinput/browser/quickInputController.js +65 -15
  473. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  474. package/esm/vs/platform/quickinput/browser/quickInputList.js +96 -90
  475. package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
  476. package/esm/vs/platform/quickinput/browser/quickInputService.js +5 -7
  477. package/esm/vs/platform/quickinput/browser/quickInputService.js.map +1 -1
  478. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  479. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  480. package/esm/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  481. package/esm/vs/platform/quickinput/common/quickAccess.js.map +1 -1
  482. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  483. package/esm/vs/platform/storage/common/storage.js.map +1 -1
  484. package/esm/vs/platform/theme/common/colorRegistry.js +1 -0
  485. package/esm/vs/platform/theme/common/colorRegistry.js.map +1 -1
  486. package/esm/vs/platform/theme/common/colorUtils.js +11 -3
  487. package/esm/vs/platform/theme/common/colorUtils.js.map +1 -1
  488. package/esm/vs/platform/theme/common/colors/baseColors.js +19 -19
  489. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -9
  490. package/esm/vs/platform/theme/common/colors/chartsColors.js.map +1 -1
  491. package/esm/vs/platform/theme/common/colors/confettiColors.js +14 -0
  492. package/esm/vs/platform/theme/common/colors/confettiColors.js.map +1 -0
  493. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  494. package/esm/vs/platform/theme/common/colors/inputColors.js +48 -48
  495. package/esm/vs/platform/theme/common/colors/inputColors.js.map +1 -1
  496. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  497. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  498. package/esm/vs/platform/theme/common/colors/minimapColors.js +13 -13
  499. package/esm/vs/platform/theme/common/colors/minimapColors.js.map +1 -1
  500. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  501. package/esm/vs/platform/theme/common/colors/quickpickColors.js +10 -10
  502. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  503. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  504. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  505. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  506. package/monaco.d.ts +133 -98
  507. package/package.json +3 -3
  508. package/version.txt +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/editorState/browser/keybindingCancellation.ts"],"names":[],"mappings":"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","file":"keybindingCancellation.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 { KeyCode } from '../../../../base/common/keyCodes.js';\nimport { EditorCommand, registerEditorCommand } from '../../../browser/editorExtensions.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { IContextKeyService, RawContextKey, IContextKey } from '../../../../platform/contextkey/common/contextkey.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { CancellationTokenSource, CancellationToken } from '../../../../base/common/cancellation.js';\nimport { LinkedList } from '../../../../base/common/linkedList.js';\nimport { createDecorator, ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';\nimport { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js';\nimport { localize } from '../../../../nls.js';\n\n\nconst IEditorCancellationTokens = createDecorator<IEditorCancellationTokens>('IEditorCancelService');\n\ninterface IEditorCancellationTokens {\n\treadonly _serviceBrand: undefined;\n\tadd(editor: ICodeEditor, cts: CancellationTokenSource): () => void;\n\tcancel(editor: ICodeEditor): void;\n}\n\nconst ctxCancellableOperation = new RawContextKey('cancellableOperation', false, localize('cancellableOperation', 'Whether the editor runs a cancellable operation, e.g. like \\'Peek References\\''));\n\nregisterSingleton(IEditorCancellationTokens, class implements IEditorCancellationTokens {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _tokens = new WeakMap<ICodeEditor, { key: IContextKey<boolean>; tokens: LinkedList<CancellationTokenSource> }>();\n\n\tadd(editor: ICodeEditor, cts: CancellationTokenSource): () => void {\n\t\tlet data = this._tokens.get(editor);\n\t\tif (!data) {\n\t\t\tdata = editor.invokeWithinContext(accessor => {\n\t\t\t\tconst key = ctxCancellableOperation.bindTo(accessor.get(IContextKeyService));\n\t\t\t\tconst tokens = new LinkedList<CancellationTokenSource>();\n\t\t\t\treturn { key, tokens };\n\t\t\t});\n\t\t\tthis._tokens.set(editor, data);\n\t\t}\n\n\t\tlet removeFn: Function | undefined;\n\n\t\tdata.key.set(true);\n\t\tremoveFn = data.tokens.push(cts);\n\n\t\treturn () => {\n\t\t\t// remove w/o cancellation\n\t\t\tif (removeFn) {\n\t\t\t\tremoveFn();\n\t\t\t\tdata.key.set(!data.tokens.isEmpty());\n\t\t\t\tremoveFn = undefined;\n\t\t\t}\n\t\t};\n\t}\n\n\tcancel(editor: ICodeEditor): void {\n\t\tconst data = this._tokens.get(editor);\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\t\t// remove with cancellation\n\t\tconst cts = data.tokens.pop();\n\t\tif (cts) {\n\t\t\tcts.cancel();\n\t\t\tdata.key.set(!data.tokens.isEmpty());\n\t\t}\n\t}\n\n}, InstantiationType.Delayed);\n\nexport class EditorKeybindingCancellationTokenSource extends CancellationTokenSource {\n\n\tprivate readonly _unregister: Function;\n\n\tconstructor(readonly editor: ICodeEditor, parent?: CancellationToken) {\n\t\tsuper(parent);\n\t\tthis._unregister = editor.invokeWithinContext(accessor => accessor.get(IEditorCancellationTokens).add(editor, this));\n\t}\n\n\toverride dispose(): void {\n\t\tthis._unregister();\n\t\tsuper.dispose();\n\t}\n}\n\nregisterEditorCommand(new class extends EditorCommand {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.cancelOperation',\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib,\n\t\t\t\tprimary: KeyCode.Escape\n\t\t\t},\n\t\t\tprecondition: ctxCancellableOperation\n\t\t});\n\t}\n\n\trunEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\taccessor.get(IEditorCancellationTokens).cancel(editor);\n\t}\n});\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/editorState/browser/keybindingCancellation.ts"],"names":[],"mappings":"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","file":"keybindingCancellation.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 { KeyCode } from '../../../../base/common/keyCodes.js';\nimport { EditorCommand, registerEditorCommand } from '../../../browser/editorExtensions.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { IContextKeyService, RawContextKey, IContextKey } from '../../../../platform/contextkey/common/contextkey.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { CancellationTokenSource, CancellationToken } from '../../../../base/common/cancellation.js';\nimport { LinkedList } from '../../../../base/common/linkedList.js';\nimport { createDecorator, ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';\nimport { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js';\nimport { localize } from '../../../../nls.js';\n\n\nconst IEditorCancellationTokens = createDecorator<IEditorCancellationTokens>('IEditorCancelService');\n\ninterface IEditorCancellationTokens {\n\treadonly _serviceBrand: undefined;\n\tadd(editor: ICodeEditor, cts: CancellationTokenSource): () => void;\n\tcancel(editor: ICodeEditor): void;\n}\n\nconst ctxCancellableOperation = new RawContextKey('cancellableOperation', false, localize('cancellableOperation', 'Whether the editor runs a cancellable operation, e.g. like \\'Peek References\\''));\n\nregisterSingleton(IEditorCancellationTokens, class implements IEditorCancellationTokens {\n\n\tdeclare readonly _serviceBrand: undefined;\n\n\tprivate readonly _tokens = new WeakMap<ICodeEditor, { key: IContextKey<boolean>; tokens: LinkedList<CancellationTokenSource> }>();\n\n\tadd(editor: ICodeEditor, cts: CancellationTokenSource): () => void {\n\t\tlet data = this._tokens.get(editor);\n\t\tif (!data) {\n\t\t\tdata = editor.invokeWithinContext(accessor => {\n\t\t\t\tconst key = ctxCancellableOperation.bindTo(accessor.get(IContextKeyService));\n\t\t\t\tconst tokens = new LinkedList<CancellationTokenSource>();\n\t\t\t\treturn { key, tokens };\n\t\t\t});\n\t\t\tthis._tokens.set(editor, data);\n\t\t}\n\n\t\tlet removeFn: Function | undefined;\n\n\t\tdata.key.set(true);\n\t\tremoveFn = data.tokens.push(cts);\n\n\t\treturn () => {\n\t\t\t// remove w/o cancellation\n\t\t\tif (removeFn) {\n\t\t\t\tremoveFn();\n\t\t\t\tdata.key.set(!data.tokens.isEmpty());\n\t\t\t\tremoveFn = undefined;\n\t\t\t}\n\t\t};\n\t}\n\n\tcancel(editor: ICodeEditor): void {\n\t\tconst data = this._tokens.get(editor);\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\t\t// remove with cancellation\n\t\tconst cts = data.tokens.pop();\n\t\tif (cts) {\n\t\t\tcts.cancel();\n\t\t\tdata.key.set(!data.tokens.isEmpty());\n\t\t}\n\t}\n\n}, InstantiationType.Delayed);\n\nexport class EditorKeybindingCancellationTokenSource extends CancellationTokenSource {\n\n\tprivate readonly _unregister: Function;\n\n\tconstructor(readonly editor: ICodeEditor, parent?: CancellationToken) {\n\t\tsuper(parent);\n\t\tthis._unregister = editor.invokeWithinContext(accessor => accessor.get(IEditorCancellationTokens).add(editor, this));\n\t}\n\n\toverride dispose(): void {\n\t\tthis._unregister();\n\t\tsuper.dispose();\n\t}\n}\n\nregisterEditorCommand(new class extends EditorCommand {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.cancelOperation',\n\t\t\tkbOpts: {\n\t\t\t\tweight: KeybindingWeight.EditorContrib,\n\t\t\t\tprimary: KeyCode.Escape\n\t\t\t},\n\t\t\tprecondition: ctxCancellableOperation\n\t\t});\n\t}\n\n\trunEditorCommand(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\taccessor.get(IEditorCancellationTokens).cancel(editor);\n\t}\n});\n"]}
@@ -314,7 +314,7 @@ let CommonFindController = class CommonFindController extends Disposable {
314
314
  replaceAll() {
315
315
  if (this._model) {
316
316
  if (this._editor.getModel()?.isTooLargeForHeapOperation()) {
317
- this._notificationService.warn(nls.localize(994, "The file is too large to perform a replace all operation."));
317
+ this._notificationService.warn(nls.localize(1001, "The file is too large to perform a replace all operation."));
318
318
  return false;
319
319
  }
320
320
  this._model.replaceAll();
@@ -435,7 +435,7 @@ FindController = __decorate([
435
435
  export { FindController };
436
436
  export const StartFindAction = registerMultiEditorAction(new MultiEditorAction({
437
437
  id: FIND_IDS.StartFindAction,
438
- label: nls.localize2(1002, "Find"),
438
+ label: nls.localize2(1009, "Find"),
439
439
  precondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),
440
440
  kbOpts: {
441
441
  kbExpr: null,
@@ -445,7 +445,7 @@ export const StartFindAction = registerMultiEditorAction(new MultiEditorAction({
445
445
  menuOpts: {
446
446
  menuId: MenuId.MenubarEditMenu,
447
447
  group: '3_find',
448
- title: nls.localize(995, "&&Find"),
448
+ title: nls.localize(1002, "&&Find"),
449
449
  order: 1
450
450
  }
451
451
  }));
@@ -486,7 +486,7 @@ export class StartFindWithArgsAction extends EditorAction {
486
486
  constructor() {
487
487
  super({
488
488
  id: FIND_IDS.StartFindWithArgs,
489
- label: nls.localize2(1003, "Find with Arguments"),
489
+ label: nls.localize2(1010, "Find with Arguments"),
490
490
  precondition: undefined,
491
491
  kbOpts: {
492
492
  kbExpr: null,
@@ -530,7 +530,7 @@ export class StartFindWithSelectionAction extends EditorAction {
530
530
  constructor() {
531
531
  super({
532
532
  id: FIND_IDS.StartFindWithSelection,
533
- label: nls.localize2(1004, "Find with Selection"),
533
+ label: nls.localize2(1011, "Find with Selection"),
534
534
  precondition: undefined,
535
535
  kbOpts: {
536
536
  kbExpr: null,
@@ -603,14 +603,14 @@ async function matchFindAction(editor, next) {
603
603
  // Re-announce "no results" for screen readers on explicit navigation (#301126)
604
604
  const state = controller.getState();
605
605
  if (wasFindWidgetVisible && state.matchesCount === 0 && state.searchString) {
606
- alertFn(nls.localize(996, "{0} found for '{1}'", NLS_NO_RESULTS, state.searchString));
606
+ alertFn(nls.localize(1003, "{0} found for '{1}'", NLS_NO_RESULTS, state.searchString));
607
607
  }
608
608
  }
609
609
  }
610
610
  }
611
611
  export const NextMatchFindAction = registerMultiEditorAction(new MultiEditorAction({
612
612
  id: FIND_IDS.NextMatchFindAction,
613
- label: nls.localize2(1005, "Find Next"),
613
+ label: nls.localize2(1012, "Find Next"),
614
614
  precondition: undefined,
615
615
  kbOpts: [{
616
616
  kbExpr: EditorContextKeys.focus,
@@ -628,7 +628,7 @@ NextMatchFindAction.addImplementation(0, async (accessor, editor, args) => {
628
628
  });
629
629
  export const PreviousMatchFindAction = registerMultiEditorAction(new MultiEditorAction({
630
630
  id: FIND_IDS.PreviousMatchFindAction,
631
- label: nls.localize2(1006, "Find Previous"),
631
+ label: nls.localize2(1013, "Find Previous"),
632
632
  precondition: undefined,
633
633
  kbOpts: [{
634
634
  kbExpr: EditorContextKeys.focus,
@@ -648,7 +648,7 @@ export class MoveToMatchFindAction extends EditorAction {
648
648
  constructor() {
649
649
  super({
650
650
  id: FIND_IDS.GoToMatchFindAction,
651
- label: nls.localize2(1007, "Go to Match..."),
651
+ label: nls.localize2(1014, "Go to Match..."),
652
652
  precondition: CONTEXT_FIND_WIDGET_VISIBLE
653
653
  });
654
654
  this._highlightDecorations = [];
@@ -663,14 +663,14 @@ export class MoveToMatchFindAction extends EditorAction {
663
663
  const notificationService = accessor.get(INotificationService);
664
664
  notificationService.notify({
665
665
  severity: Severity.Warning,
666
- message: nls.localize(997, "No matches. Try searching for something else.")
666
+ message: nls.localize(1004, "No matches. Try searching for something else.")
667
667
  });
668
668
  return;
669
669
  }
670
670
  const quickInputService = accessor.get(IQuickInputService);
671
671
  const disposables = new DisposableStore();
672
672
  const inputBox = disposables.add(quickInputService.createInputBox());
673
- inputBox.placeholder = nls.localize(998, "Type a number to go to a specific match (between 1 and {0})", matchesCount);
673
+ inputBox.placeholder = nls.localize(1005, "Type a number to go to a specific match (between 1 and {0})", matchesCount);
674
674
  const toFindMatchIndex = (value) => {
675
675
  const index = parseInt(value);
676
676
  if (isNaN(index)) {
@@ -697,7 +697,7 @@ export class MoveToMatchFindAction extends EditorAction {
697
697
  }
698
698
  }
699
699
  else {
700
- inputBox.validationMessage = nls.localize(999, "Please type a number between 1 and {0}", controller.getState().matchesCount);
700
+ inputBox.validationMessage = nls.localize(1006, "Please type a number between 1 and {0}", controller.getState().matchesCount);
701
701
  this.clearDecorations(editor);
702
702
  }
703
703
  };
@@ -711,7 +711,7 @@ export class MoveToMatchFindAction extends EditorAction {
711
711
  inputBox.hide();
712
712
  }
713
713
  else {
714
- inputBox.validationMessage = nls.localize(1000, "Please type a number between 1 and {0}", controller.getState().matchesCount);
714
+ inputBox.validationMessage = nls.localize(1007, "Please type a number between 1 and {0}", controller.getState().matchesCount);
715
715
  }
716
716
  }));
717
717
  disposables.add(inputBox.onDidHide(() => {
@@ -779,7 +779,7 @@ export class NextSelectionMatchFindAction extends SelectionMatchFindAction {
779
779
  constructor() {
780
780
  super({
781
781
  id: FIND_IDS.NextSelectionMatchFindAction,
782
- label: nls.localize2(1008, "Find Next Selection"),
782
+ label: nls.localize2(1015, "Find Next Selection"),
783
783
  precondition: undefined,
784
784
  kbOpts: {
785
785
  kbExpr: EditorContextKeys.focus,
@@ -796,7 +796,7 @@ export class PreviousSelectionMatchFindAction extends SelectionMatchFindAction {
796
796
  constructor() {
797
797
  super({
798
798
  id: FIND_IDS.PreviousSelectionMatchFindAction,
799
- label: nls.localize2(1009, "Find Previous Selection"),
799
+ label: nls.localize2(1016, "Find Previous Selection"),
800
800
  precondition: undefined,
801
801
  kbOpts: {
802
802
  kbExpr: EditorContextKeys.focus,
@@ -811,7 +811,7 @@ export class PreviousSelectionMatchFindAction extends SelectionMatchFindAction {
811
811
  }
812
812
  export const StartFindReplaceAction = registerMultiEditorAction(new MultiEditorAction({
813
813
  id: FIND_IDS.StartFindReplaceAction,
814
- label: nls.localize2(1010, "Replace"),
814
+ label: nls.localize2(1017, "Replace"),
815
815
  precondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),
816
816
  kbOpts: {
817
817
  kbExpr: null,
@@ -822,12 +822,12 @@ export const StartFindReplaceAction = registerMultiEditorAction(new MultiEditorA
822
822
  menuOpts: {
823
823
  menuId: MenuId.MenubarEditMenu,
824
824
  group: '3_find',
825
- title: nls.localize(1001, "&&Replace"),
825
+ title: nls.localize(1008, "&&Replace"),
826
826
  order: 2
827
827
  }
828
828
  }));
829
829
  StartFindReplaceAction.addImplementation(0, (accessor, editor, args) => {
830
- if (!editor.hasModel() || editor.getOption(104 /* EditorOption.readOnly */)) {
830
+ if (!editor.hasModel() || editor.getOption(106 /* EditorOption.readOnly */)) {
831
831
  return false;
832
832
  }
833
833
  const controller = CommonFindController.get(editor);
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/find/browser/findController.ts"],"names":[],"mappings":"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","file":"findController.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 { alert as alertFn } from '../../../../base/browser/ui/aria/aria.js';\nimport { Delayer } from '../../../../base/common/async.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';\nimport * as strings from '../../../../base/common/strings.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, MultiEditorAction, registerEditorAction, registerEditorCommand, registerEditorContribution, registerMultiEditorAction, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { overviewRulerRangeHighlight } from '../../../common/core/editorColorRegistry.js';\nimport { IRange } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { OverviewRulerLane } from '../../../common/model.js';\nimport { CONTEXT_FIND_INPUT_FOCUSED, CONTEXT_FIND_WIDGET_VISIBLE, CONTEXT_REPLACE_INPUT_FOCUSED, FindModelBoundToEditorModel, FIND_IDS, ToggleCaseSensitiveKeybinding, TogglePreserveCaseKeybinding, ToggleRegexKeybinding, ToggleSearchScopeKeybinding, ToggleWholeWordKeybinding } from './findModel.js';\nimport { FindOptionsWidget } from './findOptionsWidget.js';\nimport { FindReplaceState, FindReplaceStateChangedEvent, INewFindReplaceState } from './findState.js';\nimport { FindWidget, IFindController, NLS_NO_RESULTS } from './findWidget.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId } from '../../../../platform/actions/common/actions.js';\nimport { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js';\nimport { ContextKeyExpr, IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { INotificationService, Severity } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { IHoverService } from '../../../../platform/hover/browser/hover.js';\nimport { FindWidgetSearchHistory } from './findWidgetSearchHistory.js';\nimport { ReplaceWidgetHistory } from './replaceWidgetHistory.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.js';\n\nconst SEARCH_STRING_MAX_LENGTH = 524288;\n\nexport function getSelectionSearchString(editor: ICodeEditor, seedSearchStringFromSelection: 'single' | 'multiple' = 'single', seedSearchStringFromNonEmptySelection: boolean = false): string | null {\n\tif (!editor.hasModel()) {\n\t\treturn null;\n\t}\n\n\tconst selection = editor.getSelection();\n\t// if selection spans multiple lines, default search string to empty\n\n\tif ((seedSearchStringFromSelection === 'single' && selection.startLineNumber === selection.endLineNumber)\n\t\t|| seedSearchStringFromSelection === 'multiple') {\n\t\tif (selection.isEmpty()) {\n\t\t\tconst wordAtPosition = editor.getConfiguredWordAtPosition(selection.getStartPosition());\n\t\t\tif (wordAtPosition && (false === seedSearchStringFromNonEmptySelection)) {\n\t\t\t\treturn wordAtPosition.word;\n\t\t\t}\n\t\t} else {\n\t\t\tif (editor.getModel().getValueLengthInRange(selection) < SEARCH_STRING_MAX_LENGTH) {\n\t\t\t\treturn editor.getModel().getValueInRange(selection);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport const enum FindStartFocusAction {\n\tNoFocusChange,\n\tFocusFindInput,\n\tFocusReplaceInput\n}\n\nexport interface IFindStartOptions {\n\tforceRevealReplace: boolean;\n\tseedSearchStringFromSelection: 'none' | 'single' | 'multiple';\n\tseedSearchStringFromNonEmptySelection: boolean;\n\tseedSearchStringFromGlobalClipboard: boolean;\n\tshouldFocus: FindStartFocusAction;\n\tshouldAnimate: boolean;\n\tupdateSearchScope: boolean;\n\tloop: boolean;\n}\n\nexport interface IFindStartArguments {\n\tsearchString?: string;\n\treplaceString?: string;\n\tisRegex?: boolean;\n\tmatchWholeWord?: boolean;\n\tisCaseSensitive?: boolean;\n\tpreserveCase?: boolean;\n\tfindInSelection?: boolean;\n}\n\nexport class CommonFindController extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.findController';\n\n\tprotected _editor: ICodeEditor;\n\tprivate readonly _findWidgetVisible: IContextKey<boolean>;\n\tprotected _state: FindReplaceState;\n\tprotected _updateHistoryDelayer: Delayer<void>;\n\tprivate _model: FindModelBoundToEditorModel | null;\n\tprotected readonly _storageService: IStorageService;\n\tprivate readonly _clipboardService: IClipboardService;\n\tprotected readonly _contextKeyService: IContextKeyService;\n\tprotected readonly _notificationService: INotificationService;\n\tprotected readonly _hoverService: IHoverService;\n\n\tget editor() {\n\t\treturn this._editor;\n\t}\n\n\tpublic static get(editor: ICodeEditor): CommonFindController | null {\n\t\treturn editor.getContribution<CommonFindController>(CommonFindController.ID);\n\t}\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@IStorageService storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IHoverService hoverService: IHoverService\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._findWidgetVisible = CONTEXT_FIND_WIDGET_VISIBLE.bindTo(contextKeyService);\n\t\tthis._contextKeyService = contextKeyService;\n\t\tthis._storageService = storageService;\n\t\tthis._clipboardService = clipboardService;\n\t\tthis._notificationService = notificationService;\n\t\tthis._hoverService = hoverService;\n\n\t\tthis._updateHistoryDelayer = this._register(new Delayer<void>(500));\n\t\tthis._state = this._register(new FindReplaceState());\n\t\tthis.loadQueryState();\n\t\tthis._register(this._state.onFindReplaceStateChange((e) => this._onStateChanged(e)));\n\n\t\tthis._model = null;\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tconst shouldRestartFind = (this._editor.getModel() && this._state.isRevealed);\n\n\t\t\tthis.disposeModel();\n\n\t\t\tthis._state.change({\n\t\t\t\tsearchScope: null,\n\t\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, false),\n\t\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, false),\n\t\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, false),\n\t\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, false)\n\t\t\t}, false);\n\n\t\t\tif (shouldRestartFind) {\n\t\t\t\tthis._start({\n\t\t\t\t\tforceRevealReplace: false,\n\t\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\t\tshouldAnimate: false,\n\t\t\t\t\tupdateSearchScope: false,\n\t\t\t\t\tloop: this._editor.getOption(EditorOption.find).loop\n\t\t\t\t});\n\t\t\t}\n\t\t}));\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis.disposeModel();\n\t\tsuper.dispose();\n\t}\n\n\tprivate disposeModel(): void {\n\t\tif (this._model) {\n\t\t\tthis._model.dispose();\n\t\t\tthis._model = null;\n\t\t}\n\t}\n\n\tprivate _onStateChanged(e: FindReplaceStateChangedEvent): void {\n\t\tthis.saveQueryState(e);\n\n\t\tif (e.isRevealed) {\n\t\t\tif (this._state.isRevealed) {\n\t\t\t\tthis._findWidgetVisible.set(true);\n\t\t\t} else {\n\t\t\t\tthis._findWidgetVisible.reset();\n\t\t\t\tthis.disposeModel();\n\t\t\t}\n\t\t}\n\t\tif (e.searchString) {\n\t\t\tthis.setGlobalBufferTerm(this._state.searchString);\n\t\t}\n\t}\n\n\tprivate saveQueryState(e: FindReplaceStateChangedEvent) {\n\t\tif (e.isRegex) {\n\t\t\tthis._storageService.store('editor.isRegex', this._state.actualIsRegex, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.wholeWord) {\n\t\t\tthis._storageService.store('editor.wholeWord', this._state.actualWholeWord, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.matchCase) {\n\t\t\tthis._storageService.store('editor.matchCase', this._state.actualMatchCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.preserveCase) {\n\t\t\tthis._storageService.store('editor.preserveCase', this._state.actualPreserveCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t}\n\n\tprivate loadQueryState() {\n\t\tthis._state.change({\n\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, this._state.matchCase),\n\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, this._state.wholeWord),\n\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, this._state.isRegex),\n\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, this._state.preserveCase)\n\t\t}, false);\n\t}\n\n\tpublic isFindInputFocused(): boolean {\n\t\treturn !!CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService);\n\t}\n\n\tpublic getState(): FindReplaceState {\n\t\treturn this._state;\n\t}\n\n\tpublic closeFindWidget(): void {\n\t\tthis._state.change({\n\t\t\tisRevealed: false,\n\t\t\tsearchScope: null\n\t\t}, false);\n\t\tthis._editor.focus();\n\t}\n\n\tpublic toggleCaseSensitive(): void {\n\t\tthis._state.change({ matchCase: !this._state.matchCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleWholeWords(): void {\n\t\tthis._state.change({ wholeWord: !this._state.wholeWord }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleRegex(): void {\n\t\tthis._state.change({ isRegex: !this._state.isRegex }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic togglePreserveCase(): void {\n\t\tthis._state.change({ preserveCase: !this._state.preserveCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleSearchScope(): void {\n\t\tif (this._state.searchScope) {\n\t\t\tthis._state.change({ searchScope: null }, true);\n\t\t} else {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tlet selections = this._editor.getSelections();\n\t\t\t\tselections = selections.map(selection => {\n\t\t\t\t\tif (selection.endColumn === 1 && selection.endLineNumber > selection.startLineNumber) {\n\t\t\t\t\t\tselection = selection.setEndPosition(\n\t\t\t\t\t\t\tselection.endLineNumber - 1,\n\t\t\t\t\t\t\tthis._editor.getModel()!.getLineMaxColumn(selection.endLineNumber - 1)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!selection.isEmpty()) {\n\t\t\t\t\t\treturn selection;\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter((element): element is Selection => !!element);\n\n\t\t\t\tif (selections.length) {\n\t\t\t\t\tthis._state.change({ searchScope: selections }, true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setSearchString(searchString: string): void {\n\t\tif (this._state.isRegex) {\n\t\t\tsearchString = strings.escapeRegExpCharacters(searchString);\n\t\t}\n\t\tthis._state.change({ searchString: searchString }, false);\n\t}\n\n\tpublic highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\t// overwritten in subclass\n\t}\n\n\tprotected async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tthis.disposeModel();\n\n\t\tif (!this._editor.hasModel()) {\n\t\t\t// cannot do anything with an editor that doesn't have a model...\n\t\t\treturn;\n\t\t}\n\n\t\tconst stateChanges: INewFindReplaceState = {\n\t\t\t...newState,\n\t\t\tisRevealed: true\n\t\t};\n\n\t\tif (opts.seedSearchStringFromSelection === 'single') {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection, opts.seedSearchStringFromNonEmptySelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tif (this._state.isRegex) {\n\t\t\t\t\tstateChanges.searchString = strings.escapeRegExpCharacters(selectionSearchString);\n\t\t\t\t} else {\n\t\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (opts.seedSearchStringFromSelection === 'multiple' && !opts.updateSearchScope) {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\tif (!stateChanges.searchString && opts.seedSearchStringFromGlobalClipboard) {\n\t\t\tconst selectionSearchString = await this.getGlobalBufferTerm();\n\n\t\t\tif (!this._editor.hasModel()) {\n\t\t\t\t// the editor has lost its model in the meantime\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\t// Overwrite isReplaceRevealed\n\t\tif (opts.forceRevealReplace || stateChanges.isReplaceRevealed) {\n\t\t\tstateChanges.isReplaceRevealed = true;\n\t\t} else if (!this._findWidgetVisible.get()) {\n\t\t\tstateChanges.isReplaceRevealed = false;\n\t\t}\n\n\t\tif (opts.updateSearchScope) {\n\t\t\tconst currentSelections = this._editor.getSelections();\n\t\t\tif (currentSelections.some(selection => !selection.isEmpty())) {\n\t\t\t\tstateChanges.searchScope = currentSelections;\n\t\t\t}\n\t\t}\n\n\t\tstateChanges.loop = opts.loop;\n\n\t\tthis._state.change(stateChanges, false);\n\n\t\tif (!this._model) {\n\t\t\tthis._model = new FindModelBoundToEditorModel(this._editor, this._state);\n\t\t}\n\t}\n\n\tpublic start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\treturn this._start(opts, newState);\n\t}\n\n\tpublic moveToNextMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToNextMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic moveToPrevMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToPrevMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic goToMatch(index: number): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToMatch(index);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replace(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.replace();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replaceAll(): boolean {\n\t\tif (this._model) {\n\t\t\tif (this._editor.getModel()?.isTooLargeForHeapOperation()) {\n\t\t\t\tthis._notificationService.warn(nls.localize('too.large.for.replaceall', \"The file is too large to perform a replace all operation.\"));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis._model.replaceAll();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic selectAllMatches(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.selectAllMatches();\n\t\t\tthis._editor.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic async getGlobalBufferTerm(): Promise<string> {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\treturn this._clipboardService.readFindText();\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic setGlobalBufferTerm(text: string): void {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\t// intentionally not awaited\n\t\t\tthis._clipboardService.writeFindText(text);\n\t\t}\n\t}\n}\n\nexport class FindController extends CommonFindController implements IFindController {\n\n\tprivate _widget: FindWidget | null;\n\tprivate _findOptionsWidget: FindOptionsWidget | null;\n\tprivate _findWidgetSearchHistory: FindWidgetSearchHistory;\n\tprivate _replaceWidgetHistory: ReplaceWidgetHistory;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IStorageService _storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@IHoverService hoverService: IHoverService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@IAccessibilityService private readonly _accessibilityService: IAccessibilityService,\n\t) {\n\t\tsuper(editor, _contextKeyService, _storageService, clipboardService, notificationService, hoverService);\n\t\tthis._widget = null;\n\t\tthis._findOptionsWidget = null;\n\t\tthis._findWidgetSearchHistory = FindWidgetSearchHistory.getOrCreate(_storageService);\n\t\tthis._replaceWidgetHistory = ReplaceWidgetHistory.getOrCreate(_storageService);\n\t}\n\n\tprotected override async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\n\t\tconst selection = this._editor.getSelection();\n\t\tlet updateSearchScope = false;\n\n\t\tswitch (this._editor.getOption(EditorOption.find).autoFindInSelection) {\n\t\t\tcase 'always':\n\t\t\t\tupdateSearchScope = true;\n\t\t\t\tbreak;\n\t\t\tcase 'never':\n\t\t\t\tupdateSearchScope = false;\n\t\t\t\tbreak;\n\t\t\tcase 'multiline': {\n\t\t\t\tconst isSelectionMultipleLine = !!selection && selection.startLineNumber !== selection.endLineNumber;\n\t\t\t\tupdateSearchScope = isSelectionMultipleLine;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\topts.updateSearchScope = opts.updateSearchScope || updateSearchScope;\n\n\t\tawait super._start(opts, newState);\n\n\t\tif (this._widget) {\n\t\t\tif (opts.shouldFocus === FindStartFocusAction.FocusReplaceInput) {\n\t\t\t\tthis._widget.focusReplaceInput();\n\t\t\t} else if (opts.shouldFocus === FindStartFocusAction.FocusFindInput) {\n\t\t\t\tthis._widget.focusFindInput();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\t\tif (this._state.isRevealed && !ignoreWhenVisible) {\n\t\t\tthis._widget!.highlightFindOptions();\n\t\t} else {\n\t\t\tthis._findOptionsWidget!.highlightFindOptions();\n\t\t}\n\t}\n\n\tprivate _createFindWidget() {\n\t\tthis._widget = this._register(new FindWidget(this._editor, this, this._state, this._contextViewService, this._keybindingService, this._contextKeyService, this._hoverService, this._findWidgetSearchHistory, this._replaceWidgetHistory, this._configurationService, this._accessibilityService));\n\t\tthis._findOptionsWidget = this._register(new FindOptionsWidget(this._editor, this._state, this._keybindingService));\n\t}\n\n\tsaveViewState(): any {\n\t\treturn this._widget?.getViewState();\n\t}\n\n\trestoreViewState(state: any): void {\n\t\tthis._widget?.setViewState(state);\n\t}\n}\n\nexport const StartFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindAction,\n\tlabel: nls.localize2('startFindAction', \"Find\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyF,\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miFind', comment: ['&& denotes a mnemonic'] }, \"&&Find\"),\n\t\torder: 1\n\t}\n}));\n\nStartFindAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\treturn controller.start({\n\t\tforceRevealReplace: false,\n\t\tseedSearchStringFromSelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).globalFindClipboard,\n\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nconst findArgDescription = {\n\tdescription: 'Open a new In-Editor Find Widget.',\n\targs: [{\n\t\tname: 'Open a new In-Editor Find Widget args',\n\t\tschema: {\n\t\t\tproperties: {\n\t\t\t\tsearchString: { type: 'string' },\n\t\t\t\treplaceString: { type: 'string' },\n\t\t\t\tisRegex: { type: 'boolean' },\n\t\t\t\tmatchWholeWord: { type: 'boolean' },\n\t\t\t\tisCaseSensitive: { type: 'boolean' },\n\t\t\t\tpreserveCase: { type: 'boolean' },\n\t\t\t\tfindInSelection: { type: 'boolean' },\n\t\t\t}\n\t\t}\n\t}]\n} as const;\n\nexport class StartFindWithArgsAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithArgs,\n\t\t\tlabel: nls.localize2('startFindWithArgsAction', \"Find with Arguments\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tmetadata: findArgDescription\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args?: IFindStartArguments): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tconst newState: INewFindReplaceState = args ? {\n\t\t\t\tsearchString: args.searchString,\n\t\t\t\treplaceString: args.replaceString,\n\t\t\t\tisReplaceRevealed: args.replaceString !== undefined,\n\t\t\t\tisRegex: args.isRegex,\n\t\t\t\t// isRegexOverride: args.regexOverride,\n\t\t\t\twholeWord: args.matchWholeWord,\n\t\t\t\t// wholeWordOverride: args.wholeWordOverride,\n\t\t\t\tmatchCase: args.isCaseSensitive,\n\t\t\t\t// matchCaseOverride: args.matchCaseOverride,\n\t\t\t\tpreserveCase: args.preserveCase,\n\t\t\t\t// preserveCaseOverride: args.preserveCaseOverride,\n\t\t\t} : {};\n\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: args?.findInSelection || false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t}, newState);\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nexport class StartFindWithSelectionAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithSelection,\n\t\t\tlabel: nls.localize2('startFindWithSelectionAction', \"Find with Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tmac: {\n\t\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyE,\n\t\t\t\t},\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'multiple',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nasync function matchFindAction(editor: ICodeEditor, next: boolean): Promise<void> {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn;\n\t}\n\tconst shouldCloseOnResult = editor.getOption(EditorOption.find).closeOnResult;\n\tconst wasFindWidgetVisible = controller.getState().isRevealed;\n\n\tconst runMatch = (): boolean => {\n\t\tconst previousSelection = controller.editor.getSelection();\n\t\tconst result = next ? controller.moveToNextMatch() : controller.moveToPrevMatch();\n\n\t\tlet landedOnMatch = false;\n\t\tif (result) {\n\t\t\tconst currentSelection = controller.editor.getSelection();\n\t\t\tif (!previousSelection && currentSelection) {\n\t\t\t\tlandedOnMatch = true;\n\t\t\t} else if (previousSelection && currentSelection && !previousSelection.equalsSelection(currentSelection)) {\n\t\t\t\tlandedOnMatch = true;\n\t\t\t}\n\t\t}\n\n\t\tif (landedOnMatch) {\n\t\t\tcontroller.editor.pushUndoStop();\n\t\t\tif (shouldCloseOnResult && wasFindWidgetVisible && controller.isFindInputFocused()) {\n\t\t\t\tcontroller.closeFindWidget();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\tif (!runMatch()) {\n\t\tawait controller.start({\n\t\t\tforceRevealReplace: false,\n\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\tshouldAnimate: true,\n\t\t\tupdateSearchScope: false,\n\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t});\n\t\tif (!runMatch()) {\n\t\t\t// Re-announce \"no results\" for screen readers on explicit navigation (#301126)\n\t\t\tconst state = controller.getState();\n\t\t\tif (wasFindWidgetVisible && state.matchesCount === 0 && state.searchString) {\n\t\t\t\talertFn(nls.localize('ariaSearchNoResult', \"{0} found for '{1}'\", NLS_NO_RESULTS, state.searchString));\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport const NextMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.NextMatchFindAction,\n\tlabel: nls.localize2('findNextMatchAction', \"Find Next\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyCode.KeyG, secondary: [KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nNextMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, true);\n});\n\n\nexport const PreviousMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.PreviousMatchFindAction,\n\tlabel: nls.localize2('findPreviousMatchAction', \"Find Previous\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Shift | KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG, secondary: [KeyMod.Shift | KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyMod.Shift | KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nPreviousMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, false);\n});\n\nexport class MoveToMatchFindAction extends EditorAction {\n\n\tprivate _highlightDecorations: string[] = [];\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.GoToMatchFindAction,\n\t\t\tlabel: nls.localize2('findMatchAction.goToMatch', \"Go to Match...\"),\n\t\t\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void | Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchesCount = controller.getState().matchesCount;\n\t\tif (matchesCount < 1) {\n\t\t\tconst notificationService = accessor.get(INotificationService);\n\t\t\tnotificationService.notify({\n\t\t\t\tseverity: Severity.Warning,\n\t\t\t\tmessage: nls.localize('findMatchAction.noResults', \"No matches. Try searching for something else.\")\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst disposables = new DisposableStore();\n\t\tconst inputBox = disposables.add(quickInputService.createInputBox());\n\t\tinputBox.placeholder = nls.localize('findMatchAction.inputPlaceHolder', \"Type a number to go to a specific match (between 1 and {0})\", matchesCount);\n\n\t\tconst toFindMatchIndex = (value: string): number | undefined => {\n\t\t\tconst index = parseInt(value);\n\t\t\tif (isNaN(index)) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst matchCount = controller.getState().matchesCount;\n\t\t\tif (index > 0 && index <= matchCount) {\n\t\t\t\treturn index - 1; // zero based\n\t\t\t} else if (index < 0 && index >= -matchCount) {\n\t\t\t\treturn matchCount + index;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst updatePickerAndEditor = (value: string) => {\n\t\t\tconst index = toFindMatchIndex(value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\t// valid\n\t\t\t\tinputBox.validationMessage = undefined;\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tconst currentMatch = controller.getState().currentMatch;\n\t\t\t\tif (currentMatch) {\n\t\t\t\t\tthis.addDecorations(editor, currentMatch);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t\tthis.clearDecorations(editor);\n\t\t\t}\n\t\t};\n\t\tdisposables.add(inputBox.onDidChangeValue(value => {\n\t\t\tupdatePickerAndEditor(value);\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidAccept(() => {\n\t\t\tconst index = toFindMatchIndex(inputBox.value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tinputBox.hide();\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t}\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidHide(() => {\n\t\t\tthis.clearDecorations(editor);\n\t\t\tdisposables.dispose();\n\t\t}));\n\n\t\tinputBox.show();\n\t}\n\n\tprivate clearDecorations(editor: ICodeEditor): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, []);\n\t\t});\n\t}\n\n\tprivate addDecorations(editor: ICodeEditor, range: IRange): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, [\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight',\n\t\t\t\t\t\tclassName: 'rangeHighlight',\n\t\t\t\t\t\tisWholeLine: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight-overview',\n\t\t\t\t\t\toverviewRuler: {\n\t\t\t\t\t\t\tcolor: themeColorFromId(overviewRulerRangeHighlight),\n\t\t\t\t\t\t\tposition: OverviewRulerLane.Full\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\nexport abstract class SelectionMatchFindAction extends EditorAction {\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectionSearchString = getSelectionSearchString(editor, 'single', false);\n\t\tif (selectionSearchString) {\n\t\t\tcontroller.setSearchString(selectionSearchString);\n\t\t}\n\t\tif (!this._run(controller)) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\t\t\tthis._run(controller);\n\t\t}\n\t}\n\n\tprotected abstract _run(controller: CommonFindController): boolean;\n}\n\nexport class NextSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.NextSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('nextSelectionMatchFindAction', \"Find Next Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToNextMatch();\n\t}\n}\n\nexport class PreviousSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.PreviousSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('previousSelectionMatchFindAction', \"Find Previous Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToPrevMatch();\n\t}\n}\n\nexport const StartFindReplaceAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindReplaceAction,\n\tlabel: nls.localize2('startReplace', \"Replace\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyH,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyF },\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miReplace', comment: ['&& denotes a mnemonic'] }, \"&&Replace\"),\n\t\torder: 2\n\t}\n}));\n\nStartFindReplaceAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tif (!editor.hasModel() || editor.getOption(EditorOption.readOnly)) {\n\t\treturn false;\n\t}\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\n\tconst currentSelection = editor.getSelection();\n\tconst findInputFocused = controller.isFindInputFocused();\n\t// we only seed search string from selection when the current selection is single line and not empty,\n\t// + the find input is not focused\n\tconst seedSearchStringFromSelection = !currentSelection.isEmpty()\n\t\t&& currentSelection.startLineNumber === currentSelection.endLineNumber\n\t\t&& (editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never')\n\t\t&& !findInputFocused;\n\t/*\n\t* if the existing search string in find widget is empty and we don't seed search string from selection, it means the Find Input is still empty, so we should focus the Find Input instead of Replace Input.\n\n\t* findInputFocused true -> seedSearchStringFromSelection false, FocusReplaceInput\n\t* findInputFocused false, seedSearchStringFromSelection true FocusReplaceInput\n\t* findInputFocused false seedSearchStringFromSelection false FocusFindInput\n\t*/\n\tconst shouldFocus = (findInputFocused || seedSearchStringFromSelection) ?\n\t\tFindStartFocusAction.FocusReplaceInput : FindStartFocusAction.FocusFindInput;\n\n\treturn controller.start({\n\t\tforceRevealReplace: true,\n\t\tseedSearchStringFromSelection: seedSearchStringFromSelection ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never',\n\t\tshouldFocus: shouldFocus,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nregisterEditorContribution(CommonFindController.ID, FindController, EditorContributionInstantiation.Eager); // eager because it uses `saveViewState`/`restoreViewState`\n\nregisterEditorAction(StartFindWithArgsAction);\nregisterEditorAction(StartFindWithSelectionAction);\nregisterEditorAction(MoveToMatchFindAction);\nregisterEditorAction(NextSelectionMatchFindAction);\nregisterEditorAction(PreviousSelectionMatchFindAction);\n\nconst FindCommand = EditorCommand.bindToContribution<CommonFindController>(CommonFindController.get);\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.CloseFindWidgetCommand,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.closeFindWidget(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleCaseSensitiveCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleCaseSensitive(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleCaseSensitiveKeybinding.primary,\n\t\tmac: ToggleCaseSensitiveKeybinding.mac,\n\t\twin: ToggleCaseSensitiveKeybinding.win,\n\t\tlinux: ToggleCaseSensitiveKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleWholeWordCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleWholeWords(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleWholeWordKeybinding.primary,\n\t\tmac: ToggleWholeWordKeybinding.mac,\n\t\twin: ToggleWholeWordKeybinding.win,\n\t\tlinux: ToggleWholeWordKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleRegexCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleRegex(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleRegexKeybinding.primary,\n\t\tmac: ToggleRegexKeybinding.mac,\n\t\twin: ToggleRegexKeybinding.win,\n\t\tlinux: ToggleRegexKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleSearchScopeCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleSearchScope(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleSearchScopeKeybinding.primary,\n\t\tmac: ToggleSearchScopeKeybinding.mac,\n\t\twin: ToggleSearchScopeKeybinding.win,\n\t\tlinux: ToggleSearchScopeKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.TogglePreserveCaseCommand,\n\tprecondition: undefined,\n\thandler: x => x.togglePreserveCase(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: TogglePreserveCaseKeybinding.primary,\n\t\tmac: TogglePreserveCaseKeybinding.mac,\n\t\twin: TogglePreserveCaseKeybinding.win,\n\t\tlinux: TogglePreserveCaseKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Digit1\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: undefined,\n\t\tmac: {\n\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Enter,\n\t\t}\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.SelectAllMatchesAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.selectAllMatches(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/find/browser/findController.ts"],"names":[],"mappings":"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","file":"findController.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 { alert as alertFn } from '../../../../base/browser/ui/aria/aria.js';\nimport { Delayer } from '../../../../base/common/async.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { Disposable, DisposableStore } from '../../../../base/common/lifecycle.js';\nimport * as strings from '../../../../base/common/strings.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorCommand, EditorContributionInstantiation, MultiEditorAction, registerEditorAction, registerEditorCommand, registerEditorContribution, registerMultiEditorAction, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { overviewRulerRangeHighlight } from '../../../common/core/editorColorRegistry.js';\nimport { IRange } from '../../../common/core/range.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { OverviewRulerLane } from '../../../common/model.js';\nimport { CONTEXT_FIND_INPUT_FOCUSED, CONTEXT_FIND_WIDGET_VISIBLE, CONTEXT_REPLACE_INPUT_FOCUSED, FindModelBoundToEditorModel, FIND_IDS, ToggleCaseSensitiveKeybinding, TogglePreserveCaseKeybinding, ToggleRegexKeybinding, ToggleSearchScopeKeybinding, ToggleWholeWordKeybinding } from './findModel.js';\nimport { FindOptionsWidget } from './findOptionsWidget.js';\nimport { FindReplaceState, FindReplaceStateChangedEvent, INewFindReplaceState } from './findState.js';\nimport { FindWidget, IFindController, NLS_NO_RESULTS } from './findWidget.js';\nimport * as nls from '../../../../nls.js';\nimport { MenuId } from '../../../../platform/actions/common/actions.js';\nimport { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js';\nimport { ContextKeyExpr, IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { INotificationService, Severity } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IStorageService, StorageScope, StorageTarget } from '../../../../platform/storage/common/storage.js';\nimport { themeColorFromId } from '../../../../platform/theme/common/themeService.js';\nimport { Selection } from '../../../common/core/selection.js';\nimport { IHoverService } from '../../../../platform/hover/browser/hover.js';\nimport { FindWidgetSearchHistory } from './findWidgetSearchHistory.js';\nimport { ReplaceWidgetHistory } from './replaceWidgetHistory.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.js';\n\nconst SEARCH_STRING_MAX_LENGTH = 524288;\n\nexport function getSelectionSearchString(editor: ICodeEditor, seedSearchStringFromSelection: 'single' | 'multiple' = 'single', seedSearchStringFromNonEmptySelection: boolean = false): string | null {\n\tif (!editor.hasModel()) {\n\t\treturn null;\n\t}\n\n\tconst selection = editor.getSelection();\n\t// if selection spans multiple lines, default search string to empty\n\n\tif ((seedSearchStringFromSelection === 'single' && selection.startLineNumber === selection.endLineNumber)\n\t\t|| seedSearchStringFromSelection === 'multiple') {\n\t\tif (selection.isEmpty()) {\n\t\t\tconst wordAtPosition = editor.getConfiguredWordAtPosition(selection.getStartPosition());\n\t\t\tif (wordAtPosition && (false === seedSearchStringFromNonEmptySelection)) {\n\t\t\t\treturn wordAtPosition.word;\n\t\t\t}\n\t\t} else {\n\t\t\tif (editor.getModel().getValueLengthInRange(selection) < SEARCH_STRING_MAX_LENGTH) {\n\t\t\t\treturn editor.getModel().getValueInRange(selection);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn null;\n}\n\nexport const enum FindStartFocusAction {\n\tNoFocusChange,\n\tFocusFindInput,\n\tFocusReplaceInput\n}\n\nexport interface IFindStartOptions {\n\tforceRevealReplace: boolean;\n\tseedSearchStringFromSelection: 'none' | 'single' | 'multiple';\n\tseedSearchStringFromNonEmptySelection: boolean;\n\tseedSearchStringFromGlobalClipboard: boolean;\n\tshouldFocus: FindStartFocusAction;\n\tshouldAnimate: boolean;\n\tupdateSearchScope: boolean;\n\tloop: boolean;\n}\n\nexport interface IFindStartArguments {\n\tsearchString?: string;\n\treplaceString?: string;\n\tisRegex?: boolean;\n\tmatchWholeWord?: boolean;\n\tisCaseSensitive?: boolean;\n\tpreserveCase?: boolean;\n\tfindInSelection?: boolean;\n}\n\nexport class CommonFindController extends Disposable implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.findController';\n\n\tprotected _editor: ICodeEditor;\n\tprivate readonly _findWidgetVisible: IContextKey<boolean>;\n\tprotected _state: FindReplaceState;\n\tprotected _updateHistoryDelayer: Delayer<void>;\n\tprivate _model: FindModelBoundToEditorModel | null;\n\tprotected readonly _storageService: IStorageService;\n\tprivate readonly _clipboardService: IClipboardService;\n\tprotected readonly _contextKeyService: IContextKeyService;\n\tprotected readonly _notificationService: INotificationService;\n\tprotected readonly _hoverService: IHoverService;\n\n\tget editor() {\n\t\treturn this._editor;\n\t}\n\n\tpublic static get(editor: ICodeEditor): CommonFindController | null {\n\t\treturn editor.getContribution<CommonFindController>(CommonFindController.ID);\n\t}\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextKeyService contextKeyService: IContextKeyService,\n\t\t@IStorageService storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IHoverService hoverService: IHoverService\n\t) {\n\t\tsuper();\n\t\tthis._editor = editor;\n\t\tthis._findWidgetVisible = CONTEXT_FIND_WIDGET_VISIBLE.bindTo(contextKeyService);\n\t\tthis._contextKeyService = contextKeyService;\n\t\tthis._storageService = storageService;\n\t\tthis._clipboardService = clipboardService;\n\t\tthis._notificationService = notificationService;\n\t\tthis._hoverService = hoverService;\n\n\t\tthis._updateHistoryDelayer = this._register(new Delayer<void>(500));\n\t\tthis._state = this._register(new FindReplaceState());\n\t\tthis.loadQueryState();\n\t\tthis._register(this._state.onFindReplaceStateChange((e) => this._onStateChanged(e)));\n\n\t\tthis._model = null;\n\n\t\tthis._register(this._editor.onDidChangeModel(() => {\n\t\t\tconst shouldRestartFind = (this._editor.getModel() && this._state.isRevealed);\n\n\t\t\tthis.disposeModel();\n\n\t\t\tthis._state.change({\n\t\t\t\tsearchScope: null,\n\t\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, false),\n\t\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, false),\n\t\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, false),\n\t\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, false)\n\t\t\t}, false);\n\n\t\t\tif (shouldRestartFind) {\n\t\t\t\tthis._start({\n\t\t\t\t\tforceRevealReplace: false,\n\t\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\t\tshouldAnimate: false,\n\t\t\t\t\tupdateSearchScope: false,\n\t\t\t\t\tloop: this._editor.getOption(EditorOption.find).loop\n\t\t\t\t});\n\t\t\t}\n\t\t}));\n\t}\n\n\tpublic override dispose(): void {\n\t\tthis.disposeModel();\n\t\tsuper.dispose();\n\t}\n\n\tprivate disposeModel(): void {\n\t\tif (this._model) {\n\t\t\tthis._model.dispose();\n\t\t\tthis._model = null;\n\t\t}\n\t}\n\n\tprivate _onStateChanged(e: FindReplaceStateChangedEvent): void {\n\t\tthis.saveQueryState(e);\n\n\t\tif (e.isRevealed) {\n\t\t\tif (this._state.isRevealed) {\n\t\t\t\tthis._findWidgetVisible.set(true);\n\t\t\t} else {\n\t\t\t\tthis._findWidgetVisible.reset();\n\t\t\t\tthis.disposeModel();\n\t\t\t}\n\t\t}\n\t\tif (e.searchString) {\n\t\t\tthis.setGlobalBufferTerm(this._state.searchString);\n\t\t}\n\t}\n\n\tprivate saveQueryState(e: FindReplaceStateChangedEvent) {\n\t\tif (e.isRegex) {\n\t\t\tthis._storageService.store('editor.isRegex', this._state.actualIsRegex, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.wholeWord) {\n\t\t\tthis._storageService.store('editor.wholeWord', this._state.actualWholeWord, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.matchCase) {\n\t\t\tthis._storageService.store('editor.matchCase', this._state.actualMatchCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t\tif (e.preserveCase) {\n\t\t\tthis._storageService.store('editor.preserveCase', this._state.actualPreserveCase, StorageScope.WORKSPACE, StorageTarget.MACHINE);\n\t\t}\n\t}\n\n\tprivate loadQueryState() {\n\t\tthis._state.change({\n\t\t\tmatchCase: this._storageService.getBoolean('editor.matchCase', StorageScope.WORKSPACE, this._state.matchCase),\n\t\t\twholeWord: this._storageService.getBoolean('editor.wholeWord', StorageScope.WORKSPACE, this._state.wholeWord),\n\t\t\tisRegex: this._storageService.getBoolean('editor.isRegex', StorageScope.WORKSPACE, this._state.isRegex),\n\t\t\tpreserveCase: this._storageService.getBoolean('editor.preserveCase', StorageScope.WORKSPACE, this._state.preserveCase)\n\t\t}, false);\n\t}\n\n\tpublic isFindInputFocused(): boolean {\n\t\treturn !!CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService);\n\t}\n\n\tpublic getState(): FindReplaceState {\n\t\treturn this._state;\n\t}\n\n\tpublic closeFindWidget(): void {\n\t\tthis._state.change({\n\t\t\tisRevealed: false,\n\t\t\tsearchScope: null\n\t\t}, false);\n\t\tthis._editor.focus();\n\t}\n\n\tpublic toggleCaseSensitive(): void {\n\t\tthis._state.change({ matchCase: !this._state.matchCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleWholeWords(): void {\n\t\tthis._state.change({ wholeWord: !this._state.wholeWord }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleRegex(): void {\n\t\tthis._state.change({ isRegex: !this._state.isRegex }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic togglePreserveCase(): void {\n\t\tthis._state.change({ preserveCase: !this._state.preserveCase }, false);\n\t\tif (!this._state.isRevealed) {\n\t\t\tthis.highlightFindOptions();\n\t\t}\n\t}\n\n\tpublic toggleSearchScope(): void {\n\t\tif (this._state.searchScope) {\n\t\t\tthis._state.change({ searchScope: null }, true);\n\t\t} else {\n\t\t\tif (this._editor.hasModel()) {\n\t\t\t\tlet selections = this._editor.getSelections();\n\t\t\t\tselections = selections.map(selection => {\n\t\t\t\t\tif (selection.endColumn === 1 && selection.endLineNumber > selection.startLineNumber) {\n\t\t\t\t\t\tselection = selection.setEndPosition(\n\t\t\t\t\t\t\tselection.endLineNumber - 1,\n\t\t\t\t\t\t\tthis._editor.getModel()!.getLineMaxColumn(selection.endLineNumber - 1)\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tif (!selection.isEmpty()) {\n\t\t\t\t\t\treturn selection;\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}).filter((element): element is Selection => !!element);\n\n\t\t\t\tif (selections.length) {\n\t\t\t\t\tthis._state.change({ searchScope: selections }, true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic setSearchString(searchString: string): void {\n\t\tif (this._state.isRegex) {\n\t\t\tsearchString = strings.escapeRegExpCharacters(searchString);\n\t\t}\n\t\tthis._state.change({ searchString: searchString }, false);\n\t}\n\n\tpublic highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\t// overwritten in subclass\n\t}\n\n\tprotected async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tthis.disposeModel();\n\n\t\tif (!this._editor.hasModel()) {\n\t\t\t// cannot do anything with an editor that doesn't have a model...\n\t\t\treturn;\n\t\t}\n\n\t\tconst stateChanges: INewFindReplaceState = {\n\t\t\t...newState,\n\t\t\tisRevealed: true\n\t\t};\n\n\t\tif (opts.seedSearchStringFromSelection === 'single') {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection, opts.seedSearchStringFromNonEmptySelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tif (this._state.isRegex) {\n\t\t\t\t\tstateChanges.searchString = strings.escapeRegExpCharacters(selectionSearchString);\n\t\t\t\t} else {\n\t\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (opts.seedSearchStringFromSelection === 'multiple' && !opts.updateSearchScope) {\n\t\t\tconst selectionSearchString = getSelectionSearchString(this._editor, opts.seedSearchStringFromSelection);\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\tif (!stateChanges.searchString && opts.seedSearchStringFromGlobalClipboard) {\n\t\t\tconst selectionSearchString = await this.getGlobalBufferTerm();\n\n\t\t\tif (!this._editor.hasModel()) {\n\t\t\t\t// the editor has lost its model in the meantime\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (selectionSearchString) {\n\t\t\t\tstateChanges.searchString = selectionSearchString;\n\t\t\t}\n\t\t}\n\n\t\t// Overwrite isReplaceRevealed\n\t\tif (opts.forceRevealReplace || stateChanges.isReplaceRevealed) {\n\t\t\tstateChanges.isReplaceRevealed = true;\n\t\t} else if (!this._findWidgetVisible.get()) {\n\t\t\tstateChanges.isReplaceRevealed = false;\n\t\t}\n\n\t\tif (opts.updateSearchScope) {\n\t\t\tconst currentSelections = this._editor.getSelections();\n\t\t\tif (currentSelections.some(selection => !selection.isEmpty())) {\n\t\t\t\tstateChanges.searchScope = currentSelections;\n\t\t\t}\n\t\t}\n\n\t\tstateChanges.loop = opts.loop;\n\n\t\tthis._state.change(stateChanges, false);\n\n\t\tif (!this._model) {\n\t\t\tthis._model = new FindModelBoundToEditorModel(this._editor, this._state);\n\t\t}\n\t}\n\n\tpublic start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\treturn this._start(opts, newState);\n\t}\n\n\tpublic moveToNextMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToNextMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic moveToPrevMatch(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToPrevMatch();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic goToMatch(index: number): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.moveToMatch(index);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replace(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.replace();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic replaceAll(): boolean {\n\t\tif (this._model) {\n\t\t\tif (this._editor.getModel()?.isTooLargeForHeapOperation()) {\n\t\t\t\tthis._notificationService.warn(nls.localize('too.large.for.replaceall', \"The file is too large to perform a replace all operation.\"));\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tthis._model.replaceAll();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic selectAllMatches(): boolean {\n\t\tif (this._model) {\n\t\t\tthis._model.selectAllMatches();\n\t\t\tthis._editor.focus();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tpublic async getGlobalBufferTerm(): Promise<string> {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\treturn this._clipboardService.readFindText();\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic setGlobalBufferTerm(text: string): void {\n\t\tif (this._editor.getOption(EditorOption.find).globalFindClipboard\n\t\t\t&& this._editor.hasModel()\n\t\t\t&& !this._editor.getModel().isTooLargeForSyncing()\n\t\t) {\n\t\t\t// intentionally not awaited\n\t\t\tthis._clipboardService.writeFindText(text);\n\t\t}\n\t}\n}\n\nexport class FindController extends CommonFindController implements IFindController {\n\n\tprivate _widget: FindWidget | null;\n\tprivate _findOptionsWidget: FindOptionsWidget | null;\n\tprivate _findWidgetSearchHistory: FindWidgetSearchHistory;\n\tprivate _replaceWidgetHistory: ReplaceWidgetHistory;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@INotificationService notificationService: INotificationService,\n\t\t@IStorageService _storageService: IStorageService,\n\t\t@IClipboardService clipboardService: IClipboardService,\n\t\t@IHoverService hoverService: IHoverService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@IAccessibilityService private readonly _accessibilityService: IAccessibilityService,\n\t) {\n\t\tsuper(editor, _contextKeyService, _storageService, clipboardService, notificationService, hoverService);\n\t\tthis._widget = null;\n\t\tthis._findOptionsWidget = null;\n\t\tthis._findWidgetSearchHistory = FindWidgetSearchHistory.getOrCreate(_storageService);\n\t\tthis._replaceWidgetHistory = ReplaceWidgetHistory.getOrCreate(_storageService);\n\t}\n\n\tprotected override async _start(opts: IFindStartOptions, newState?: INewFindReplaceState): Promise<void> {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\n\t\tconst selection = this._editor.getSelection();\n\t\tlet updateSearchScope = false;\n\n\t\tswitch (this._editor.getOption(EditorOption.find).autoFindInSelection) {\n\t\t\tcase 'always':\n\t\t\t\tupdateSearchScope = true;\n\t\t\t\tbreak;\n\t\t\tcase 'never':\n\t\t\t\tupdateSearchScope = false;\n\t\t\t\tbreak;\n\t\t\tcase 'multiline': {\n\t\t\t\tconst isSelectionMultipleLine = !!selection && selection.startLineNumber !== selection.endLineNumber;\n\t\t\t\tupdateSearchScope = isSelectionMultipleLine;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\topts.updateSearchScope = opts.updateSearchScope || updateSearchScope;\n\n\t\tawait super._start(opts, newState);\n\n\t\tif (this._widget) {\n\t\t\tif (opts.shouldFocus === FindStartFocusAction.FocusReplaceInput) {\n\t\t\t\tthis._widget.focusReplaceInput();\n\t\t\t} else if (opts.shouldFocus === FindStartFocusAction.FocusFindInput) {\n\t\t\t\tthis._widget.focusFindInput();\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic override highlightFindOptions(ignoreWhenVisible: boolean = false): void {\n\t\tif (!this._widget) {\n\t\t\tthis._createFindWidget();\n\t\t}\n\t\tif (this._state.isRevealed && !ignoreWhenVisible) {\n\t\t\tthis._widget!.highlightFindOptions();\n\t\t} else {\n\t\t\tthis._findOptionsWidget!.highlightFindOptions();\n\t\t}\n\t}\n\n\tprivate _createFindWidget() {\n\t\tthis._widget = this._register(new FindWidget(this._editor, this, this._state, this._contextViewService, this._keybindingService, this._contextKeyService, this._hoverService, this._findWidgetSearchHistory, this._replaceWidgetHistory, this._configurationService, this._accessibilityService));\n\t\tthis._findOptionsWidget = this._register(new FindOptionsWidget(this._editor, this._state, this._keybindingService));\n\t}\n\n\tsaveViewState(): any {\n\t\treturn this._widget?.getViewState();\n\t}\n\n\trestoreViewState(state: any): void {\n\t\tthis._widget?.setViewState(state);\n\t}\n}\n\nexport const StartFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindAction,\n\tlabel: nls.localize2('startFindAction', \"Find\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyF,\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miFind', comment: ['&& denotes a mnemonic'] }, \"&&Find\"),\n\t\torder: 1\n\t}\n}));\n\nStartFindAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\treturn controller.start({\n\t\tforceRevealReplace: false,\n\t\tseedSearchStringFromSelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).globalFindClipboard,\n\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nconst findArgDescription = {\n\tdescription: 'Open a new In-Editor Find Widget.',\n\targs: [{\n\t\tname: 'Open a new In-Editor Find Widget args',\n\t\tschema: {\n\t\t\tproperties: {\n\t\t\t\tsearchString: { type: 'string' },\n\t\t\t\treplaceString: { type: 'string' },\n\t\t\t\tisRegex: { type: 'boolean' },\n\t\t\t\tmatchWholeWord: { type: 'boolean' },\n\t\t\t\tisCaseSensitive: { type: 'boolean' },\n\t\t\t\tpreserveCase: { type: 'boolean' },\n\t\t\t\tfindInSelection: { type: 'boolean' },\n\t\t\t}\n\t\t}\n\t}]\n} as const;\n\nexport class StartFindWithArgsAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithArgs,\n\t\t\tlabel: nls.localize2('startFindWithArgsAction', \"Find with Arguments\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t},\n\t\t\tmetadata: findArgDescription\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor, args?: IFindStartArguments): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tconst newState: INewFindReplaceState = args ? {\n\t\t\t\tsearchString: args.searchString,\n\t\t\t\treplaceString: args.replaceString,\n\t\t\t\tisReplaceRevealed: args.replaceString !== undefined,\n\t\t\t\tisRegex: args.isRegex,\n\t\t\t\t// isRegexOverride: args.regexOverride,\n\t\t\t\twholeWord: args.matchWholeWord,\n\t\t\t\t// wholeWordOverride: args.wholeWordOverride,\n\t\t\t\tmatchCase: args.isCaseSensitive,\n\t\t\t\t// matchCaseOverride: args.matchCaseOverride,\n\t\t\t\tpreserveCase: args.preserveCase,\n\t\t\t\t// preserveCaseOverride: args.preserveCaseOverride,\n\t\t\t} : {};\n\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\t\tshouldFocus: FindStartFocusAction.FocusFindInput,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: args?.findInSelection || false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t}, newState);\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nexport class StartFindWithSelectionAction extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.StartFindWithSelection,\n\t\t\tlabel: nls.localize2('startFindWithSelectionAction', \"Find with Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: null,\n\t\t\t\tprimary: 0,\n\t\t\t\tmac: {\n\t\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyE,\n\t\t\t\t},\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (controller) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'multiple',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\n\t\t\tcontroller.setGlobalBufferTerm(controller.getState().searchString);\n\t\t}\n\t}\n}\n\nasync function matchFindAction(editor: ICodeEditor, next: boolean): Promise<void> {\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn;\n\t}\n\tconst shouldCloseOnResult = editor.getOption(EditorOption.find).closeOnResult;\n\tconst wasFindWidgetVisible = controller.getState().isRevealed;\n\n\tconst runMatch = (): boolean => {\n\t\tconst previousSelection = controller.editor.getSelection();\n\t\tconst result = next ? controller.moveToNextMatch() : controller.moveToPrevMatch();\n\n\t\tlet landedOnMatch = false;\n\t\tif (result) {\n\t\t\tconst currentSelection = controller.editor.getSelection();\n\t\t\tif (!previousSelection && currentSelection) {\n\t\t\t\tlandedOnMatch = true;\n\t\t\t} else if (previousSelection && currentSelection && !previousSelection.equalsSelection(currentSelection)) {\n\t\t\t\tlandedOnMatch = true;\n\t\t\t}\n\t\t}\n\n\t\tif (landedOnMatch) {\n\t\t\tcontroller.editor.pushUndoStop();\n\t\t\tif (shouldCloseOnResult && wasFindWidgetVisible && controller.isFindInputFocused()) {\n\t\t\t\tcontroller.closeFindWidget();\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\tif (!runMatch()) {\n\t\tawait controller.start({\n\t\t\tforceRevealReplace: false,\n\t\t\tseedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never' ? 'single' : 'none',\n\t\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\t\tseedSearchStringFromGlobalClipboard: true,\n\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\tshouldAnimate: true,\n\t\t\tupdateSearchScope: false,\n\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t});\n\t\tif (!runMatch()) {\n\t\t\t// Re-announce \"no results\" for screen readers on explicit navigation (#301126)\n\t\t\tconst state = controller.getState();\n\t\t\tif (wasFindWidgetVisible && state.matchesCount === 0 && state.searchString) {\n\t\t\t\talertFn(nls.localize('ariaSearchNoResult', \"{0} found for '{1}'\", NLS_NO_RESULTS, state.searchString));\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport const NextMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.NextMatchFindAction,\n\tlabel: nls.localize2('findNextMatchAction', \"Find Next\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyCode.KeyG, secondary: [KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nNextMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, true);\n});\n\n\nexport const PreviousMatchFindAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.PreviousMatchFindAction,\n\tlabel: nls.localize2('findPreviousMatchAction', \"Find Previous\"),\n\tprecondition: undefined,\n\tkbOpts: [{\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Shift | KeyCode.F3,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.KeyG, secondary: [KeyMod.Shift | KeyCode.F3] },\n\t\tweight: KeybindingWeight.EditorContrib\n\t}, {\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_FIND_INPUT_FOCUSED),\n\t\tprimary: KeyMod.Shift | KeyCode.Enter,\n\t\tweight: KeybindingWeight.EditorContrib\n\t}]\n}));\n\nPreviousMatchFindAction.addImplementation(0, async (accessor: ServicesAccessor, editor: ICodeEditor, args: any): Promise<void> => {\n\treturn matchFindAction(editor, false);\n});\n\nexport class MoveToMatchFindAction extends EditorAction {\n\n\tprivate _highlightDecorations: string[] = [];\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.GoToMatchFindAction,\n\t\t\tlabel: nls.localize2('findMatchAction.goToMatch', \"Go to Match...\"),\n\t\t\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void | Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst matchesCount = controller.getState().matchesCount;\n\t\tif (matchesCount < 1) {\n\t\t\tconst notificationService = accessor.get(INotificationService);\n\t\t\tnotificationService.notify({\n\t\t\t\tseverity: Severity.Warning,\n\t\t\t\tmessage: nls.localize('findMatchAction.noResults', \"No matches. Try searching for something else.\")\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst disposables = new DisposableStore();\n\t\tconst inputBox = disposables.add(quickInputService.createInputBox());\n\t\tinputBox.placeholder = nls.localize('findMatchAction.inputPlaceHolder', \"Type a number to go to a specific match (between 1 and {0})\", matchesCount);\n\n\t\tconst toFindMatchIndex = (value: string): number | undefined => {\n\t\t\tconst index = parseInt(value);\n\t\t\tif (isNaN(index)) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst matchCount = controller.getState().matchesCount;\n\t\t\tif (index > 0 && index <= matchCount) {\n\t\t\t\treturn index - 1; // zero based\n\t\t\t} else if (index < 0 && index >= -matchCount) {\n\t\t\t\treturn matchCount + index;\n\t\t\t}\n\n\t\t\treturn undefined;\n\t\t};\n\n\t\tconst updatePickerAndEditor = (value: string) => {\n\t\t\tconst index = toFindMatchIndex(value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\t// valid\n\t\t\t\tinputBox.validationMessage = undefined;\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tconst currentMatch = controller.getState().currentMatch;\n\t\t\t\tif (currentMatch) {\n\t\t\t\t\tthis.addDecorations(editor, currentMatch);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t\tthis.clearDecorations(editor);\n\t\t\t}\n\t\t};\n\t\tdisposables.add(inputBox.onDidChangeValue(value => {\n\t\t\tupdatePickerAndEditor(value);\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidAccept(() => {\n\t\t\tconst index = toFindMatchIndex(inputBox.value);\n\t\t\tif (typeof index === 'number') {\n\t\t\t\tcontroller.goToMatch(index);\n\t\t\t\tinputBox.hide();\n\t\t\t} else {\n\t\t\t\tinputBox.validationMessage = nls.localize('findMatchAction.inputValidationMessage', \"Please type a number between 1 and {0}\", controller.getState().matchesCount);\n\t\t\t}\n\t\t}));\n\n\t\tdisposables.add(inputBox.onDidHide(() => {\n\t\t\tthis.clearDecorations(editor);\n\t\t\tdisposables.dispose();\n\t\t}));\n\n\t\tinputBox.show();\n\t}\n\n\tprivate clearDecorations(editor: ICodeEditor): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, []);\n\t\t});\n\t}\n\n\tprivate addDecorations(editor: ICodeEditor, range: IRange): void {\n\t\teditor.changeDecorations(changeAccessor => {\n\t\t\tthis._highlightDecorations = changeAccessor.deltaDecorations(this._highlightDecorations, [\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight',\n\t\t\t\t\t\tclassName: 'rangeHighlight',\n\t\t\t\t\t\tisWholeLine: true\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\trange,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\tdescription: 'find-match-quick-access-range-highlight-overview',\n\t\t\t\t\t\toverviewRuler: {\n\t\t\t\t\t\t\tcolor: themeColorFromId(overviewRulerRangeHighlight),\n\t\t\t\t\t\t\tposition: OverviewRulerLane.Full\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\nexport abstract class SelectionMatchFindAction extends EditorAction {\n\tpublic async run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\t\tconst controller = CommonFindController.get(editor);\n\t\tif (!controller) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectionSearchString = getSelectionSearchString(editor, 'single', false);\n\t\tif (selectionSearchString) {\n\t\t\tcontroller.setSearchString(selectionSearchString);\n\t\t}\n\t\tif (!this._run(controller)) {\n\t\t\tawait controller.start({\n\t\t\t\tforceRevealReplace: false,\n\t\t\t\tseedSearchStringFromSelection: 'none',\n\t\t\t\tseedSearchStringFromNonEmptySelection: false,\n\t\t\t\tseedSearchStringFromGlobalClipboard: false,\n\t\t\t\tshouldFocus: FindStartFocusAction.NoFocusChange,\n\t\t\t\tshouldAnimate: true,\n\t\t\t\tupdateSearchScope: false,\n\t\t\t\tloop: editor.getOption(EditorOption.find).loop\n\t\t\t});\n\t\t\tthis._run(controller);\n\t\t}\n\t}\n\n\tprotected abstract _run(controller: CommonFindController): boolean;\n}\n\nexport class NextSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.NextSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('nextSelectionMatchFindAction', \"Find Next Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToNextMatch();\n\t}\n}\n\nexport class PreviousSelectionMatchFindAction extends SelectionMatchFindAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: FIND_IDS.PreviousSelectionMatchFindAction,\n\t\t\tlabel: nls.localize2('previousSelectionMatchFindAction', \"Find Previous Selection\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.focus,\n\t\t\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.F3,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected _run(controller: CommonFindController): boolean {\n\t\treturn controller.moveToPrevMatch();\n\t}\n}\n\nexport const StartFindReplaceAction = registerMultiEditorAction(new MultiEditorAction({\n\tid: FIND_IDS.StartFindReplaceAction,\n\tlabel: nls.localize2('startReplace', \"Replace\"),\n\tprecondition: ContextKeyExpr.or(EditorContextKeys.focus, ContextKeyExpr.has('editorIsOpen')),\n\tkbOpts: {\n\t\tkbExpr: null,\n\t\tprimary: KeyMod.CtrlCmd | KeyCode.KeyH,\n\t\tmac: { primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.KeyF },\n\t\tweight: KeybindingWeight.EditorContrib\n\t},\n\tmenuOpts: {\n\t\tmenuId: MenuId.MenubarEditMenu,\n\t\tgroup: '3_find',\n\t\ttitle: nls.localize({ key: 'miReplace', comment: ['&& denotes a mnemonic'] }, \"&&Replace\"),\n\t\torder: 2\n\t}\n}));\n\nStartFindReplaceAction.addImplementation(0, (accessor: ServicesAccessor, editor: ICodeEditor, args: any): boolean | Promise<void> => {\n\tif (!editor.hasModel() || editor.getOption(EditorOption.readOnly)) {\n\t\treturn false;\n\t}\n\tconst controller = CommonFindController.get(editor);\n\tif (!controller) {\n\t\treturn false;\n\t}\n\n\tconst currentSelection = editor.getSelection();\n\tconst findInputFocused = controller.isFindInputFocused();\n\t// we only seed search string from selection when the current selection is single line and not empty,\n\t// + the find input is not focused\n\tconst seedSearchStringFromSelection = !currentSelection.isEmpty()\n\t\t&& currentSelection.startLineNumber === currentSelection.endLineNumber\n\t\t&& (editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never')\n\t\t&& !findInputFocused;\n\t/*\n\t* if the existing search string in find widget is empty and we don't seed search string from selection, it means the Find Input is still empty, so we should focus the Find Input instead of Replace Input.\n\n\t* findInputFocused true -> seedSearchStringFromSelection false, FocusReplaceInput\n\t* findInputFocused false, seedSearchStringFromSelection true FocusReplaceInput\n\t* findInputFocused false seedSearchStringFromSelection false FocusFindInput\n\t*/\n\tconst shouldFocus = (findInputFocused || seedSearchStringFromSelection) ?\n\t\tFindStartFocusAction.FocusReplaceInput : FindStartFocusAction.FocusFindInput;\n\n\treturn controller.start({\n\t\tforceRevealReplace: true,\n\t\tseedSearchStringFromSelection: seedSearchStringFromSelection ? 'single' : 'none',\n\t\tseedSearchStringFromNonEmptySelection: editor.getOption(EditorOption.find).seedSearchStringFromSelection === 'selection',\n\t\tseedSearchStringFromGlobalClipboard: editor.getOption(EditorOption.find).seedSearchStringFromSelection !== 'never',\n\t\tshouldFocus: shouldFocus,\n\t\tshouldAnimate: true,\n\t\tupdateSearchScope: false,\n\t\tloop: editor.getOption(EditorOption.find).loop\n\t});\n});\n\nregisterEditorContribution(CommonFindController.ID, FindController, EditorContributionInstantiation.Eager); // eager because it uses `saveViewState`/`restoreViewState`\n\nregisterEditorAction(StartFindWithArgsAction);\nregisterEditorAction(StartFindWithSelectionAction);\nregisterEditorAction(MoveToMatchFindAction);\nregisterEditorAction(NextSelectionMatchFindAction);\nregisterEditorAction(PreviousSelectionMatchFindAction);\n\nconst FindCommand = EditorCommand.bindToContribution<CommonFindController>(CommonFindController.get);\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.CloseFindWidgetCommand,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.closeFindWidget(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyCode.Escape,\n\t\tsecondary: [KeyMod.Shift | KeyCode.Escape]\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleCaseSensitiveCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleCaseSensitive(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleCaseSensitiveKeybinding.primary,\n\t\tmac: ToggleCaseSensitiveKeybinding.mac,\n\t\twin: ToggleCaseSensitiveKeybinding.win,\n\t\tlinux: ToggleCaseSensitiveKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleWholeWordCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleWholeWords(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleWholeWordKeybinding.primary,\n\t\tmac: ToggleWholeWordKeybinding.mac,\n\t\twin: ToggleWholeWordKeybinding.win,\n\t\tlinux: ToggleWholeWordKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleRegexCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleRegex(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleRegexKeybinding.primary,\n\t\tmac: ToggleRegexKeybinding.mac,\n\t\twin: ToggleRegexKeybinding.win,\n\t\tlinux: ToggleRegexKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ToggleSearchScopeCommand,\n\tprecondition: undefined,\n\thandler: x => x.toggleSearchScope(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: ToggleSearchScopeKeybinding.primary,\n\t\tmac: ToggleSearchScopeKeybinding.mac,\n\t\twin: ToggleSearchScopeKeybinding.win,\n\t\tlinux: ToggleSearchScopeKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.TogglePreserveCaseCommand,\n\tprecondition: undefined,\n\thandler: x => x.togglePreserveCase(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: TogglePreserveCaseKeybinding.primary,\n\t\tmac: TogglePreserveCaseKeybinding.mac,\n\t\twin: TogglePreserveCaseKeybinding.win,\n\t\tlinux: TogglePreserveCaseKeybinding.linux\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Digit1\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceOneAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replace(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.CtrlCmd | KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.ReplaceAllAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.replaceAll(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_REPLACE_INPUT_FOCUSED),\n\t\tprimary: undefined,\n\t\tmac: {\n\t\t\tprimary: KeyMod.CtrlCmd | KeyCode.Enter,\n\t\t}\n\t}\n}));\n\nregisterEditorCommand(new FindCommand({\n\tid: FIND_IDS.SelectAllMatchesAction,\n\tprecondition: CONTEXT_FIND_WIDGET_VISIBLE,\n\thandler: x => x.selectAllMatches(),\n\tkbOpts: {\n\t\tweight: KeybindingWeight.EditorContrib + 5,\n\t\tkbExpr: EditorContextKeys.focus,\n\t\tprimary: KeyMod.Alt | KeyCode.Enter\n\t}\n}));\n"]}
@@ -266,11 +266,11 @@ export class FindModelBoundToEditorModel {
266
266
  const { lineNumber, column } = before;
267
267
  const model = this._editor.getModel();
268
268
  let position = new Position(lineNumber, column);
269
- let prevMatch = model.findPreviousMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false);
269
+ let prevMatch = model.findPreviousMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(151 /* EditorOption.wordSeparators */) : null, false);
270
270
  if (prevMatch && prevMatch.range.isEmpty() && prevMatch.range.getStartPosition().equals(position)) {
271
271
  // Looks like we're stuck at this position, unacceptable!
272
272
  position = this._prevSearchPosition(position);
273
- prevMatch = model.findPreviousMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, false);
273
+ prevMatch = model.findPreviousMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(151 /* EditorOption.wordSeparators */) : null, false);
274
274
  }
275
275
  if (!prevMatch) {
276
276
  // there is precisely one match and selection is on top of it
@@ -347,11 +347,11 @@ export class FindModelBoundToEditorModel {
347
347
  const { lineNumber, column } = after;
348
348
  const model = this._editor.getModel();
349
349
  let position = new Position(lineNumber, column);
350
- let nextMatch = model.findNextMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, captureMatches);
350
+ let nextMatch = model.findNextMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(151 /* EditorOption.wordSeparators */) : null, captureMatches);
351
351
  if (forceMove && nextMatch && nextMatch.range.isEmpty() && nextMatch.range.getStartPosition().equals(position)) {
352
352
  // Looks like we're stuck at this position, unacceptable!
353
353
  position = this._nextSearchPosition(position);
354
- nextMatch = model.findNextMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, captureMatches);
354
+ nextMatch = model.findNextMatch(this._state.searchString, position, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(151 /* EditorOption.wordSeparators */) : null, captureMatches);
355
355
  }
356
356
  if (!nextMatch) {
357
357
  // there is precisely one match and selection is on top of it
@@ -404,7 +404,7 @@ export class FindModelBoundToEditorModel {
404
404
  }
405
405
  _findMatches(findScopes, captureMatches, limitResultCount) {
406
406
  const searchRanges = (findScopes || [null]).map((scope) => FindModelBoundToEditorModel._getSearchRange(this._editor.getModel(), scope));
407
- return this._editor.getModel().findMatches(this._state.searchString, searchRanges, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null, captureMatches, limitResultCount);
407
+ return this._editor.getModel().findMatches(this._state.searchString, searchRanges, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(151 /* EditorOption.wordSeparators */) : null, captureMatches, limitResultCount);
408
408
  }
409
409
  replaceAll() {
410
410
  if (!this._hasMatches()) {
@@ -421,7 +421,7 @@ export class FindModelBoundToEditorModel {
421
421
  this.research(false);
422
422
  }
423
423
  _largeReplaceAll() {
424
- const searchParams = new SearchParams(this._state.searchString, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(148 /* EditorOption.wordSeparators */) : null);
424
+ const searchParams = new SearchParams(this._state.searchString, this._state.isRegex, this._state.matchCase, this._state.wholeWord ? this._editor.getOption(151 /* EditorOption.wordSeparators */) : null);
425
425
  const searchData = searchParams.parseSearchRequest();
426
426
  if (!searchData) {
427
427
  return;