monaco-editor-core 0.55.1 → 0.56.0-dev-20251121

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 (415) 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 +27 -8
  18. package/esm/vs/base/browser/dom.js +31 -34
  19. package/esm/vs/base/browser/dom.js.map +1 -1
  20. package/esm/vs/base/browser/dompurify/dompurify.js +0 -1
  21. package/esm/vs/base/browser/keyboardEvent.js +3 -3
  22. package/esm/vs/base/browser/keyboardEvent.js.map +1 -1
  23. package/esm/vs/base/browser/markdownRenderer.js +5 -2
  24. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  25. package/esm/vs/base/browser/pixelRatio.js +5 -5
  26. package/esm/vs/base/browser/pixelRatio.js.map +1 -1
  27. package/esm/vs/base/browser/trustedTypes.js +1 -1
  28. package/esm/vs/base/browser/trustedTypes.js.map +1 -1
  29. package/esm/vs/base/browser/ui/actionbar/actionbar.js +3 -0
  30. package/esm/vs/base/browser/ui/actionbar/actionbar.js.map +1 -1
  31. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  32. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +7 -0
  33. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js.map +1 -1
  34. package/esm/vs/base/browser/ui/hover/hoverWidget.css +0 -13
  35. package/esm/vs/base/browser/ui/inputbox/inputBox.js +7 -0
  36. package/esm/vs/base/browser/ui/inputbox/inputBox.js.map +1 -1
  37. package/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css +4 -2
  38. package/esm/vs/base/browser/ui/list/listView.js +7 -2
  39. package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
  40. package/esm/vs/base/browser/ui/selectBox/selectBox.js +4 -0
  41. package/esm/vs/base/browser/ui/selectBox/selectBox.js.map +1 -1
  42. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css +12 -32
  43. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js +8 -18
  44. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js.map +1 -1
  45. package/esm/vs/base/browser/ui/toolbar/toolbar.js +41 -14
  46. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  47. package/esm/vs/base/browser/ui/tree/abstractTree.js +11 -0
  48. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  49. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
  50. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  51. package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js.map +1 -1
  52. package/esm/vs/base/browser/ui/tree/dataTree.js.map +1 -1
  53. package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
  54. package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
  55. package/esm/vs/base/browser/ui/tree/objectTreeModel.js.map +1 -1
  56. package/esm/vs/base/browser/ui/tree/tree.js.map +1 -1
  57. package/esm/vs/base/common/arrays.js +10 -0
  58. package/esm/vs/base/common/arrays.js.map +1 -1
  59. package/esm/vs/base/common/async.js +34 -0
  60. package/esm/vs/base/common/async.js.map +1 -1
  61. package/esm/vs/base/common/buffer.js +1 -1
  62. package/esm/vs/base/common/buffer.js.map +1 -1
  63. package/esm/vs/base/common/cancellation.js.map +1 -1
  64. package/esm/vs/base/common/codiconsLibrary.js +3 -0
  65. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  66. package/esm/vs/base/common/collections.js.map +1 -1
  67. package/esm/vs/base/common/equals.js.map +1 -1
  68. package/esm/vs/base/common/event.js +32 -15
  69. package/esm/vs/base/common/event.js.map +1 -1
  70. package/esm/vs/base/common/filters.js +22 -3
  71. package/esm/vs/base/common/filters.js.map +1 -1
  72. package/esm/vs/base/common/hotReload.js +2 -2
  73. package/esm/vs/base/common/hotReload.js.map +1 -1
  74. package/esm/vs/base/common/iterator.js +1 -1
  75. package/esm/vs/base/common/iterator.js.map +1 -1
  76. package/esm/vs/base/common/keyCodes.js +7 -6
  77. package/esm/vs/base/common/keyCodes.js.map +1 -1
  78. package/esm/vs/base/common/linkedList.js.map +1 -1
  79. package/esm/vs/base/common/map.js.map +1 -1
  80. package/esm/vs/base/common/marked/marked.js +0 -1
  81. package/esm/vs/base/common/network.js +26 -1
  82. package/esm/vs/base/common/network.js.map +1 -1
  83. package/esm/vs/base/common/normalization.js +19 -6
  84. package/esm/vs/base/common/normalization.js.map +1 -1
  85. package/esm/vs/base/common/observableInternal/debugLocation.js +1 -2
  86. package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
  87. package/esm/vs/base/common/observableInternal/debugName.js +0 -1
  88. package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
  89. package/esm/vs/base/common/observableInternal/index.js +4 -4
  90. package/esm/vs/base/common/observableInternal/index.js.map +1 -1
  91. package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +38 -10
  92. package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js.map +1 -1
  93. package/esm/vs/base/common/observableInternal/observables/baseObservable.js +3 -3
  94. package/esm/vs/base/common/observableInternal/observables/baseObservable.js.map +1 -1
  95. package/esm/vs/base/common/observableInternal/utils/utils.js +46 -5
  96. package/esm/vs/base/common/observableInternal/utils/utils.js.map +1 -1
  97. package/esm/vs/base/common/path.js +1 -0
  98. package/esm/vs/base/common/path.js.map +1 -1
  99. package/esm/vs/base/common/strings.js +27 -19
  100. package/esm/vs/base/common/strings.js.map +1 -1
  101. package/esm/vs/editor/browser/config/elementSizeObserver.js +5 -5
  102. package/esm/vs/editor/browser/config/elementSizeObserver.js.map +1 -1
  103. package/esm/vs/editor/browser/config/fontMeasurements.js.map +1 -1
  104. package/esm/vs/editor/browser/config/migrateOptions.js +6 -0
  105. package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
  106. package/esm/vs/editor/browser/config/tabFocus.js +4 -2
  107. package/esm/vs/editor/browser/config/tabFocus.js.map +1 -1
  108. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +8 -0
  109. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
  110. package/esm/vs/editor/browser/coreCommands.js +1 -2
  111. package/esm/vs/editor/browser/coreCommands.js.map +1 -1
  112. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  113. package/esm/vs/editor/browser/observableCodeEditor.js +32 -1
  114. package/esm/vs/editor/browser/observableCodeEditor.js.map +1 -1
  115. package/esm/vs/editor/browser/services/contribution.js +9 -0
  116. package/esm/vs/editor/browser/services/contribution.js.map +1 -0
  117. package/esm/vs/editor/browser/services/editorWorkerService.js +27 -14
  118. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  119. package/esm/vs/editor/browser/services/openerService.js +5 -1
  120. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  121. package/esm/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  122. package/esm/vs/editor/browser/view/domLineBreaksComputer.js.map +1 -1
  123. package/esm/vs/editor/browser/view/renderingContext.js +1 -1
  124. package/esm/vs/editor/browser/view/renderingContext.js.map +1 -1
  125. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +10 -3
  126. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js.map +1 -1
  127. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +3 -4
  128. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js.map +1 -1
  129. package/esm/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
  130. package/esm/vs/editor/browser/viewParts/minimap/minimap.js.map +1 -1
  131. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +1 -1
  132. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js.map +1 -1
  133. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +4 -2
  134. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js.map +1 -1
  135. package/esm/vs/editor/browser/viewParts/rulers/rulers.js +1 -3
  136. package/esm/vs/editor/browser/viewParts/rulers/rulers.js.map +1 -1
  137. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
  138. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js.map +1 -1
  139. package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js +2 -1
  140. package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js.map +1 -1
  141. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +6 -18
  142. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js.map +1 -1
  143. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +0 -7
  144. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js.map +1 -1
  145. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +7 -2
  146. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  147. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
  148. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js.map +1 -1
  149. package/esm/vs/editor/common/commands/replaceCommand.js +2 -2
  150. package/esm/vs/editor/common/commands/replaceCommand.js.map +1 -1
  151. package/esm/vs/editor/common/config/editorOptions.js +374 -360
  152. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  153. package/esm/vs/editor/common/core/2d/rect.js +7 -0
  154. package/esm/vs/editor/common/core/2d/rect.js.map +1 -1
  155. package/esm/vs/editor/common/core/2d/size.js +20 -0
  156. package/esm/vs/editor/common/core/2d/size.js.map +1 -0
  157. package/esm/vs/editor/common/core/editorColorRegistry.js +69 -68
  158. package/esm/vs/editor/common/core/editorColorRegistry.js.map +1 -1
  159. package/esm/vs/editor/common/core/ranges/offsetRange.js +9 -0
  160. package/esm/vs/editor/common/core/ranges/offsetRange.js.map +1 -1
  161. package/esm/vs/editor/common/cursor/cursorMoveCommands.js +4 -4
  162. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  163. package/esm/vs/editor/common/editorContextKeys.js +47 -47
  164. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  165. package/esm/vs/editor/common/languages.js +56 -56
  166. package/esm/vs/editor/common/languages.js.map +1 -1
  167. package/esm/vs/editor/common/model/editStack.js +1 -1
  168. package/esm/vs/editor/common/services/languagesAssociations.js +6 -8
  169. package/esm/vs/editor/common/services/languagesAssociations.js.map +1 -1
  170. package/esm/vs/editor/common/standaloneStrings.js +11 -10
  171. package/esm/vs/editor/common/standaloneStrings.js.map +1 -1
  172. package/esm/vs/editor/common/textModelEditSource.js +1 -1
  173. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  174. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  175. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  176. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  177. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  178. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  179. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  180. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  181. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  182. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  183. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  184. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  185. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  186. package/esm/vs/editor/contrib/codelens/browser/codelens.js.map +1 -1
  187. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  188. package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
  189. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  190. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  191. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  192. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  193. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  194. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  195. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  196. package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +14 -0
  197. package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js.map +1 -1
  198. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  199. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  200. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  201. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  202. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  203. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  204. package/esm/vs/editor/contrib/find/browser/findController.js +17 -17
  205. package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
  206. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  207. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +1 -1
  208. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  209. package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
  210. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  211. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  212. package/esm/vs/editor/contrib/format/browser/format.js +21 -6
  213. package/esm/vs/editor/contrib/format/browser/format.js.map +1 -1
  214. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  215. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  216. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  217. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  218. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  219. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  220. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  221. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  222. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  223. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  224. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  225. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js +5 -10
  226. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js.map +1 -1
  227. package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js +11 -6
  228. package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js.map +1 -1
  229. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  230. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  231. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  232. package/esm/vs/editor/contrib/hover/browser/hoverUtils.js +24 -0
  233. package/esm/vs/editor/contrib/hover/browser/hoverUtils.js.map +1 -1
  234. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  235. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  236. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  237. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  238. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  239. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +20 -20
  240. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  241. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +18 -16
  242. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
  243. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  244. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  245. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +42 -37
  246. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  247. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js +3 -3
  248. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js.map +1 -1
  249. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +8 -8
  250. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
  251. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +54 -43
  252. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  253. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +12 -12
  254. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js.map +1 -1
  255. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +74 -48
  256. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  257. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +8 -36
  258. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
  259. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +10 -11
  260. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js.map +1 -1
  261. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +105 -119
  262. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  263. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js.map +1 -1
  264. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +8 -36
  265. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
  266. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js +95 -0
  267. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js.map +1 -0
  268. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +17 -9
  269. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js.map +1 -1
  270. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +415 -0
  271. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -0
  272. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +253 -0
  273. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js.map +1 -0
  274. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  275. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js +103 -0
  276. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js.map +1 -0
  277. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js +32 -0
  278. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js.map +1 -0
  279. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +44 -11
  280. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
  281. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +181 -0
  282. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js.map +1 -0
  283. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  284. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  285. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -31
  286. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
  287. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  288. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  289. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  290. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  291. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  292. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  293. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  294. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  295. package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +2 -2
  296. package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js.map +1 -1
  297. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +18 -13
  298. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
  299. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  300. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  301. package/esm/vs/editor/contrib/rename/browser/rename.js +12 -12
  302. package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
  303. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  304. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  305. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  306. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  307. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  308. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
  309. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
  310. package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  311. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  312. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  313. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  314. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  315. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  316. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  317. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  318. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  319. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  320. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +29 -29
  321. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
  322. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  323. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  324. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +4 -4
  325. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js.map +1 -1
  326. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  327. package/esm/vs/editor/editor.all.js +1 -0
  328. package/esm/vs/editor/editor.all.js.map +1 -1
  329. package/esm/vs/editor/editor.api.d.ts +9 -5
  330. package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js +22 -2
  331. package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js.map +1 -1
  332. package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js +39 -0
  333. package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js.map +1 -0
  334. package/esm/vs/editor/standalone/browser/standaloneEditor.js +2 -1
  335. package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
  336. package/esm/vs/editor/standalone/browser/standaloneServices.js +3 -21
  337. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  338. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js +4 -4
  339. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
  340. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  341. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  342. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  343. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  344. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +7 -9
  345. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
  346. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  347. package/esm/vs/platform/actions/common/actions.js +2 -0
  348. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  349. package/esm/vs/platform/actions/common/menuService.js +2 -2
  350. package/esm/vs/platform/configuration/common/configuration.js +5 -4
  351. package/esm/vs/platform/configuration/common/configuration.js.map +1 -1
  352. package/esm/vs/platform/configuration/common/configurationModels.js +21 -10
  353. package/esm/vs/platform/configuration/common/configurationModels.js.map +1 -1
  354. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  355. package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
  356. package/esm/vs/platform/configuration/common/configurations.js.map +1 -1
  357. package/esm/vs/platform/contextkey/browser/contextKeyService.js +3 -3
  358. package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
  359. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  360. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  361. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  362. package/esm/vs/platform/contextview/browser/contextViewService.js.map +1 -1
  363. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  364. package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
  365. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  366. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  367. package/esm/vs/platform/list/browser/listService.js +27 -27
  368. package/esm/vs/platform/list/browser/listService.js.map +1 -1
  369. package/esm/vs/platform/markers/common/markerService.js +2 -2
  370. package/esm/vs/platform/markers/common/markers.js +6 -6
  371. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +11 -32
  372. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js.map +1 -1
  373. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  374. package/esm/vs/platform/quickinput/browser/media/quickInput.css +9 -3
  375. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  376. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  377. package/esm/vs/platform/quickinput/browser/quickInputController.js +35 -14
  378. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  379. package/esm/vs/platform/quickinput/browser/quickInputList.js +4 -1
  380. package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
  381. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  382. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  383. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +71 -40
  384. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
  385. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +21 -8
  386. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js.map +1 -1
  387. package/esm/vs/platform/telemetry/common/gdprTypings.js.map +1 -1
  388. package/esm/vs/platform/telemetry/common/telemetry.js.map +1 -1
  389. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  390. package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
  391. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  392. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  393. package/esm/vs/platform/theme/common/colors/editorColors.js.map +1 -1
  394. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  395. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  396. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  397. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  398. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  399. package/esm/vs/platform/theme/common/colors/miscColors.js.map +1 -1
  400. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  401. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  402. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  403. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  404. package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js +12 -0
  405. package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js.map +1 -0
  406. package/esm/vs/platform/webWorker/browser/webWorkerService.js +7 -0
  407. package/esm/vs/platform/webWorker/browser/webWorkerService.js.map +1 -0
  408. package/esm/vs/{base/browser/webWorkerFactory.js → platform/webWorker/browser/webWorkerServiceImpl.js} +47 -66
  409. package/esm/vs/platform/webWorker/browser/webWorkerServiceImpl.js.map +1 -0
  410. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  411. package/monaco.d.ts +9 -5
  412. package/package.json +2 -2
  413. package/esm/vs/base/browser/webWorkerFactory.js.map +0 -1
  414. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +0 -82
  415. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js.map +0 -1
@@ -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 { 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 } 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';\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 = 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) {\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));\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\n\tconst runMatch = (): boolean => {\n\t\tconst result = next ? controller.moveToNextMatch() : controller.moveToPrevMatch();\n\t\tif (result) {\n\t\t\tcontroller.editor.pushUndoStop();\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\trunMatch();\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, args: any): 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: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\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 { 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 } 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';\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 = 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) {\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));\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\n\tconst runMatch = (): boolean => {\n\t\tconst result = next ? controller.moveToNextMatch() : controller.moveToPrevMatch();\n\t\tif (result) {\n\t\t\tcontroller.editor.pushUndoStop();\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\trunMatch();\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: ContextKeyExpr.and(EditorContextKeys.focus, ContextKeyExpr.not('isComposing')),\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"]}
@@ -26,28 +26,28 @@ import { ThemeIcon } from '../../../../base/common/themables.js';
26
26
  import { isHighContrast } from '../../../../platform/theme/common/theme.js';
27
27
  import { assertReturnsDefined } from '../../../../base/common/types.js';
28
28
  import { defaultInputBoxStyles, defaultToggleStyles } from '../../../../platform/theme/browser/defaultStyles.js';
29
- const findCollapsedIcon = registerIcon('find-collapsed', Codicon.chevronRight, nls.localize(956, 'Icon to indicate that the editor find widget is collapsed.'));
30
- const findExpandedIcon = registerIcon('find-expanded', Codicon.chevronDown, nls.localize(957, 'Icon to indicate that the editor find widget is expanded.'));
31
- export const findSelectionIcon = registerIcon('find-selection', Codicon.selection, nls.localize(958, 'Icon for \'Find in Selection\' in the editor find widget.'));
32
- export const findReplaceIcon = registerIcon('find-replace', Codicon.replace, nls.localize(959, 'Icon for \'Replace\' in the editor find widget.'));
33
- export const findReplaceAllIcon = registerIcon('find-replace-all', Codicon.replaceAll, nls.localize(960, 'Icon for \'Replace All\' in the editor find widget.'));
34
- export const findPreviousMatchIcon = registerIcon('find-previous-match', Codicon.arrowUp, nls.localize(961, 'Icon for \'Find Previous\' in the editor find widget.'));
35
- export const findNextMatchIcon = registerIcon('find-next-match', Codicon.arrowDown, nls.localize(962, 'Icon for \'Find Next\' in the editor find widget.'));
36
- const NLS_FIND_DIALOG_LABEL = nls.localize(963, "Find / Replace");
37
- const NLS_FIND_INPUT_LABEL = nls.localize(964, "Find");
38
- const NLS_FIND_INPUT_PLACEHOLDER = nls.localize(965, "Find");
39
- const NLS_PREVIOUS_MATCH_BTN_LABEL = nls.localize(966, "Previous Match");
40
- const NLS_NEXT_MATCH_BTN_LABEL = nls.localize(967, "Next Match");
41
- const NLS_TOGGLE_SELECTION_FIND_TITLE = nls.localize(968, "Find in Selection");
42
- const NLS_CLOSE_BTN_LABEL = nls.localize(969, "Close");
43
- const NLS_REPLACE_INPUT_LABEL = nls.localize(970, "Replace");
44
- const NLS_REPLACE_INPUT_PLACEHOLDER = nls.localize(971, "Replace");
45
- const NLS_REPLACE_BTN_LABEL = nls.localize(972, "Replace");
46
- const NLS_REPLACE_ALL_BTN_LABEL = nls.localize(973, "Replace All");
47
- const NLS_TOGGLE_REPLACE_MODE_BTN_LABEL = nls.localize(974, "Toggle Replace");
48
- const NLS_MATCHES_COUNT_LIMIT_TITLE = nls.localize(975, "Only the first {0} results are highlighted, but all find operations work on the entire text.", MATCHES_LIMIT);
49
- export const NLS_MATCHES_LOCATION = nls.localize(976, "{0} of {1}");
50
- export const NLS_NO_RESULTS = nls.localize(977, "No results");
29
+ const findCollapsedIcon = registerIcon('find-collapsed', Codicon.chevronRight, nls.localize(962, 'Icon to indicate that the editor find widget is collapsed.'));
30
+ const findExpandedIcon = registerIcon('find-expanded', Codicon.chevronDown, nls.localize(963, 'Icon to indicate that the editor find widget is expanded.'));
31
+ export const findSelectionIcon = registerIcon('find-selection', Codicon.selection, nls.localize(964, 'Icon for \'Find in Selection\' in the editor find widget.'));
32
+ export const findReplaceIcon = registerIcon('find-replace', Codicon.replace, nls.localize(965, 'Icon for \'Replace\' in the editor find widget.'));
33
+ export const findReplaceAllIcon = registerIcon('find-replace-all', Codicon.replaceAll, nls.localize(966, 'Icon for \'Replace All\' in the editor find widget.'));
34
+ export const findPreviousMatchIcon = registerIcon('find-previous-match', Codicon.arrowUp, nls.localize(967, 'Icon for \'Find Previous\' in the editor find widget.'));
35
+ export const findNextMatchIcon = registerIcon('find-next-match', Codicon.arrowDown, nls.localize(968, 'Icon for \'Find Next\' in the editor find widget.'));
36
+ const NLS_FIND_DIALOG_LABEL = nls.localize(969, "Find / Replace");
37
+ const NLS_FIND_INPUT_LABEL = nls.localize(970, "Find");
38
+ const NLS_FIND_INPUT_PLACEHOLDER = nls.localize(971, "Find");
39
+ const NLS_PREVIOUS_MATCH_BTN_LABEL = nls.localize(972, "Previous Match");
40
+ const NLS_NEXT_MATCH_BTN_LABEL = nls.localize(973, "Next Match");
41
+ const NLS_TOGGLE_SELECTION_FIND_TITLE = nls.localize(974, "Find in Selection");
42
+ const NLS_CLOSE_BTN_LABEL = nls.localize(975, "Close");
43
+ const NLS_REPLACE_INPUT_LABEL = nls.localize(976, "Replace");
44
+ const NLS_REPLACE_INPUT_PLACEHOLDER = nls.localize(977, "Replace");
45
+ const NLS_REPLACE_BTN_LABEL = nls.localize(978, "Replace");
46
+ const NLS_REPLACE_ALL_BTN_LABEL = nls.localize(979, "Replace All");
47
+ const NLS_TOGGLE_REPLACE_MODE_BTN_LABEL = nls.localize(980, "Toggle Replace");
48
+ const NLS_MATCHES_COUNT_LIMIT_TITLE = nls.localize(981, "Only the first {0} results are highlighted, but all find operations work on the entire text.", MATCHES_LIMIT);
49
+ export const NLS_MATCHES_LOCATION = nls.localize(982, "{0} of {1}");
50
+ export const NLS_NO_RESULTS = nls.localize(983, "No results");
51
51
  const FIND_WIDGET_INITIAL_WIDTH = 419;
52
52
  const PART_WIDTH = 275;
53
53
  const FIND_INPUT_AREA_WIDTH = PART_WIDTH - 54;
@@ -324,11 +324,11 @@ export class FindWidget extends Widget {
324
324
  _getAriaLabel(label, currentMatch, searchString) {
325
325
  if (label === NLS_NO_RESULTS) {
326
326
  return searchString === ''
327
- ? nls.localize(978, "{0} found", label)
328
- : nls.localize(979, "{0} found for '{1}'", label, searchString);
327
+ ? nls.localize(984, "{0} found", label)
328
+ : nls.localize(985, "{0} found for '{1}'", label, searchString);
329
329
  }
330
330
  if (currentMatch) {
331
- const ariaLabel = nls.localize(980, "{0} found for '{1}', at {2}", label, searchString, currentMatch.startLineNumber + ':' + currentMatch.startColumn);
331
+ const ariaLabel = nls.localize(986, "{0} found for '{1}', at {2}", label, searchString, currentMatch.startLineNumber + ':' + currentMatch.startColumn);
332
332
  const model = this._codeEditor.getModel();
333
333
  if (model && (currentMatch.startLineNumber <= model.getLineCount()) && (currentMatch.startLineNumber >= 1)) {
334
334
  const lineContent = model.getLineContent(currentMatch.startLineNumber);
@@ -336,7 +336,7 @@ export class FindWidget extends Widget {
336
336
  }
337
337
  return ariaLabel;
338
338
  }
339
- return nls.localize(981, "{0} found for '{1}'", label, searchString);
339
+ return nls.localize(987, "{0} found for '{1}'", label, searchString);
340
340
  }
341
341
  /**
342
342
  * If 'selection find' is ON we should not disable the button (its function is to cancel 'selection find').
@@ -39,6 +39,6 @@
39
39
  }
40
40
 
41
41
  .action-item .action-label.separator {
42
- background-color: var(--vscode-menu-separatorBackground);
42
+ background-color: var(--vscode-button-separator);
43
43
  }
44
44
  }
@@ -508,7 +508,7 @@ class UnfoldAction extends FoldingAction {
508
508
  constructor() {
509
509
  super({
510
510
  id: 'editor.unfold',
511
- label: nls.localize2(982, "Unfold"),
511
+ label: nls.localize2(988, "Unfold"),
512
512
  precondition: CONTEXT_FOLDING_ENABLED,
513
513
  kbOpts: {
514
514
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -569,7 +569,7 @@ class UnFoldRecursivelyAction extends FoldingAction {
569
569
  constructor() {
570
570
  super({
571
571
  id: 'editor.unfoldRecursively',
572
- label: nls.localize2(983, "Unfold Recursively"),
572
+ label: nls.localize2(989, "Unfold Recursively"),
573
573
  precondition: CONTEXT_FOLDING_ENABLED,
574
574
  kbOpts: {
575
575
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -586,7 +586,7 @@ class FoldAction extends FoldingAction {
586
586
  constructor() {
587
587
  super({
588
588
  id: 'editor.fold',
589
- label: nls.localize2(984, "Fold"),
589
+ label: nls.localize2(990, "Fold"),
590
590
  precondition: CONTEXT_FOLDING_ENABLED,
591
591
  kbOpts: {
592
592
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -653,7 +653,7 @@ class ToggleFoldAction extends FoldingAction {
653
653
  constructor() {
654
654
  super({
655
655
  id: 'editor.toggleFold',
656
- label: nls.localize2(985, "Toggle Fold"),
656
+ label: nls.localize2(991, "Toggle Fold"),
657
657
  precondition: CONTEXT_FOLDING_ENABLED,
658
658
  kbOpts: {
659
659
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -671,7 +671,7 @@ class FoldRecursivelyAction extends FoldingAction {
671
671
  constructor() {
672
672
  super({
673
673
  id: 'editor.foldRecursively',
674
- label: nls.localize2(986, "Fold Recursively"),
674
+ label: nls.localize2(992, "Fold Recursively"),
675
675
  precondition: CONTEXT_FOLDING_ENABLED,
676
676
  kbOpts: {
677
677
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -689,7 +689,7 @@ class ToggleFoldRecursivelyAction extends FoldingAction {
689
689
  constructor() {
690
690
  super({
691
691
  id: 'editor.toggleFoldRecursively',
692
- label: nls.localize2(987, "Toggle Fold Recursively"),
692
+ label: nls.localize2(993, "Toggle Fold Recursively"),
693
693
  precondition: CONTEXT_FOLDING_ENABLED,
694
694
  kbOpts: {
695
695
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -707,7 +707,7 @@ class FoldAllBlockCommentsAction extends FoldingAction {
707
707
  constructor() {
708
708
  super({
709
709
  id: 'editor.foldAllBlockComments',
710
- label: nls.localize2(988, "Fold All Block Comments"),
710
+ label: nls.localize2(994, "Fold All Block Comments"),
711
711
  precondition: CONTEXT_FOLDING_ENABLED,
712
712
  kbOpts: {
713
713
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -737,7 +737,7 @@ class FoldAllRegionsAction extends FoldingAction {
737
737
  constructor() {
738
738
  super({
739
739
  id: 'editor.foldAllMarkerRegions',
740
- label: nls.localize2(989, "Fold All Regions"),
740
+ label: nls.localize2(995, "Fold All Regions"),
741
741
  precondition: CONTEXT_FOLDING_ENABLED,
742
742
  kbOpts: {
743
743
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -767,7 +767,7 @@ class UnfoldAllRegionsAction extends FoldingAction {
767
767
  constructor() {
768
768
  super({
769
769
  id: 'editor.unfoldAllMarkerRegions',
770
- label: nls.localize2(990, "Unfold All Regions"),
770
+ label: nls.localize2(996, "Unfold All Regions"),
771
771
  precondition: CONTEXT_FOLDING_ENABLED,
772
772
  kbOpts: {
773
773
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -797,7 +797,7 @@ class FoldAllExceptAction extends FoldingAction {
797
797
  constructor() {
798
798
  super({
799
799
  id: 'editor.foldAllExcept',
800
- label: nls.localize2(991, "Fold All Except Selected"),
800
+ label: nls.localize2(997, "Fold All Except Selected"),
801
801
  precondition: CONTEXT_FOLDING_ENABLED,
802
802
  kbOpts: {
803
803
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -815,7 +815,7 @@ class UnfoldAllExceptAction extends FoldingAction {
815
815
  constructor() {
816
816
  super({
817
817
  id: 'editor.unfoldAllExcept',
818
- label: nls.localize2(992, "Unfold All Except Selected"),
818
+ label: nls.localize2(998, "Unfold All Except Selected"),
819
819
  precondition: CONTEXT_FOLDING_ENABLED,
820
820
  kbOpts: {
821
821
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -833,7 +833,7 @@ class FoldAllAction extends FoldingAction {
833
833
  constructor() {
834
834
  super({
835
835
  id: 'editor.foldAll',
836
- label: nls.localize2(993, "Fold All"),
836
+ label: nls.localize2(999, "Fold All"),
837
837
  precondition: CONTEXT_FOLDING_ENABLED,
838
838
  kbOpts: {
839
839
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -850,7 +850,7 @@ class UnfoldAllAction extends FoldingAction {
850
850
  constructor() {
851
851
  super({
852
852
  id: 'editor.unfoldAll',
853
- label: nls.localize2(994, "Unfold All"),
853
+ label: nls.localize2(1000, "Unfold All"),
854
854
  precondition: CONTEXT_FOLDING_ENABLED,
855
855
  kbOpts: {
856
856
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -878,7 +878,7 @@ class GotoParentFoldAction extends FoldingAction {
878
878
  constructor() {
879
879
  super({
880
880
  id: 'editor.gotoParentFold',
881
- label: nls.localize2(995, "Go to Parent Fold"),
881
+ label: nls.localize2(1001, "Go to Parent Fold"),
882
882
  precondition: CONTEXT_FOLDING_ENABLED,
883
883
  kbOpts: {
884
884
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -906,7 +906,7 @@ class GotoPreviousFoldAction extends FoldingAction {
906
906
  constructor() {
907
907
  super({
908
908
  id: 'editor.gotoPreviousFold',
909
- label: nls.localize2(996, "Go to Previous Folding Range"),
909
+ label: nls.localize2(1002, "Go to Previous Folding Range"),
910
910
  precondition: CONTEXT_FOLDING_ENABLED,
911
911
  kbOpts: {
912
912
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -934,7 +934,7 @@ class GotoNextFoldAction extends FoldingAction {
934
934
  constructor() {
935
935
  super({
936
936
  id: 'editor.gotoNextFold',
937
- label: nls.localize2(997, "Go to Next Folding Range"),
937
+ label: nls.localize2(1003, "Go to Next Folding Range"),
938
938
  precondition: CONTEXT_FOLDING_ENABLED,
939
939
  kbOpts: {
940
940
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -961,7 +961,7 @@ class FoldRangeFromSelectionAction extends FoldingAction {
961
961
  constructor() {
962
962
  super({
963
963
  id: 'editor.createFoldingRangeFromSelection',
964
- label: nls.localize2(998, "Create Folding Range from Selection"),
964
+ label: nls.localize2(1004, "Create Folding Range from Selection"),
965
965
  precondition: CONTEXT_FOLDING_ENABLED,
966
966
  kbOpts: {
967
967
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -1009,7 +1009,7 @@ class RemoveFoldRangeFromSelectionAction extends FoldingAction {
1009
1009
  constructor() {
1010
1010
  super({
1011
1011
  id: 'editor.removeManualFoldingRanges',
1012
- label: nls.localize2(999, "Remove Manual Folding Ranges"),
1012
+ label: nls.localize2(1005, "Remove Manual Folding Ranges"),
1013
1013
  precondition: CONTEXT_FOLDING_ENABLED,
1014
1014
  kbOpts: {
1015
1015
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -1035,7 +1035,7 @@ class ToggleImportFoldAction extends FoldingAction {
1035
1035
  constructor() {
1036
1036
  super({
1037
1037
  id: 'editor.toggleImportFold',
1038
- label: nls.localize2(1000, "Toggle Import Fold"),
1038
+ label: nls.localize2(1006, "Toggle Import Fold"),
1039
1039
  precondition: CONTEXT_FOLDING_ENABLED,
1040
1040
  kbOpts: {
1041
1041
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -1078,7 +1078,7 @@ registerEditorAction(ToggleImportFoldAction);
1078
1078
  for (let i = 1; i <= 7; i++) {
1079
1079
  registerInstantiatedEditorAction(new FoldLevelAction({
1080
1080
  id: FoldLevelAction.ID(i),
1081
- label: nls.localize2(1001, "Fold Level {0}", i),
1081
+ label: nls.localize2(1007, "Fold Level {0}", i),
1082
1082
  precondition: CONTEXT_FOLDING_ENABLED,
1083
1083
  kbOpts: {
1084
1084
  kbExpr: EditorContextKeys.editorTextFocus,