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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +2 -2
  3. package/esm/nls.messages.de.js +2 -2
  4. package/esm/nls.messages.es.js +2 -2
  5. package/esm/nls.messages.fr.js +2 -2
  6. package/esm/nls.messages.it.js +2 -2
  7. package/esm/nls.messages.ja.js +2 -2
  8. package/esm/nls.messages.js +1 -1
  9. package/esm/nls.messages.json +1 -1
  10. package/esm/nls.messages.ko.js +2 -2
  11. package/esm/nls.messages.pl.js +2 -2
  12. package/esm/nls.messages.pt-br.js +2 -2
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +2 -2
  15. package/esm/nls.messages.zh-cn.js +2 -2
  16. package/esm/nls.messages.zh-tw.js +2 -2
  17. package/esm/nls.metadata.json +38 -6
  18. package/esm/vs/base/browser/browser.js +8 -0
  19. package/esm/vs/base/browser/browser.js.map +1 -1
  20. package/esm/vs/base/browser/contextmenu.js +8 -1
  21. package/esm/vs/base/browser/contextmenu.js.map +1 -1
  22. package/esm/vs/base/browser/dom.js +34 -5
  23. package/esm/vs/base/browser/dom.js.map +1 -1
  24. package/esm/vs/base/browser/dompurify/dompurify.js +2457 -2640
  25. package/esm/vs/base/browser/markdownRenderer.js +48 -21
  26. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  27. package/esm/vs/base/browser/pixelRatio.js +3 -2
  28. package/esm/vs/base/browser/pixelRatio.js.map +1 -1
  29. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js +5 -2
  30. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js.map +1 -1
  31. package/esm/vs/base/browser/ui/actionbar/actionbar.js +7 -2
  32. package/esm/vs/base/browser/ui/actionbar/actionbar.js.map +1 -1
  33. package/esm/vs/base/browser/ui/animations/animations.js +68 -40
  34. package/esm/vs/base/browser/ui/animations/animations.js.map +1 -1
  35. package/esm/vs/base/browser/ui/button/button.js +7 -0
  36. package/esm/vs/base/browser/ui/button/button.js.map +1 -1
  37. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  38. package/esm/vs/base/browser/ui/contextview/contextview.css +15 -0
  39. package/esm/vs/base/browser/ui/contextview/contextview.js +266 -40
  40. package/esm/vs/base/browser/ui/contextview/contextview.js.map +1 -1
  41. package/esm/vs/base/browser/ui/contextview/windowControlsOverlay.js +72 -0
  42. package/esm/vs/base/browser/ui/contextview/windowControlsOverlay.js.map +1 -0
  43. package/esm/vs/base/browser/ui/dialog/dialog.css +5 -0
  44. package/esm/vs/base/browser/ui/dropdown/dropdown.js +2 -1
  45. package/esm/vs/base/browser/ui/dropdown/dropdown.js.map +1 -1
  46. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -0
  47. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js.map +1 -1
  48. package/esm/vs/base/browser/ui/hover/hover.js.map +1 -1
  49. package/esm/vs/base/browser/ui/list/listView.js +87 -15
  50. package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
  51. package/esm/vs/base/browser/ui/list/listWidget.js +37 -15
  52. package/esm/vs/base/browser/ui/list/listWidget.js.map +1 -1
  53. package/esm/vs/base/browser/ui/menu/menu.js +189 -52
  54. package/esm/vs/base/browser/ui/menu/menu.js.map +1 -1
  55. package/esm/vs/base/browser/ui/radio/radio.css +11 -0
  56. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js +2 -1
  57. package/esm/vs/base/browser/ui/scrollbar/scrollableElement.js.map +1 -1
  58. package/esm/vs/base/browser/ui/selectBox/selectBox.js.map +1 -1
  59. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js +14 -8
  60. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js.map +1 -1
  61. package/esm/vs/base/browser/ui/splitview/splitview.js +11 -7
  62. package/esm/vs/base/browser/ui/splitview/splitview.js.map +1 -1
  63. package/esm/vs/base/browser/ui/toggle/switch.css +16 -7
  64. package/esm/vs/base/browser/ui/toggle/switch.js +9 -6
  65. package/esm/vs/base/browser/ui/toggle/switch.js.map +1 -1
  66. package/esm/vs/base/browser/ui/toolbar/toolbar.css +1 -2
  67. package/esm/vs/base/browser/ui/toolbar/toolbar.js +85 -38
  68. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  69. package/esm/vs/base/browser/ui/tree/abstractTree.js +48 -9
  70. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  71. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +10 -1
  72. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  73. package/esm/vs/base/browser/ui/tree/objectTree.js +3 -0
  74. package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
  75. package/esm/vs/base/browser/ui/tree/tree.js.map +1 -1
  76. package/esm/vs/base/common/actions.js +8 -2
  77. package/esm/vs/base/common/actions.js.map +1 -1
  78. package/esm/vs/base/common/arrays.js +4 -4
  79. package/esm/vs/base/common/arrays.js.map +1 -1
  80. package/esm/vs/base/common/async.js +12 -8
  81. package/esm/vs/base/common/async.js.map +1 -1
  82. package/esm/vs/base/common/cancellation.js +25 -0
  83. package/esm/vs/base/common/cancellation.js.map +1 -1
  84. package/esm/vs/base/common/codicons.js +2 -0
  85. package/esm/vs/base/common/codicons.js.map +1 -1
  86. package/esm/vs/base/common/codiconsLibrary.js +2 -0
  87. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  88. package/esm/vs/base/common/color.js +1 -1
  89. package/esm/vs/base/common/color.js.map +1 -1
  90. package/esm/vs/base/common/diff/diff.js +60 -1
  91. package/esm/vs/base/common/diff/diff.js.map +1 -1
  92. package/esm/vs/base/common/event.js +1 -1
  93. package/esm/vs/base/common/event.js.map +1 -1
  94. package/esm/vs/base/common/glob.js +1 -0
  95. package/esm/vs/base/common/glob.js.map +1 -1
  96. package/esm/vs/base/common/htmlContent.js +74 -12
  97. package/esm/vs/base/common/htmlContent.js.map +1 -1
  98. package/esm/vs/base/common/json.js +19 -0
  99. package/esm/vs/base/common/json.js.map +1 -0
  100. package/esm/vs/base/common/network.js +16 -0
  101. package/esm/vs/base/common/network.js.map +1 -1
  102. package/esm/vs/base/common/resources.js +14 -2
  103. package/esm/vs/base/common/resources.js.map +1 -1
  104. package/esm/vs/base/common/strings.js +1 -1
  105. package/esm/vs/base/common/strings.js.map +1 -1
  106. package/esm/vs/base/common/uri.js +2 -2
  107. package/esm/vs/base/common/uri.js.map +1 -1
  108. package/esm/vs/editor/browser/config/editorConfiguration.js +1 -1
  109. package/esm/vs/editor/browser/config/fontMeasurements.js +19 -6
  110. package/esm/vs/editor/browser/config/fontMeasurements.js.map +1 -1
  111. package/esm/vs/editor/browser/controller/dragScrolling.js +3 -3
  112. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js +11 -5
  113. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js.map +1 -1
  114. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +8 -38
  115. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
  116. package/esm/vs/editor/browser/controller/editContext/native/screenReaderContentRich.js +3 -3
  117. package/esm/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +6 -6
  118. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +12 -10
  119. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js.map +1 -1
  120. package/esm/vs/editor/browser/controller/mouseHandler.js +7 -7
  121. package/esm/vs/editor/browser/controller/mouseTarget.js +3 -3
  122. package/esm/vs/editor/browser/coreCommands.js +2 -2
  123. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  124. package/esm/vs/editor/browser/editorMarkdownSanitizer.js +19 -0
  125. package/esm/vs/editor/browser/editorMarkdownSanitizer.js.map +1 -0
  126. package/esm/vs/editor/browser/gpu/rectangleRenderer.js +1 -1
  127. package/esm/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  128. package/esm/vs/editor/browser/observableCodeEditor.js +1 -1
  129. package/esm/vs/editor/browser/services/editorWorkerService.js +3 -2
  130. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  131. package/esm/vs/editor/browser/services/openerService.js +6 -2
  132. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  133. package/esm/vs/editor/browser/view/domLineBreaksComputer.js +34 -11
  134. package/esm/vs/editor/browser/view/domLineBreaksComputer.js.map +1 -1
  135. package/esm/vs/editor/browser/view/viewController.js +7 -7
  136. package/esm/vs/editor/browser/view/viewController.js.map +1 -1
  137. package/esm/vs/editor/browser/view/viewLayer.js +1 -1
  138. package/esm/vs/editor/browser/view/viewOverlays.js +4 -4
  139. package/esm/vs/editor/browser/view.js +5 -5
  140. package/esm/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  141. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +11 -3
  142. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  143. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +6 -6
  144. package/esm/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +12 -12
  145. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +9 -2
  146. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js.map +1 -1
  147. package/esm/vs/editor/browser/viewParts/indentGuides/indentGuides.js +2 -2
  148. package/esm/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +2 -2
  149. package/esm/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  150. package/esm/vs/editor/browser/viewParts/margin/margin.js +2 -2
  151. package/esm/vs/editor/browser/viewParts/minimap/minimap.js +6 -6
  152. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +9 -2
  153. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js.map +1 -1
  154. package/esm/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +5 -5
  155. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  156. package/esm/vs/editor/browser/viewParts/rulers/rulers.js +2 -2
  157. package/esm/vs/editor/browser/viewParts/rulersGpu/rulersGpu.js +1 -1
  158. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +3 -3
  159. package/esm/vs/editor/browser/viewParts/selections/selections.js +2 -2
  160. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursor.js +2 -2
  161. package/esm/vs/editor/browser/viewParts/viewCursors/viewCursors.js +6 -6
  162. package/esm/vs/editor/browser/viewParts/viewLines/viewLineOptions.js +5 -5
  163. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +11 -11
  164. package/esm/vs/editor/browser/viewParts/viewLinesGpu/viewLinesGpu.js +1 -1
  165. package/esm/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  166. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +4 -4
  167. package/esm/vs/editor/browser/viewParts/wordWrapIndicator/wordWrapIndicator.js +2 -2
  168. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +22 -21
  169. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  170. package/esm/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  171. package/esm/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +18 -18
  172. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  173. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +3 -3
  174. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +10 -10
  175. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js.map +1 -1
  176. package/esm/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +2 -2
  177. package/esm/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +4 -4
  178. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +21 -3
  179. package/esm/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js.map +1 -1
  180. package/esm/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  181. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +10 -10
  182. package/esm/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  183. package/esm/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  184. package/esm/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +2 -2
  185. package/esm/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  186. package/esm/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
  187. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollLayout.js +2 -2
  188. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollLayout.js.map +1 -1
  189. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollView.js +21 -2
  190. package/esm/vs/editor/browser/widget/multiDiffEditor/compressedVirtualizedScrollView.js.map +1 -1
  191. package/esm/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +2 -2
  192. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +11 -3
  193. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js.map +1 -1
  194. package/esm/vs/editor/browser/widget/multiDiffEditor/virtualizedItemManager.js +1 -0
  195. package/esm/vs/editor/browser/widget/multiDiffEditor/virtualizedItemManager.js.map +1 -1
  196. package/esm/vs/editor/common/commands/columnSelectionPasteCommand.js +64 -0
  197. package/esm/vs/editor/common/commands/columnSelectionPasteCommand.js.map +1 -0
  198. package/esm/vs/editor/common/config/editorConfigurationSchema.js +68 -58
  199. package/esm/vs/editor/common/config/editorConfigurationSchema.js.map +1 -1
  200. package/esm/vs/editor/common/config/editorOptions.js +560 -500
  201. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  202. package/esm/vs/editor/common/core/editorColorRegistry.js +71 -71
  203. package/esm/vs/editor/common/core/edits/textEdit.js +16 -0
  204. package/esm/vs/editor/common/core/edits/textEdit.js.map +1 -1
  205. package/esm/vs/editor/common/cursor/cursor.js +20 -10
  206. package/esm/vs/editor/common/cursor/cursor.js.map +1 -1
  207. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js +67 -14
  208. package/esm/vs/editor/common/cursor/cursorTypeEditOperations.js.map +1 -1
  209. package/esm/vs/editor/common/cursor/cursorTypeOperations.js +2 -2
  210. package/esm/vs/editor/common/cursor/cursorTypeOperations.js.map +1 -1
  211. package/esm/vs/editor/common/cursorCommon.js +22 -21
  212. package/esm/vs/editor/common/cursorCommon.js.map +1 -1
  213. package/esm/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +21 -8
  214. package/esm/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js.map +1 -1
  215. package/esm/vs/editor/common/diff/documentDiffProvider.js.map +1 -1
  216. package/esm/vs/editor/common/diff/externalLinesDiffComputer.js +38 -26
  217. package/esm/vs/editor/common/diff/externalLinesDiffComputer.js.map +1 -1
  218. package/esm/vs/editor/common/diff/rangeMapping.js +11 -1
  219. package/esm/vs/editor/common/diff/rangeMapping.js.map +1 -1
  220. package/esm/vs/editor/common/diff/verifyLinesDiff.js +28 -0
  221. package/esm/vs/editor/common/diff/verifyLinesDiff.js.map +1 -0
  222. package/esm/vs/editor/common/editorContextKeys.js +53 -53
  223. package/esm/vs/editor/common/languages/languageConfiguration.js +8 -0
  224. package/esm/vs/editor/common/languages/languageConfiguration.js.map +1 -1
  225. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  226. package/esm/vs/editor/common/languages.js +56 -56
  227. package/esm/vs/editor/common/model/editStack.js +1 -1
  228. package/esm/vs/editor/common/services/editorWebWorker.js +27 -6
  229. package/esm/vs/editor/common/services/editorWebWorker.js.map +1 -1
  230. package/esm/vs/editor/common/services/editorWorker.js.map +1 -1
  231. package/esm/vs/editor/common/services/languageService.js +6 -4
  232. package/esm/vs/editor/common/services/languageService.js.map +1 -1
  233. package/esm/vs/editor/common/services/markerDecorationsService.js +21 -2
  234. package/esm/vs/editor/common/services/markerDecorationsService.js.map +1 -1
  235. package/esm/vs/editor/common/standalone/standaloneEnums.js +100 -97
  236. package/esm/vs/editor/common/standalone/standaloneEnums.js.map +1 -1
  237. package/esm/vs/editor/common/standaloneStrings.js +11 -11
  238. package/esm/vs/editor/common/textModelEditSource.js +9 -0
  239. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  240. package/esm/vs/editor/common/viewLayout/viewLayout.js +16 -16
  241. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  242. package/esm/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +1 -1
  243. package/esm/vs/editor/common/viewModel/viewModelImpl.js +19 -19
  244. package/esm/vs/editor/common/viewModel/viewModelImpl.js.map +1 -1
  245. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  246. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +9 -9
  247. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  248. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  249. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +23 -20
  250. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js.map +1 -1
  251. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  252. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  253. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  254. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  255. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  256. package/esm/vs/editor/contrib/codeAction/browser/codeActionModel.js +1 -1
  257. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  258. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  259. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js +25 -10
  260. package/esm/vs/editor/contrib/colorPicker/browser/colorDetector.js.map +1 -1
  261. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  262. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  263. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerContribution.js +1 -1
  264. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +3 -3
  265. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  266. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerParticipant.js +1 -1
  267. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  268. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +17 -17
  269. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js.map +1 -1
  270. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  271. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  272. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +39 -39
  273. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js.map +1 -1
  274. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  275. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  276. package/esm/vs/editor/contrib/dropOrPasteInto/browser/pasteEditSession.js +19 -0
  277. package/esm/vs/editor/contrib/dropOrPasteInto/browser/pasteEditSession.js.map +1 -0
  278. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +26 -18
  279. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js.map +1 -1
  280. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  281. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js.map +1 -1
  282. package/esm/vs/editor/contrib/find/browser/findController.js +18 -18
  283. package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
  284. package/esm/vs/editor/contrib/find/browser/findModel.js +6 -6
  285. package/esm/vs/editor/contrib/find/browser/findWidget.js +40 -40
  286. package/esm/vs/editor/contrib/find/browser/findWidget.js.map +1 -1
  287. package/esm/vs/editor/contrib/folding/browser/folding.js +23 -23
  288. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  289. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  290. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  291. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  292. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  293. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  294. package/esm/vs/editor/contrib/gotoSymbol/browser/link/clickLinkGesture.js +3 -3
  295. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +2 -2
  296. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +4 -4
  297. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js.map +1 -1
  298. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  299. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  300. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  301. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  302. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  303. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js +9 -3
  304. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js.map +1 -1
  305. package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js +2 -2
  306. package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js +2 -1
  307. package/esm/vs/editor/contrib/hover/browser/glyphHoverWidget.js.map +1 -1
  308. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  309. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  310. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  311. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +10 -8
  312. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js.map +1 -1
  313. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -6
  314. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  315. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  316. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +5 -5
  317. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +9 -9
  318. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js +3 -3
  319. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsLocations.js.map +1 -1
  320. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  321. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  322. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +7 -7
  323. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  324. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +6 -5
  325. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js.map +1 -1
  326. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +1 -1
  327. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +2 -2
  328. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +7 -7
  329. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +6 -6
  330. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +1 -1
  331. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +3 -3
  332. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  333. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  334. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  335. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -32
  336. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +5 -4
  337. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js.map +1 -1
  338. package/esm/vs/editor/contrib/links/browser/links.js +16 -15
  339. package/esm/vs/editor/contrib/links/browser/links.js.map +1 -1
  340. package/esm/vs/editor/contrib/longLinesHelper/browser/longLinesHelper.js +1 -1
  341. package/esm/vs/editor/contrib/message/browser/messageController.js +16 -12
  342. package/esm/vs/editor/contrib/message/browser/messageController.js.map +1 -1
  343. package/esm/vs/editor/contrib/middleScroll/browser/middleScrollController.js +1 -1
  344. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +91 -55
  345. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js.map +1 -1
  346. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  347. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +3 -3
  348. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js.map +1 -1
  349. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +6 -4
  350. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js.map +1 -1
  351. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  352. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  353. package/esm/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +1 -1
  354. package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  355. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +12 -12
  356. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  357. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -3
  358. package/esm/vs/editor/contrib/rename/browser/rename.js +11 -11
  359. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  360. package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +6 -6
  361. package/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +23 -13
  362. package/esm/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js.map +1 -1
  363. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -5
  364. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +5 -5
  365. package/esm/vs/editor/contrib/snippet/browser/snippetSession.js +2 -2
  366. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  367. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  368. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +10 -8
  369. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
  370. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +1 -1
  371. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +2 -2
  372. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +6 -6
  373. package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  374. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +15 -15
  375. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +2 -2
  376. package/esm/vs/editor/contrib/suggest/browser/suggestModel.js +11 -11
  377. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +27 -27
  378. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +8 -6
  379. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
  380. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +5 -5
  381. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +3 -3
  382. package/esm/vs/editor/contrib/suggest/browser/wordDistance.js +1 -1
  383. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  384. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  385. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  386. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  387. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +27 -27
  388. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +9 -9
  389. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  390. package/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js +1 -1
  391. package/esm/vs/editor/contrib/wordHighlighter/browser/textualHighlightProvider.js.map +1 -1
  392. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +50 -14
  393. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js.map +1 -1
  394. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +6 -6
  395. package/esm/vs/editor/editor.api.d.ts +133 -98
  396. package/esm/vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js +1 -1
  397. package/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +5 -3
  398. package/esm/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js.map +1 -1
  399. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js +15 -1
  400. package/esm/vs/editor/standalone/browser/standaloneCodeEditor.js.map +1 -1
  401. package/esm/vs/nls.js.map +1 -1
  402. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +72 -66
  403. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js.map +1 -1
  404. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  405. package/esm/vs/platform/actionWidget/browser/actionList.js +434 -136
  406. package/esm/vs/platform/actionWidget/browser/actionList.js.map +1 -1
  407. package/esm/vs/platform/actionWidget/browser/actionWidget.css +74 -4
  408. package/esm/vs/platform/actionWidget/browser/actionWidget.js +24 -26
  409. package/esm/vs/platform/actionWidget/browser/actionWidget.js.map +1 -1
  410. package/esm/vs/platform/actionWidget/browser/actionWidgetMotion.js +16 -0
  411. package/esm/vs/platform/actionWidget/browser/actionWidgetMotion.js.map +1 -0
  412. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +15 -17
  413. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
  414. package/esm/vs/platform/actions/browser/toolbar.js +25 -12
  415. package/esm/vs/platform/actions/browser/toolbar.js.map +1 -1
  416. package/esm/vs/platform/actions/common/actions.js +4 -2
  417. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  418. package/esm/vs/platform/actions/common/menuService.js +15 -8
  419. package/esm/vs/platform/actions/common/menuService.js.map +1 -1
  420. package/esm/vs/platform/configuration/common/configuration.js +3 -1
  421. package/esm/vs/platform/configuration/common/configuration.js.map +1 -1
  422. package/esm/vs/platform/configuration/common/configurationModels.js +16 -11
  423. package/esm/vs/platform/configuration/common/configurationModels.js.map +1 -1
  424. package/esm/vs/platform/configuration/common/configurationRegistry.js +29 -27
  425. package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
  426. package/esm/vs/platform/configuration/common/configurations.js +13 -1
  427. package/esm/vs/platform/configuration/common/configurations.js.map +1 -1
  428. package/esm/vs/platform/contextkey/browser/contextKeyService.js +2 -2
  429. package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
  430. package/esm/vs/platform/contextkey/common/contextkey.js +28 -14
  431. package/esm/vs/platform/contextkey/common/contextkey.js.map +1 -1
  432. package/esm/vs/platform/contextkey/common/contextkeys.js +10 -10
  433. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  434. package/esm/vs/platform/contextview/browser/contextMenuHandler.js +17 -4
  435. package/esm/vs/platform/contextview/browser/contextMenuHandler.js.map +1 -1
  436. package/esm/vs/platform/contextview/browser/contextMenuService.js +1 -1
  437. package/esm/vs/platform/contextview/browser/contextMenuService.js.map +1 -1
  438. package/esm/vs/platform/contextview/browser/contextView.js.map +1 -1
  439. package/esm/vs/platform/contextview/browser/contextViewService.js +7 -2
  440. package/esm/vs/platform/contextview/browser/contextViewService.js.map +1 -1
  441. package/esm/vs/platform/editor/common/editor.js +17 -0
  442. package/esm/vs/platform/editor/common/editor.js.map +1 -1
  443. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  444. package/esm/vs/platform/hover/browser/hoverService.js +6 -3
  445. package/esm/vs/platform/hover/browser/hoverService.js.map +1 -1
  446. package/esm/vs/platform/hover/browser/hoverWidget.js +38 -6
  447. package/esm/vs/platform/hover/browser/hoverWidget.js.map +1 -1
  448. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +32 -5
  449. package/esm/vs/platform/hover/browser/updatableHoverWidget.js.map +1 -1
  450. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -1
  451. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  452. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  453. package/esm/vs/platform/keybinding/common/keybindingResolver.js +1 -1
  454. package/esm/vs/platform/keybinding/common/keybindingResolver.js.map +1 -1
  455. package/esm/vs/platform/list/browser/listService.js +27 -27
  456. package/esm/vs/platform/markers/common/markerService.js +11 -8
  457. package/esm/vs/platform/markers/common/markerService.js.map +1 -1
  458. package/esm/vs/platform/markers/common/markers.js +6 -6
  459. package/esm/vs/platform/markers/common/markers.js.map +1 -1
  460. package/esm/vs/platform/notification/common/notification.js.map +1 -1
  461. package/esm/vs/platform/notification/common/notificationMessage.js +37 -0
  462. package/esm/vs/platform/notification/common/notificationMessage.js.map +1 -0
  463. package/esm/vs/platform/opener/common/opener.js.map +1 -1
  464. package/esm/vs/platform/progress/common/progress.js.map +1 -1
  465. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
  466. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  467. package/esm/vs/platform/quickinput/browser/media/quickInput.css +33 -2
  468. package/esm/vs/platform/quickinput/browser/quickAccess.js +7 -4
  469. package/esm/vs/platform/quickinput/browser/quickAccess.js.map +1 -1
  470. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  471. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  472. package/esm/vs/platform/quickinput/browser/quickInputController.js +65 -15
  473. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  474. package/esm/vs/platform/quickinput/browser/quickInputList.js +96 -90
  475. package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
  476. package/esm/vs/platform/quickinput/browser/quickInputService.js +5 -7
  477. package/esm/vs/platform/quickinput/browser/quickInputService.js.map +1 -1
  478. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  479. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  480. package/esm/vs/platform/quickinput/browser/tree/quickTree.js +1 -1
  481. package/esm/vs/platform/quickinput/common/quickAccess.js.map +1 -1
  482. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  483. package/esm/vs/platform/storage/common/storage.js.map +1 -1
  484. package/esm/vs/platform/theme/common/colorRegistry.js +1 -0
  485. package/esm/vs/platform/theme/common/colorRegistry.js.map +1 -1
  486. package/esm/vs/platform/theme/common/colorUtils.js +11 -3
  487. package/esm/vs/platform/theme/common/colorUtils.js.map +1 -1
  488. package/esm/vs/platform/theme/common/colors/baseColors.js +19 -19
  489. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -9
  490. package/esm/vs/platform/theme/common/colors/chartsColors.js.map +1 -1
  491. package/esm/vs/platform/theme/common/colors/confettiColors.js +14 -0
  492. package/esm/vs/platform/theme/common/colors/confettiColors.js.map +1 -0
  493. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  494. package/esm/vs/platform/theme/common/colors/inputColors.js +48 -48
  495. package/esm/vs/platform/theme/common/colors/inputColors.js.map +1 -1
  496. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  497. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  498. package/esm/vs/platform/theme/common/colors/minimapColors.js +13 -13
  499. package/esm/vs/platform/theme/common/colors/minimapColors.js.map +1 -1
  500. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  501. package/esm/vs/platform/theme/common/colors/quickpickColors.js +10 -10
  502. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  503. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  504. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  505. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  506. package/monaco.d.ts +133 -98
  507. package/package.json +3 -3
  508. package/version.txt +1 -1
@@ -108,7 +108,7 @@ let ContextMenuController = class ContextMenuController {
108
108
  this._editor.setPosition(e.target.position);
109
109
  }
110
110
  }
111
- // Unless the user triggerd the context menu through Shift+F10, use the mouse position as menu position
111
+ // Unless the user triggered the context menu through Shift+F10, use the mouse position as menu position
112
112
  let anchor = null;
113
113
  if (e.target.type !== 1 /* MouseTargetType.TEXTAREA */) {
114
114
  anchor = e.event;
@@ -176,7 +176,7 @@ let ContextMenuController = class ContextMenuController {
176
176
  const posy = editorCoords.top + cursorCoords.top + cursorCoords.height;
177
177
  anchor = { x: posx, y: posy };
178
178
  }
179
- const useShadowDOM = this._editor.getOption(144 /* EditorOption.useShadowDOM */) && !isIOS; // Do not use shadow dom on IOS #122035
179
+ const useShadowDOM = this._editor.getOption(147 /* EditorOption.useShadowDOM */) && !isIOS; // Do not use shadow dom on IOS #122035
180
180
  // Show menu
181
181
  this._contextMenuIsBeingShownCount++;
182
182
  this._contextMenuService.showContextMenu({
@@ -211,7 +211,7 @@ let ContextMenuController = class ContextMenuController {
211
211
  // can't update the configuration properly in the standalone editor
212
212
  return;
213
213
  }
214
- const minimapOptions = this._editor.getOption(81 /* EditorOption.minimap */);
214
+ const minimapOptions = this._editor.getOption(82 /* EditorOption.minimap */);
215
215
  let lastId = 0;
216
216
  const createAction = (opts) => {
217
217
  return {
@@ -248,7 +248,7 @@ let ContextMenuController = class ContextMenuController {
248
248
  };
249
249
  const actions = [];
250
250
  actions.push(createAction({
251
- label: nls.localize(952, "Minimap"),
251
+ label: nls.localize(959, "Minimap"),
252
252
  checked: minimapOptions.enabled,
253
253
  run: () => {
254
254
  this._configurationService.updateValue(`editor.minimap.enabled`, !minimapOptions.enabled);
@@ -256,38 +256,38 @@ let ContextMenuController = class ContextMenuController {
256
256
  }));
257
257
  actions.push(new Separator());
258
258
  actions.push(createAction({
259
- label: nls.localize(953, "Render Characters"),
259
+ label: nls.localize(960, "Render Characters"),
260
260
  enabled: minimapOptions.enabled,
261
261
  checked: minimapOptions.renderCharacters,
262
262
  run: () => {
263
263
  this._configurationService.updateValue(`editor.minimap.renderCharacters`, !minimapOptions.renderCharacters);
264
264
  }
265
265
  }));
266
- actions.push(createEnumAction(nls.localize(954, "Vertical size"), minimapOptions.enabled, 'editor.minimap.size', minimapOptions.size, [{
267
- label: nls.localize(955, "Proportional"),
266
+ actions.push(createEnumAction(nls.localize(961, "Vertical size"), minimapOptions.enabled, 'editor.minimap.size', minimapOptions.size, [{
267
+ label: nls.localize(962, "Proportional"),
268
268
  value: 'proportional'
269
269
  }, {
270
- label: nls.localize(956, "Fill"),
270
+ label: nls.localize(963, "Fill"),
271
271
  value: 'fill'
272
272
  }, {
273
- label: nls.localize(957, "Fit"),
273
+ label: nls.localize(964, "Fit"),
274
274
  value: 'fit'
275
275
  }]));
276
- actions.push(createEnumAction(nls.localize(958, "Slider"), minimapOptions.enabled, 'editor.minimap.showSlider', minimapOptions.showSlider, [{
277
- label: nls.localize(959, "Mouse Over"),
276
+ actions.push(createEnumAction(nls.localize(965, "Slider"), minimapOptions.enabled, 'editor.minimap.showSlider', minimapOptions.showSlider, [{
277
+ label: nls.localize(966, "Mouse Over"),
278
278
  value: 'mouseover'
279
279
  }, {
280
- label: nls.localize(960, "Always"),
280
+ label: nls.localize(967, "Always"),
281
281
  value: 'always'
282
282
  }]));
283
- actions.push(createEnumAction(nls.localize(961, "Side"), minimapOptions.enabled, 'editor.minimap.side', minimapOptions.side, [{
284
- label: nls.localize(962, "Right"),
283
+ actions.push(createEnumAction(nls.localize(968, "Side"), minimapOptions.enabled, 'editor.minimap.side', minimapOptions.side, [{
284
+ label: nls.localize(969, "Right"),
285
285
  value: 'right'
286
286
  }, {
287
- label: nls.localize(963, "Left"),
287
+ label: nls.localize(970, "Left"),
288
288
  value: 'left'
289
289
  }]));
290
- const useShadowDOM = this._editor.getOption(144 /* EditorOption.useShadowDOM */) && !isIOS; // Do not use shadow dom on IOS #122035
290
+ const useShadowDOM = this._editor.getOption(147 /* EditorOption.useShadowDOM */) && !isIOS; // Do not use shadow dom on IOS #122035
291
291
  this._contextMenuIsBeingShownCount++;
292
292
  this._contextMenuService.showContextMenu({
293
293
  domForShadowRoot: useShadowDOM ? this._editor.getDomNode() : undefined,
@@ -324,7 +324,7 @@ class ShowContextMenu extends EditorAction {
324
324
  constructor() {
325
325
  super({
326
326
  id: 'editor.action.showContextMenu',
327
- label: nls.localize2(964, "Show Editor Context Menu"),
327
+ label: nls.localize2(971, "Show Editor Context Menu"),
328
328
  precondition: undefined,
329
329
  kbOpts: {
330
330
  kbExpr: EditorContextKeys.textInputFocus,
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/contextmenu/browser/contextmenu.ts"],"names":[],"mappings":"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","file":"contextmenu.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 * as dom from '../../../../base/browser/dom.js';\nimport { IKeyboardEvent } from '../../../../base/browser/keyboardEvent.js';\nimport { IMouseEvent, IMouseWheelEvent } from '../../../../base/browser/mouseEvent.js';\nimport { ActionViewItem } from '../../../../base/browser/ui/actionbar/actionViewItems.js';\nimport { IAnchor } from '../../../../base/browser/ui/contextview/contextview.js';\nimport { IAction, Separator, SubmenuAction } from '../../../../base/common/actions.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { ResolvedKeybinding } from '../../../../base/common/keybindings.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { isIOS } from '../../../../base/common/platform.js';\nimport { ICodeEditor, IEditorMouseEvent, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution, ScrollType } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IMenuService, MenuId, SubmenuItemAction } from '../../../../platform/actions/common/actions.js';\nimport { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextMenuService, IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IWorkspaceContextService, isStandaloneEditorWorkspace } from '../../../../platform/workspace/common/workspace.js';\n\nexport class ContextMenuController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.contextmenu';\n\n\tpublic static get(editor: ICodeEditor): ContextMenuController | null {\n\t\treturn editor.getContribution<ContextMenuController>(ContextMenuController.ID);\n\t}\n\n\tprivate readonly _toDispose = new DisposableStore();\n\tprivate _contextMenuIsBeingShownCount: number = 0;\n\tprivate readonly _editor: ICodeEditor;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextMenuService private readonly _contextMenuService: IContextMenuService,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IMenuService private readonly _menuService: IMenuService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,\n\t) {\n\t\tthis._editor = editor;\n\n\t\tthis._toDispose.add(this._editor.onContextMenu((e: IEditorMouseEvent) => this._onContextMenu(e)));\n\t\tthis._toDispose.add(this._editor.onMouseWheel((e: IMouseWheelEvent) => {\n\t\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\t\tconst view = this._contextViewService.getContextViewElement();\n\t\t\t\tconst target = e.srcElement as HTMLElement;\n\n\t\t\t\t// Event triggers on shadow root host first\n\t\t\t\t// Check if the context view is under this host before hiding it #103169\n\t\t\t\tif (!(target.shadowRoot && dom.getShadowRoot(view) === target.shadowRoot)) {\n\t\t\t\t\tthis._contextViewService.hideContextView();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tthis._toDispose.add(this._editor.onKeyDown((e: IKeyboardEvent) => {\n\t\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\t\treturn; // Context menu is turned off through configuration\n\t\t\t}\n\t\t\tif (e.keyCode === KeyCode.ContextMenu) {\n\t\t\t\t// Chrome is funny like that\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis.showContextMenu();\n\t\t\t}\n\t\t}));\n\t}\n\n\tprivate _onContextMenu(e: IEditorMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\tthis._editor.focus();\n\t\t\t// Ensure the cursor is at the position of the mouse click\n\t\t\tif (e.target.position && !this._editor.getSelection().containsPosition(e.target.position)) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\n\t\tif (e.target.type === MouseTargetType.OVERLAY_WIDGET) {\n\t\t\treturn; // allow native menu on widgets to support right click on input field for example in find\n\t\t}\n\t\tif (e.target.type === MouseTargetType.CONTENT_TEXT && e.target.detail.injectedText) {\n\t\t\treturn; // allow native menu on injected text\n\t\t}\n\n\t\te.event.preventDefault();\n\t\te.event.stopPropagation();\n\n\t\tif (e.target.type === MouseTargetType.SCROLLBAR) {\n\t\t\treturn this._showScrollbarContextMenu(e.event);\n\t\t}\n\n\t\tif (e.target.type !== MouseTargetType.CONTENT_TEXT && e.target.type !== MouseTargetType.CONTENT_EMPTY && e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\treturn; // only support mouse click into text or native context menu key for now\n\t\t}\n\n\t\t// Ensure the editor gets focus if it hasn't, so the right events are being sent to other contributions\n\t\tthis._editor.focus();\n\n\t\t// Ensure the cursor is at the position of the mouse click\n\t\tif (e.target.position) {\n\t\t\tlet hasSelectionAtPosition = false;\n\t\t\tfor (const selection of this._editor.getSelections()) {\n\t\t\t\tif (selection.containsPosition(e.target.position)) {\n\t\t\t\t\thasSelectionAtPosition = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!hasSelectionAtPosition) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t}\n\n\t\t// Unless the user triggerd the context menu through Shift+F10, use the mouse position as menu position\n\t\tlet anchor: IMouseEvent | null = null;\n\t\tif (e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\tanchor = e.event;\n\t\t}\n\n\t\t// Show the context menu\n\t\tthis.showContextMenu(anchor);\n\t}\n\n\tpublic showContextMenu(anchor?: IMouseEvent | null): void {\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find actions available for menu\n\t\tconst menuActions = this._getMenuActions(this._editor.getModel(),\n\t\t\tthis._editor.contextMenuId);\n\n\t\t// Show menu if we have actions to show\n\t\tif (menuActions.length > 0) {\n\t\t\tthis._doShowContextMenu(menuActions, anchor);\n\t\t}\n\t}\n\n\tprivate _getMenuActions(model: ITextModel, menuId: MenuId): IAction[] {\n\t\tconst result: IAction[] = [];\n\n\t\t// get menu groups\n\t\tconst groups = this._menuService.getMenuActions(menuId, this._contextKeyService, { arg: model.uri });\n\n\t\t// translate them into other actions\n\t\tfor (const group of groups) {\n\t\t\tconst [, actions] = group;\n\t\t\tlet addedItems = 0;\n\t\t\tfor (const action of actions) {\n\t\t\t\tif (action instanceof SubmenuItemAction) {\n\t\t\t\t\tconst subActions = this._getMenuActions(model, action.item.submenu);\n\t\t\t\t\tif (subActions.length > 0) {\n\t\t\t\t\t\tresult.push(new SubmenuAction(action.id, action.label, subActions));\n\t\t\t\t\t\taddedItems++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresult.push(action);\n\t\t\t\t\taddedItems++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (addedItems) {\n\t\t\t\tresult.push(new Separator());\n\t\t\t}\n\t\t}\n\n\t\tif (result.length) {\n\t\t\tresult.pop(); // remove last separator\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _doShowContextMenu(actions: IAction[], event: IMouseEvent | null = null): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet anchor: IMouseEvent | IAnchor | null = event;\n\t\tif (!anchor) {\n\t\t\t// Ensure selection is visible\n\t\t\tthis._editor.revealPosition(this._editor.getPosition(), ScrollType.Immediate);\n\n\t\t\tthis._editor.render();\n\t\t\tconst cursorCoords = this._editor.getScrolledVisiblePosition(this._editor.getPosition());\n\n\t\t\t// Translate to absolute editor position\n\t\t\tconst editorCoords = dom.getDomNodePagePosition(this._editor.getDomNode());\n\t\t\tconst posx = editorCoords.left + cursorCoords.left;\n\t\t\tconst posy = editorCoords.top + cursorCoords.top + cursorCoords.height;\n\n\t\t\tanchor = { x: posx, y: posy };\n\t\t}\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\n\t\t// Show menu\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getOverflowWidgetsDomNode() ?? this._editor.getDomNode() : undefined,\n\t\t\tuseWindowContainerForShadowRoot: useShadowDOM && this._editor.getOption(EditorOption.fixedOverflowWidgets),\n\n\t\t\tgetAnchor: () => anchor,\n\n\t\t\tgetActions: () => actions,\n\n\t\t\tgetActionViewItem: (action) => {\n\t\t\t\tconst keybinding = this._keybindingFor(action);\n\t\t\t\tif (keybinding) {\n\t\t\t\t\treturn new ActionViewItem(action, action, { label: true, keybinding: keybinding.getLabel(), isMenu: true });\n\t\t\t\t}\n\n\t\t\t\tconst customAction = action as IAction & { getActionViewItem?: () => ActionViewItem };\n\t\t\t\tif (typeof customAction.getActionViewItem === 'function') {\n\t\t\t\t\treturn customAction.getActionViewItem();\n\t\t\t\t}\n\n\t\t\t\treturn new ActionViewItem(action, action, { icon: true, label: true, isMenu: true });\n\t\t\t},\n\n\t\t\tgetKeyBinding: (action): ResolvedKeybinding | undefined => {\n\t\t\t\treturn this._keybindingFor(action);\n\t\t\t},\n\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _showScrollbarContextMenu(anchor: IMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isStandaloneEditorWorkspace(this._workspaceContextService.getWorkspace())) {\n\t\t\t// can't update the configuration properly in the standalone editor\n\t\t\treturn;\n\t\t}\n\n\t\tconst minimapOptions = this._editor.getOption(EditorOption.minimap);\n\n\t\tlet lastId = 0;\n\t\tconst createAction = (opts: { label: string; enabled?: boolean; checked?: boolean; run: () => void }): IAction => {\n\t\t\treturn {\n\t\t\t\tid: `menu-action-${++lastId}`,\n\t\t\t\tlabel: opts.label,\n\t\t\t\ttooltip: '',\n\t\t\t\tclass: undefined,\n\t\t\t\tenabled: (typeof opts.enabled === 'undefined' ? true : opts.enabled),\n\t\t\t\tchecked: opts.checked,\n\t\t\t\trun: opts.run\n\t\t\t};\n\t\t};\n\t\tconst createSubmenuAction = (label: string, actions: IAction[]): SubmenuAction => {\n\t\t\treturn new SubmenuAction(\n\t\t\t\t`menu-action-${++lastId}`,\n\t\t\t\tlabel,\n\t\t\t\tactions,\n\t\t\t\tundefined\n\t\t\t);\n\t\t};\n\t\tconst createEnumAction = <T>(label: string, enabled: boolean, configName: string, configuredValue: T, options: { label: string; value: T }[]): IAction => {\n\t\t\tif (!enabled) {\n\t\t\t\treturn createAction({ label, enabled, run: () => { } });\n\t\t\t}\n\t\t\tconst createRunner = (value: T) => {\n\t\t\t\treturn () => {\n\t\t\t\t\tthis._configurationService.updateValue(configName, value);\n\t\t\t\t};\n\t\t\t};\n\t\t\tconst actions: IAction[] = [];\n\t\t\tfor (const option of options) {\n\t\t\t\tactions.push(createAction({\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tchecked: configuredValue === option.value,\n\t\t\t\t\trun: createRunner(option.value)\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn createSubmenuAction(\n\t\t\t\tlabel,\n\t\t\t\tactions\n\t\t\t);\n\t\t};\n\n\t\tconst actions: IAction[] = [];\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.minimap', \"Minimap\"),\n\t\t\tchecked: minimapOptions.enabled,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.enabled`, !minimapOptions.enabled);\n\t\t\t}\n\t\t}));\n\t\tactions.push(new Separator());\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.renderCharacters', \"Render Characters\"),\n\t\t\tenabled: minimapOptions.enabled,\n\t\t\tchecked: minimapOptions.renderCharacters,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.renderCharacters`, !minimapOptions.renderCharacters);\n\t\t\t}\n\t\t}));\n\t\tactions.push(createEnumAction<'proportional' | 'fill' | 'fit'>(\n\t\t\tnls.localize('context.minimap.size', \"Vertical size\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.size',\n\t\t\tminimapOptions.size,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.size.proportional', \"Proportional\"),\n\t\t\t\tvalue: 'proportional'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fill', \"Fill\"),\n\t\t\t\tvalue: 'fill'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fit', \"Fit\"),\n\t\t\t\tvalue: 'fit'\n\t\t\t}]\n\t\t));\n\t\tactions.push(createEnumAction<'always' | 'mouseover'>(\n\t\t\tnls.localize('context.minimap.slider', \"Slider\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.showSlider',\n\t\t\tminimapOptions.showSlider,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.slider.mouseover', \"Mouse Over\"),\n\t\t\t\tvalue: 'mouseover'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.slider.always', \"Always\"),\n\t\t\t\tvalue: 'always'\n\t\t\t}]\n\t\t));\n\t\tactions.push(createEnumAction<'right' | 'left'>(\n\t\t\tnls.localize('context.minimap.side', \"Side\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.side',\n\t\t\tminimapOptions.side,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.side.right', \"Right\"),\n\t\t\t\tvalue: 'right'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.side.left', \"Left\"),\n\t\t\t\tvalue: 'left'\n\t\t\t}]\n\t\t));\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getDomNode() : undefined,\n\t\t\tuseWindowContainerForShadowRoot: useShadowDOM && this._editor.getOption(EditorOption.fixedOverflowWidgets),\n\t\t\tgetAnchor: () => anchor,\n\t\t\tgetActions: () => actions,\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t\tthis._editor.focus();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _keybindingFor(action: IAction): ResolvedKeybinding | undefined {\n\t\treturn this._keybindingService.lookupKeybinding(action.id);\n\t}\n\n\tpublic dispose(): void {\n\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\tthis._contextViewService.hideContextView();\n\t\t}\n\n\t\tthis._toDispose.dispose();\n\t}\n}\n\nclass ShowContextMenu extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.showContextMenu',\n\t\t\tlabel: nls.localize2('action.showContextMenu.label', \"Show Editor Context Menu\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.Shift | KeyCode.F10,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tContextMenuController.get(editor)?.showContextMenu();\n\t}\n}\n\nregisterEditorContribution(ContextMenuController.ID, ContextMenuController, EditorContributionInstantiation.BeforeFirstInteraction);\nregisterEditorAction(ShowContextMenu);\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/contextmenu/browser/contextmenu.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;;AAEhG,OAAO,KAAK,GAAG,MAAM,iCAAiC,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,0DAA0D,CAAC;AAE1F,OAAO,EAAW,SAAS,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAmC,oBAAoB,EAAE,0BAA0B,EAAoB,MAAM,sCAAsC,CAAC;AAGzK,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAU,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACzG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,yDAAyD,CAAC;AACnH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAE1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AAEpH,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;;aAEV,OAAE,GAAG,4BAAH,AAA+B,CAAC;IAElD,MAAM,CAAC,GAAG,CAAC,MAAmB;QACpC,OAAO,MAAM,CAAC,eAAe,CAAwB,uBAAqB,CAAC,EAAE,CAAC,CAAC;IAChF,CAAC;IAMD,YACC,MAAmB,EACE,mBAAyD,EACzD,mBAAyD,EAC1D,kBAAuD,EACvD,kBAAuD,EAC7D,YAA2C,EAClC,qBAA6D,EAC1D,wBAAmE;QANvD,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACzC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,uBAAkB,GAAlB,kBAAkB,CAAoB;QAC5C,iBAAY,GAAZ,YAAY,CAAc;QACjB,0BAAqB,GAArB,qBAAqB,CAAuB;QACzC,6BAAwB,GAAxB,wBAAwB,CAA0B;QAZ7E,eAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAC5C,kCAA6B,GAAW,CAAC,CAAC;QAajD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAmB,EAAE,EAAE;YACrE,IAAI,IAAI,CAAC,6BAA6B,GAAG,CAAC,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,UAAyB,CAAC;gBAE3C,2CAA2C;gBAC3C,wEAAwE;gBACxE,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC3E,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;gBAC5C,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAiB,EAAE,EAAE;YAChE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,mCAA0B,EAAE,CAAC;gBACvD,OAAO,CAAC,mDAAmD;YAC5D,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,iCAAwB,EAAE,CAAC;gBACvC,4BAA4B;gBAC5B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,CAAC;QACF,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,CAAoB;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,mCAA0B,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,0DAA0D;YAC1D,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3F,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,CAAC,mDAAmD;QAC5D,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,4CAAmC,EAAE,CAAC;YACtD,OAAO,CAAC,yFAAyF;QAClG,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,yCAAiC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YACpF,OAAO,CAAC,qCAAqC;QAC9C,CAAC;QAED,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAE1B,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,uCAA8B,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,yCAAiC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,0CAAkC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,qCAA6B,EAAE,CAAC;YACrJ,OAAO,CAAC,wEAAwE;QACjF,CAAC;QAED,uGAAuG;QACvG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,0DAA0D;QAC1D,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvB,IAAI,sBAAsB,GAAG,KAAK,CAAC;YACnC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;gBACtD,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACnD,sBAAsB,GAAG,IAAI,CAAC;oBAC9B,MAAM;gBACP,CAAC;YACF,CAAC;YAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;QACF,CAAC;QAED,wGAAwG;QACxG,IAAI,MAAM,GAAuB,IAAI,CAAC;QACtC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,qCAA6B,EAAE,CAAC;YAChD,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC;QAClB,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEM,eAAe,CAAC,MAA2B;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,mCAA0B,EAAE,CAAC;YACvD,OAAO,CAAC,mDAAmD;QAC5D,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAC/D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAE7B,uCAAuC;QACvC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAEO,eAAe,CAAC,KAAiB,EAAE,MAAc;QACxD,MAAM,MAAM,GAAc,EAAE,CAAC;QAE7B,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;QAErG,oCAAoC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC;YAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,IAAI,MAAM,YAAY,iBAAiB,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC3B,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;wBACpE,UAAU,EAAE,CAAC;oBACd,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACpB,UAAU,EAAE,CAAC;gBACd,CAAC;YACF,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,wBAAwB;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,OAAkB,EAAE,QAA4B,IAAI;QAC9E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,MAAM,GAAiC,KAAK,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,+BAAuB,CAAC;YAE9E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAEzF,wCAAwC;YACxC,MAAM,YAAY,GAAG,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;YAC3E,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;YACnD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC;YAEvE,MAAM,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,qCAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,uCAAuC;QAEzH,YAAY;QACZ,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;YACxC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;YAClH,+BAA+B,EAAE,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,4CAAmC;YAE1G,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;YAEvB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;YAEzB,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC/C,IAAI,UAAU,EAAE,CAAC;oBAChB,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7G,CAAC;gBAED,MAAM,YAAY,GAAG,MAAgE,CAAC;gBACtF,IAAI,OAAO,YAAY,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;oBAC1D,OAAO,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBACzC,CAAC;gBAED,OAAO,IAAI,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,aAAa,EAAE,CAAC,MAAM,EAAkC,EAAE;gBACzD,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,MAAM,EAAE,CAAC,YAAqB,EAAE,EAAE;gBACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;YACtC,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAAC,MAAmB;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC9B,OAAO;QACR,CAAC;QAED,IAAI,2BAA2B,CAAC,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC;YAC/E,mEAAmE;YACnE,OAAO;QACR,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,+BAAsB,CAAC;QAEpE,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,YAAY,GAAG,CAAC,IAA8E,EAAW,EAAE;YAChH,OAAO;gBACN,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,EAAE;gBACX,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACpE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,EAAE,IAAI,CAAC,GAAG;aACb,CAAC;QACH,CAAC,CAAC;QACF,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAE,OAAkB,EAAiB,EAAE;YAChF,OAAO,IAAI,aAAa,CACvB,eAAe,EAAE,MAAM,EAAE,EACzB,KAAK,EACL,OAAO,EACP,SAAS,CACT,CAAC;QACH,CAAC,CAAC;QACF,MAAM,gBAAgB,GAAG,CAAI,KAAa,EAAE,OAAgB,EAAE,UAAkB,EAAE,eAAkB,EAAE,OAAsC,EAAW,EAAE;YACxJ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,OAAO,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,YAAY,GAAG,CAAC,KAAQ,EAAE,EAAE;gBACjC,OAAO,GAAG,EAAE;oBACX,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC3D,CAAC,CAAC;YACH,CAAC,CAAC;YACF,MAAM,OAAO,GAAc,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;oBACzB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,OAAO,EAAE,eAAe,KAAK,MAAM,CAAC,KAAK;oBACzC,GAAG,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,mBAAmB,CACzB,KAAK,EACL,OAAO,CACP,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAc,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YACzB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAyB,EAAE,SAAS,CAAC;YACzD,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,GAAG,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3F,CAAC;SACD,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC;YACzB,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAkC,EAAE,mBAAmB,CAAC;YAC5E,OAAO,EAAE,cAAc,CAAC,OAAO;YAC/B,OAAO,EAAE,cAAc,CAAC,gBAAgB;YACxC,GAAG,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,iCAAiC,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;YAC7G,CAAC;SACD,CAAC,CAAC,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAC5B,GAAG,CAAC,QAAQ,CAAC,GAAsB,EAAE,eAAe,CAAC,EACrD,cAAc,CAAC,OAAO,EACtB,qBAAqB,EACrB,cAAc,CAAC,IAAI,EACnB,CAAC;gBACA,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAmC,EAAE,cAAc,CAAC;gBACxE,KAAK,EAAE,cAAc;aACrB,EAAE;gBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA2B,EAAE,MAAM,CAAC;gBACxD,KAAK,EAAE,MAAM;aACb,EAAE;gBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA0B,EAAE,KAAK,CAAC;gBACtD,KAAK,EAAE,KAAK;aACZ,CAAC,CACF,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAC5B,GAAG,CAAC,QAAQ,CAAC,GAAwB,EAAE,QAAQ,CAAC,EAChD,cAAc,CAAC,OAAO,EACtB,2BAA2B,EAC3B,cAAc,CAAC,UAAU,EACzB,CAAC;gBACA,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAkC,EAAE,YAAY,CAAC;gBACrE,KAAK,EAAE,WAAW;aAClB,EAAE;gBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA+B,EAAE,QAAQ,CAAC;gBAC9D,KAAK,EAAE,QAAQ;aACf,CAAC,CACF,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAC5B,GAAG,CAAC,QAAQ,CAAC,GAAsB,EAAE,MAAM,CAAC,EAC5C,cAAc,CAAC,OAAO,EACtB,qBAAqB,EACrB,cAAc,CAAC,IAAI,EACnB,CAAC;gBACA,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA4B,EAAE,OAAO,CAAC;gBAC1D,KAAK,EAAE,OAAO;aACd,EAAE;gBACF,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,GAA2B,EAAE,MAAM,CAAC;gBACxD,KAAK,EAAE,MAAM;aACb,CAAC,CACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,qCAA2B,IAAI,CAAC,KAAK,CAAC,CAAC,uCAAuC;QACzH,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACrC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;YACxC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS;YACtE,+BAA+B,EAAE,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,4CAAmC;YAC1G,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM;YACvB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO;YACzB,MAAM,EAAE,CAAC,YAAqB,EAAE,EAAE;gBACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAe;QACrC,OAAO,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEM,OAAO;QACb,IAAI,IAAI,CAAC,6BAA6B,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;;AAvWW,qBAAqB;IAc/B,WAAA,mBAAmB,CAAA;IACnB,WAAA,mBAAmB,CAAA;IACnB,WAAA,kBAAkB,CAAA;IAClB,WAAA,kBAAkB,CAAA;IAClB,WAAA,YAAY,CAAA;IACZ,WAAA,qBAAqB,CAAA;IACrB,WAAA,wBAAwB,CAAA;GApBd,qBAAqB,CAwWjC;;AAED,MAAM,eAAgB,SAAQ,YAAY;IAEzC;QACC,KAAK,CAAC;YACL,EAAE,EAAE,+BAA+B;YACnC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,GAA8B,EAAE,0BAA0B,CAAC;YAChF,YAAY,EAAE,SAAS;YACvB,MAAM,EAAE;gBACP,MAAM,EAAE,iBAAiB,CAAC,cAAc;gBACxC,OAAO,EAAE,8CAA0B;gBACnC,MAAM,0CAAgC;aACtC;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,GAAG,CAAC,QAA0B,EAAE,MAAmB;QACzD,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IACtD,CAAC;CACD;AAED,0BAA0B,CAAC,qBAAqB,CAAC,EAAE,EAAE,qBAAqB,iEAAyD,CAAC;AACpI,oBAAoB,CAAC,eAAe,CAAC,CAAC","file":"contextmenu.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 * as dom from '../../../../base/browser/dom.js';\nimport { IKeyboardEvent } from '../../../../base/browser/keyboardEvent.js';\nimport { IMouseEvent, IMouseWheelEvent } from '../../../../base/browser/mouseEvent.js';\nimport { ActionViewItem } from '../../../../base/browser/ui/actionbar/actionViewItems.js';\nimport { IAnchor } from '../../../../base/browser/ui/contextview/contextview.js';\nimport { IAction, Separator, SubmenuAction } from '../../../../base/common/actions.js';\nimport { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';\nimport { ResolvedKeybinding } from '../../../../base/common/keybindings.js';\nimport { DisposableStore } from '../../../../base/common/lifecycle.js';\nimport { isIOS } from '../../../../base/common/platform.js';\nimport { ICodeEditor, IEditorMouseEvent, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { IEditorContribution, ScrollType } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { ITextModel } from '../../../common/model.js';\nimport * as nls from '../../../../nls.js';\nimport { IMenuService, MenuId, SubmenuItemAction } from '../../../../platform/actions/common/actions.js';\nimport { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';\nimport { IContextMenuService, IContextViewService } from '../../../../platform/contextview/browser/contextView.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { IWorkspaceContextService, isStandaloneEditorWorkspace } from '../../../../platform/workspace/common/workspace.js';\n\nexport class ContextMenuController implements IEditorContribution {\n\n\tpublic static readonly ID = 'editor.contrib.contextmenu';\n\n\tpublic static get(editor: ICodeEditor): ContextMenuController | null {\n\t\treturn editor.getContribution<ContextMenuController>(ContextMenuController.ID);\n\t}\n\n\tprivate readonly _toDispose = new DisposableStore();\n\tprivate _contextMenuIsBeingShownCount: number = 0;\n\tprivate readonly _editor: ICodeEditor;\n\n\tconstructor(\n\t\teditor: ICodeEditor,\n\t\t@IContextMenuService private readonly _contextMenuService: IContextMenuService,\n\t\t@IContextViewService private readonly _contextViewService: IContextViewService,\n\t\t@IContextKeyService private readonly _contextKeyService: IContextKeyService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IMenuService private readonly _menuService: IMenuService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,\n\t) {\n\t\tthis._editor = editor;\n\n\t\tthis._toDispose.add(this._editor.onContextMenu((e: IEditorMouseEvent) => this._onContextMenu(e)));\n\t\tthis._toDispose.add(this._editor.onMouseWheel((e: IMouseWheelEvent) => {\n\t\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\t\tconst view = this._contextViewService.getContextViewElement();\n\t\t\t\tconst target = e.srcElement as HTMLElement;\n\n\t\t\t\t// Event triggers on shadow root host first\n\t\t\t\t// Check if the context view is under this host before hiding it #103169\n\t\t\t\tif (!(target.shadowRoot && dom.getShadowRoot(view) === target.shadowRoot)) {\n\t\t\t\t\tthis._contextViewService.hideContextView();\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tthis._toDispose.add(this._editor.onKeyDown((e: IKeyboardEvent) => {\n\t\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\t\treturn; // Context menu is turned off through configuration\n\t\t\t}\n\t\t\tif (e.keyCode === KeyCode.ContextMenu) {\n\t\t\t\t// Chrome is funny like that\n\t\t\t\te.preventDefault();\n\t\t\t\te.stopPropagation();\n\t\t\t\tthis.showContextMenu();\n\t\t\t}\n\t\t}));\n\t}\n\n\tprivate _onContextMenu(e: IEditorMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\tthis._editor.focus();\n\t\t\t// Ensure the cursor is at the position of the mouse click\n\t\t\tif (e.target.position && !this._editor.getSelection().containsPosition(e.target.position)) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\n\t\tif (e.target.type === MouseTargetType.OVERLAY_WIDGET) {\n\t\t\treturn; // allow native menu on widgets to support right click on input field for example in find\n\t\t}\n\t\tif (e.target.type === MouseTargetType.CONTENT_TEXT && e.target.detail.injectedText) {\n\t\t\treturn; // allow native menu on injected text\n\t\t}\n\n\t\te.event.preventDefault();\n\t\te.event.stopPropagation();\n\n\t\tif (e.target.type === MouseTargetType.SCROLLBAR) {\n\t\t\treturn this._showScrollbarContextMenu(e.event);\n\t\t}\n\n\t\tif (e.target.type !== MouseTargetType.CONTENT_TEXT && e.target.type !== MouseTargetType.CONTENT_EMPTY && e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\treturn; // only support mouse click into text or native context menu key for now\n\t\t}\n\n\t\t// Ensure the editor gets focus if it hasn't, so the right events are being sent to other contributions\n\t\tthis._editor.focus();\n\n\t\t// Ensure the cursor is at the position of the mouse click\n\t\tif (e.target.position) {\n\t\t\tlet hasSelectionAtPosition = false;\n\t\t\tfor (const selection of this._editor.getSelections()) {\n\t\t\t\tif (selection.containsPosition(e.target.position)) {\n\t\t\t\t\thasSelectionAtPosition = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!hasSelectionAtPosition) {\n\t\t\t\tthis._editor.setPosition(e.target.position);\n\t\t\t}\n\t\t}\n\n\t\t// Unless the user triggered the context menu through Shift+F10, use the mouse position as menu position\n\t\tlet anchor: IMouseEvent | null = null;\n\t\tif (e.target.type !== MouseTargetType.TEXTAREA) {\n\t\t\tanchor = e.event;\n\t\t}\n\n\t\t// Show the context menu\n\t\tthis.showContextMenu(anchor);\n\t}\n\n\tpublic showContextMenu(anchor?: IMouseEvent | null): void {\n\t\tif (!this._editor.getOption(EditorOption.contextmenu)) {\n\t\t\treturn; // Context menu is turned off through configuration\n\t\t}\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Find actions available for menu\n\t\tconst menuActions = this._getMenuActions(this._editor.getModel(),\n\t\t\tthis._editor.contextMenuId);\n\n\t\t// Show menu if we have actions to show\n\t\tif (menuActions.length > 0) {\n\t\t\tthis._doShowContextMenu(menuActions, anchor);\n\t\t}\n\t}\n\n\tprivate _getMenuActions(model: ITextModel, menuId: MenuId): IAction[] {\n\t\tconst result: IAction[] = [];\n\n\t\t// get menu groups\n\t\tconst groups = this._menuService.getMenuActions(menuId, this._contextKeyService, { arg: model.uri });\n\n\t\t// translate them into other actions\n\t\tfor (const group of groups) {\n\t\t\tconst [, actions] = group;\n\t\t\tlet addedItems = 0;\n\t\t\tfor (const action of actions) {\n\t\t\t\tif (action instanceof SubmenuItemAction) {\n\t\t\t\t\tconst subActions = this._getMenuActions(model, action.item.submenu);\n\t\t\t\t\tif (subActions.length > 0) {\n\t\t\t\t\t\tresult.push(new SubmenuAction(action.id, action.label, subActions));\n\t\t\t\t\t\taddedItems++;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tresult.push(action);\n\t\t\t\t\taddedItems++;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (addedItems) {\n\t\t\t\tresult.push(new Separator());\n\t\t\t}\n\t\t}\n\n\t\tif (result.length) {\n\t\t\tresult.pop(); // remove last separator\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate _doShowContextMenu(actions: IAction[], event: IMouseEvent | null = null): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet anchor: IMouseEvent | IAnchor | null = event;\n\t\tif (!anchor) {\n\t\t\t// Ensure selection is visible\n\t\t\tthis._editor.revealPosition(this._editor.getPosition(), ScrollType.Immediate);\n\n\t\t\tthis._editor.render();\n\t\t\tconst cursorCoords = this._editor.getScrolledVisiblePosition(this._editor.getPosition());\n\n\t\t\t// Translate to absolute editor position\n\t\t\tconst editorCoords = dom.getDomNodePagePosition(this._editor.getDomNode());\n\t\t\tconst posx = editorCoords.left + cursorCoords.left;\n\t\t\tconst posy = editorCoords.top + cursorCoords.top + cursorCoords.height;\n\n\t\t\tanchor = { x: posx, y: posy };\n\t\t}\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\n\t\t// Show menu\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getOverflowWidgetsDomNode() ?? this._editor.getDomNode() : undefined,\n\t\t\tuseWindowContainerForShadowRoot: useShadowDOM && this._editor.getOption(EditorOption.fixedOverflowWidgets),\n\n\t\t\tgetAnchor: () => anchor,\n\n\t\t\tgetActions: () => actions,\n\n\t\t\tgetActionViewItem: (action) => {\n\t\t\t\tconst keybinding = this._keybindingFor(action);\n\t\t\t\tif (keybinding) {\n\t\t\t\t\treturn new ActionViewItem(action, action, { label: true, keybinding: keybinding.getLabel(), isMenu: true });\n\t\t\t\t}\n\n\t\t\t\tconst customAction = action as IAction & { getActionViewItem?: () => ActionViewItem };\n\t\t\t\tif (typeof customAction.getActionViewItem === 'function') {\n\t\t\t\t\treturn customAction.getActionViewItem();\n\t\t\t\t}\n\n\t\t\t\treturn new ActionViewItem(action, action, { icon: true, label: true, isMenu: true });\n\t\t\t},\n\n\t\t\tgetKeyBinding: (action): ResolvedKeybinding | undefined => {\n\t\t\t\treturn this._keybindingFor(action);\n\t\t\t},\n\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _showScrollbarContextMenu(anchor: IMouseEvent): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (isStandaloneEditorWorkspace(this._workspaceContextService.getWorkspace())) {\n\t\t\t// can't update the configuration properly in the standalone editor\n\t\t\treturn;\n\t\t}\n\n\t\tconst minimapOptions = this._editor.getOption(EditorOption.minimap);\n\n\t\tlet lastId = 0;\n\t\tconst createAction = (opts: { label: string; enabled?: boolean; checked?: boolean; run: () => void }): IAction => {\n\t\t\treturn {\n\t\t\t\tid: `menu-action-${++lastId}`,\n\t\t\t\tlabel: opts.label,\n\t\t\t\ttooltip: '',\n\t\t\t\tclass: undefined,\n\t\t\t\tenabled: (typeof opts.enabled === 'undefined' ? true : opts.enabled),\n\t\t\t\tchecked: opts.checked,\n\t\t\t\trun: opts.run\n\t\t\t};\n\t\t};\n\t\tconst createSubmenuAction = (label: string, actions: IAction[]): SubmenuAction => {\n\t\t\treturn new SubmenuAction(\n\t\t\t\t`menu-action-${++lastId}`,\n\t\t\t\tlabel,\n\t\t\t\tactions,\n\t\t\t\tundefined\n\t\t\t);\n\t\t};\n\t\tconst createEnumAction = <T>(label: string, enabled: boolean, configName: string, configuredValue: T, options: { label: string; value: T }[]): IAction => {\n\t\t\tif (!enabled) {\n\t\t\t\treturn createAction({ label, enabled, run: () => { } });\n\t\t\t}\n\t\t\tconst createRunner = (value: T) => {\n\t\t\t\treturn () => {\n\t\t\t\t\tthis._configurationService.updateValue(configName, value);\n\t\t\t\t};\n\t\t\t};\n\t\t\tconst actions: IAction[] = [];\n\t\t\tfor (const option of options) {\n\t\t\t\tactions.push(createAction({\n\t\t\t\t\tlabel: option.label,\n\t\t\t\t\tchecked: configuredValue === option.value,\n\t\t\t\t\trun: createRunner(option.value)\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn createSubmenuAction(\n\t\t\t\tlabel,\n\t\t\t\tactions\n\t\t\t);\n\t\t};\n\n\t\tconst actions: IAction[] = [];\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.minimap', \"Minimap\"),\n\t\t\tchecked: minimapOptions.enabled,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.enabled`, !minimapOptions.enabled);\n\t\t\t}\n\t\t}));\n\t\tactions.push(new Separator());\n\t\tactions.push(createAction({\n\t\t\tlabel: nls.localize('context.minimap.renderCharacters', \"Render Characters\"),\n\t\t\tenabled: minimapOptions.enabled,\n\t\t\tchecked: minimapOptions.renderCharacters,\n\t\t\trun: () => {\n\t\t\t\tthis._configurationService.updateValue(`editor.minimap.renderCharacters`, !minimapOptions.renderCharacters);\n\t\t\t}\n\t\t}));\n\t\tactions.push(createEnumAction<'proportional' | 'fill' | 'fit'>(\n\t\t\tnls.localize('context.minimap.size', \"Vertical size\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.size',\n\t\t\tminimapOptions.size,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.size.proportional', \"Proportional\"),\n\t\t\t\tvalue: 'proportional'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fill', \"Fill\"),\n\t\t\t\tvalue: 'fill'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.size.fit', \"Fit\"),\n\t\t\t\tvalue: 'fit'\n\t\t\t}]\n\t\t));\n\t\tactions.push(createEnumAction<'always' | 'mouseover'>(\n\t\t\tnls.localize('context.minimap.slider', \"Slider\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.showSlider',\n\t\t\tminimapOptions.showSlider,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.slider.mouseover', \"Mouse Over\"),\n\t\t\t\tvalue: 'mouseover'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.slider.always', \"Always\"),\n\t\t\t\tvalue: 'always'\n\t\t\t}]\n\t\t));\n\t\tactions.push(createEnumAction<'right' | 'left'>(\n\t\t\tnls.localize('context.minimap.side', \"Side\"),\n\t\t\tminimapOptions.enabled,\n\t\t\t'editor.minimap.side',\n\t\t\tminimapOptions.side,\n\t\t\t[{\n\t\t\t\tlabel: nls.localize('context.minimap.side.right', \"Right\"),\n\t\t\t\tvalue: 'right'\n\t\t\t}, {\n\t\t\t\tlabel: nls.localize('context.minimap.side.left', \"Left\"),\n\t\t\t\tvalue: 'left'\n\t\t\t}]\n\t\t));\n\n\t\tconst useShadowDOM = this._editor.getOption(EditorOption.useShadowDOM) && !isIOS; // Do not use shadow dom on IOS #122035\n\t\tthis._contextMenuIsBeingShownCount++;\n\t\tthis._contextMenuService.showContextMenu({\n\t\t\tdomForShadowRoot: useShadowDOM ? this._editor.getDomNode() : undefined,\n\t\t\tuseWindowContainerForShadowRoot: useShadowDOM && this._editor.getOption(EditorOption.fixedOverflowWidgets),\n\t\t\tgetAnchor: () => anchor,\n\t\t\tgetActions: () => actions,\n\t\t\tonHide: (wasCancelled: boolean) => {\n\t\t\t\tthis._contextMenuIsBeingShownCount--;\n\t\t\t\tthis._editor.focus();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _keybindingFor(action: IAction): ResolvedKeybinding | undefined {\n\t\treturn this._keybindingService.lookupKeybinding(action.id);\n\t}\n\n\tpublic dispose(): void {\n\t\tif (this._contextMenuIsBeingShownCount > 0) {\n\t\t\tthis._contextViewService.hideContextView();\n\t\t}\n\n\t\tthis._toDispose.dispose();\n\t}\n}\n\nclass ShowContextMenu extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'editor.action.showContextMenu',\n\t\t\tlabel: nls.localize2('action.showContextMenu.label', \"Show Editor Context Menu\"),\n\t\t\tprecondition: undefined,\n\t\t\tkbOpts: {\n\t\t\t\tkbExpr: EditorContextKeys.textInputFocus,\n\t\t\t\tprimary: KeyMod.Shift | KeyCode.F10,\n\t\t\t\tweight: KeybindingWeight.EditorContrib\n\t\t\t}\n\t\t});\n\t}\n\n\tpublic run(accessor: ServicesAccessor, editor: ICodeEditor): void {\n\t\tContextMenuController.get(editor)?.showContextMenu();\n\t}\n}\n\nregisterEditorContribution(ContextMenuController.ID, ContextMenuController, EditorContributionInstantiation.BeforeFirstInteraction);\nregisterEditorAction(ShowContextMenu);\n"]}
@@ -100,7 +100,7 @@ export class CursorUndo extends EditorAction {
100
100
  constructor() {
101
101
  super({
102
102
  id: 'cursorUndo',
103
- label: nls.localize2(965, "Cursor Undo"),
103
+ label: nls.localize2(972, "Cursor Undo"),
104
104
  precondition: undefined,
105
105
  kbOpts: {
106
106
  kbExpr: EditorContextKeys.textInputFocus,
@@ -117,7 +117,7 @@ export class CursorRedo extends EditorAction {
117
117
  constructor() {
118
118
  super({
119
119
  id: 'cursorRedo',
120
- label: nls.localize2(966, "Cursor Redo"),
120
+ label: nls.localize2(973, "Cursor Redo"),
121
121
  precondition: undefined
122
122
  });
123
123
  }
@@ -51,7 +51,7 @@ registerEditorAction(class PasteAsAction extends EditorAction {
51
51
  properties: {
52
52
  kind: {
53
53
  type: 'string',
54
- description: nls.localize(967, "The kind of the paste edit to try pasting with.\nIf there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message."),
54
+ description: nls.localize(974, "The kind of the paste edit to try pasting with.\nIf there are multiple edits for this kind, the editor will show a picker. If there are no edits of this kind, the editor will show an error message."),
55
55
  }
56
56
  },
57
57
  },
@@ -61,7 +61,7 @@ registerEditorAction(class PasteAsAction extends EditorAction {
61
61
  properties: {
62
62
  preferences: {
63
63
  type: 'array',
64
- description: nls.localize(968, "List of preferred paste edit kind to try applying.\nThe first edit matching the preferences will be applied."),
64
+ description: nls.localize(975, "List of preferred paste edit kind to try applying.\nThe first edit matching the preferences will be applied."),
65
65
  items: { type: 'string' }
66
66
  }
67
67
  },
@@ -71,7 +71,7 @@ registerEditorAction(class PasteAsAction extends EditorAction {
71
71
  constructor() {
72
72
  super({
73
73
  id: pasteAsCommandId,
74
- label: nls.localize2(969, "Paste As..."),
74
+ label: nls.localize2(976, "Paste As..."),
75
75
  precondition: EditorContextKeys.writable,
76
76
  metadata: {
77
77
  description: 'Paste as',
@@ -100,7 +100,7 @@ registerEditorAction(class extends EditorAction {
100
100
  constructor() {
101
101
  super({
102
102
  id: 'editor.action.pasteAsText',
103
- label: nls.localize2(970, "Paste as Text"),
103
+ label: nls.localize2(977, "Paste as Text"),
104
104
  precondition: EditorContextKeys.writable,
105
105
  canTriggerInlineEdits: true,
106
106
  });
@@ -39,10 +39,11 @@ import { InlineProgressManager } from '../../inlineProgress/browser/inlineProgre
39
39
  import { MessageController } from '../../message/browser/messageController.js';
40
40
  import { DefaultTextPasteOrDropEditProvider } from './defaultProviders.js';
41
41
  import { createCombinedWorkspaceEdit, sortEditsByYieldTo } from './edit.js';
42
+ import { PasteEditSession } from './pasteEditSession.js';
42
43
  import { PostEditWidgetManager } from './postEditWidget.js';
43
44
  export const changePasteTypeCommandId = 'editor.changePasteType';
44
45
  export const pasteAsPreferenceConfig = 'editor.pasteAs.preferences';
45
- export const pasteWidgetVisibleCtx = new RawContextKey('pasteWidgetVisible', false, localize(971, "Whether the paste widget is showing"));
46
+ export const pasteWidgetVisibleCtx = new RawContextKey('pasteWidgetVisible', false, localize(978, "Whether the paste widget is showing"));
46
47
  const vscodeClipboardMime = 'application/vnd.code.copymetadata';
47
48
  let CopyPasteController = class CopyPasteController extends Disposable {
48
49
  static { CopyPasteController_1 = this; }
@@ -65,7 +66,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
65
66
  this._register(editor.onWillCut(e => this.handleCopy(e)));
66
67
  this._register(editor.onWillPaste(e => this.handlePaste(e)));
67
68
  this._pasteProgressManager = this._register(new InlineProgressManager('pasteIntoEditor', editor, instantiationService));
68
- this._postPasteWidgetManager = this._register(instantiationService.createInstance(PostEditWidgetManager, 'pasteIntoEditor', editor, pasteWidgetVisibleCtx, { id: changePasteTypeCommandId, label: localize(972, "Show paste options...") }, () => CopyPasteController_1._configureDefaultAction ? [CopyPasteController_1._configureDefaultAction] : []));
69
+ this._postPasteWidgetManager = this._register(instantiationService.createInstance(PostEditWidgetManager, 'pasteIntoEditor', editor, pasteWidgetVisibleCtx, { id: changePasteTypeCommandId, label: localize(979, "Show paste options...") }, () => CopyPasteController_1._configureDefaultAction ? [CopyPasteController_1._configureDefaultAction] : []));
69
70
  }
70
71
  changePasteType() {
71
72
  this._postPasteWidgetManager.tryShowSelector();
@@ -86,7 +87,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
86
87
  this._postPasteWidgetManager.clear();
87
88
  }
88
89
  isPasteAsEnabled() {
89
- return this._editor.getOption(97 /* EditorOption.pasteAs */).enabled;
90
+ return this._editor.getOption(99 /* EditorOption.pasteAs */).enabled;
90
91
  }
91
92
  async finishedPaste() {
92
93
  await this._currentPasteOperation;
@@ -112,6 +113,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
112
113
  const defaultPastePayload = {
113
114
  multicursorText: e.dataToCopy.multicursorText ?? null,
114
115
  pasteOnNewLine: e.dataToCopy.isFromEmptySelection,
116
+ isBlock: e.dataToCopy.isBlock,
115
117
  mode: null
116
118
  };
117
119
  const providers = this._languageFeaturesService.documentPasteEditProvider
@@ -161,7 +163,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
161
163
  if (!selections?.length || !model) {
162
164
  return;
163
165
  }
164
- if (this._editor.getOption(104 /* EditorOption.readOnly */) // Never enabled if editor is readonly.
166
+ if (this._editor.getOption(106 /* EditorOption.readOnly */) // Never enabled if editor is readonly.
165
167
  || (!this.isPasteAsEnabled() && !this._pasteAsActionContext) // Or feature disabled (but still enable if paste was explicitly requested)
166
168
  ) {
167
169
  return;
@@ -214,9 +216,9 @@ let CopyPasteController = class CopyPasteController extends Disposable {
214
216
  const kindLabel = 'only' in preference
215
217
  ? preference.only.value
216
218
  : 'preferences' in preference
217
- ? (preference.preferences.length ? preference.preferences.map(preference => preference.value).join(', ') : localize(973, "empty"))
219
+ ? (preference.preferences.length ? preference.preferences.map(preference => preference.value).join(', ') : localize(980, "empty"))
218
220
  : preference.providerId;
219
- MessageController.get(this._editor)?.showMessage(localize(974, "No paste edits for '{0}' found", kindLabel), selections[0].getStartPosition());
221
+ MessageController.get(this._editor)?.showMessage(localize(981, "No paste edits for '{0}' found", kindLabel), selections[0].getStartPosition());
220
222
  }
221
223
  doPasteInline(allProviders, selections, dataTransfer, metadata, clipboardEvent) {
222
224
  this._logService.trace('CopyPasteController#doPasteInline');
@@ -233,7 +235,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
233
235
  const model = editor.getModel();
234
236
  const disposables = new DisposableStore();
235
237
  const cts = disposables.add(new CancellationTokenSource(pToken));
236
- disposables.add(editorStateCts.token.onCancellationRequested(() => cts.cancel()));
238
+ const editorStateListener = disposables.add(editorStateCts.token.onCancellationRequested(() => cts.cancel()));
237
239
  const token = cts.token;
238
240
  try {
239
241
  await this.mergeInDataFromCopy(allProviders, dataTransfer, metadata, token);
@@ -249,8 +251,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
249
251
  const context = {
250
252
  triggerKind: DocumentPasteTriggerKind.Automatic,
251
253
  };
252
- const editSession = await this.getPasteEdits(supportedProviders, dataTransfer, model, selections, context, token);
253
- disposables.add(editSession);
254
+ const editSession = disposables.add(await this.getPasteEdits(supportedProviders, dataTransfer, model, selections, context, token));
254
255
  if (token.isCancellationRequested) {
255
256
  return;
256
257
  }
@@ -259,14 +260,16 @@ let CopyPasteController = class CopyPasteController extends Disposable {
259
260
  return this.applyDefaultPasteHandler(dataTransfer, metadata, token, clipboardEvent);
260
261
  }
261
262
  if (editSession.edits.length) {
262
- const canShowWidget = editor.getOption(97 /* EditorOption.pasteAs */).showPasteSelector === 'afterPaste';
263
- return this._postPasteWidgetManager.applyEditAndShowIfNeeded(selections, { activeEditIndex: this.getInitialActiveEditIndex(model, editSession.edits), allEdits: editSession.edits }, canShowWidget, async (edit, resolveToken) => {
263
+ const canShowWidget = editor.getOption(99 /* EditorOption.pasteAs */).showPasteSelector === 'afterPaste';
264
+ // Applying the paste changes editor state itself. The widget manager handles cancellation during resolve.
265
+ disposables.delete(editorStateListener);
266
+ return await this._postPasteWidgetManager.applyEditAndShowIfNeeded(selections, { activeEditIndex: this.getInitialActiveEditIndex(model, editSession.edits), allEdits: editSession.edits }, canShowWidget, async (edit, resolveToken) => {
264
267
  if (!edit.provider.resolveDocumentPasteEdit) {
265
268
  return edit;
266
269
  }
267
270
  const resolveP = edit.provider.resolveDocumentPasteEdit(edit, resolveToken);
268
271
  const showP = new DeferredPromise();
269
- const resolved = await this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(975, "Resolving paste edit for '{0}'. Click to cancel", edit.title), raceCancellation(Promise.race([showP.p, resolveP]), resolveToken), {
272
+ const resolved = await this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(982, "Resolving paste edit for '{0}'. Click to cancel", edit.title), raceCancellation(Promise.race([showP.p, resolveP]), resolveToken), {
270
273
  cancel: () => showP.cancel()
271
274
  }, 0);
272
275
  if (resolved) {
@@ -274,7 +277,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
274
277
  edit.additionalEdit = resolved.additionalEdit;
275
278
  }
276
279
  return edit;
277
- }, token);
280
+ }, token, editSession);
278
281
  }
279
282
  await this.applyDefaultPasteHandler(dataTransfer, metadata, token, clipboardEvent);
280
283
  }
@@ -285,7 +288,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
285
288
  }
286
289
  }
287
290
  });
288
- this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(976, "Running paste handlers. Click to cancel and do basic paste"), p, {
291
+ this._pasteProgressManager.showWhile(selections[0].getEndPosition(), localize(983, "Running paste handlers. Click to cancel and do basic paste"), p, {
289
292
  cancel: async () => {
290
293
  p.cancel();
291
294
  if (editorStateCts.token.isCancellationRequested) {
@@ -323,28 +326,26 @@ let CopyPasteController = class CopyPasteController extends Disposable {
323
326
  triggerKind: DocumentPasteTriggerKind.PasteAs,
324
327
  only: preference && 'only' in preference ? preference.only : undefined,
325
328
  };
326
- let editSession = disposables.add(await this.getPasteEdits(supportedProviders, dataTransfer, model, selections, context, tokenSource.token));
329
+ const editSession = disposables.add(await this.getPasteEdits(supportedProviders, dataTransfer, model, selections, context, tokenSource.token));
327
330
  if (tokenSource.token.isCancellationRequested) {
328
331
  return;
329
332
  }
330
333
  // Filter out any edits that don't match the requested kind
334
+ let edits = editSession.edits;
331
335
  if (preference) {
332
- editSession = {
333
- edits: editSession.edits.filter(edit => {
334
- if ('only' in preference) {
335
- return preference.only.contains(edit.kind);
336
- }
337
- else if ('preferences' in preference) {
338
- return preference.preferences.some(preference => preference.contains(edit.kind));
339
- }
340
- else {
341
- return preference.providerId === edit.provider.id;
342
- }
343
- }),
344
- dispose: editSession.dispose
345
- };
336
+ edits = edits.filter(edit => {
337
+ if ('only' in preference) {
338
+ return preference.only.contains(edit.kind);
339
+ }
340
+ else if ('preferences' in preference) {
341
+ return preference.preferences.some(preference => preference.contains(edit.kind));
342
+ }
343
+ else {
344
+ return preference.providerId === edit.provider.id;
345
+ }
346
+ });
346
347
  }
347
- if (!editSession.edits.length) {
348
+ if (!edits.length) {
348
349
  if (preference) {
349
350
  this.showPasteAsNoEditMessage(selections, preference);
350
351
  }
@@ -352,16 +353,16 @@ let CopyPasteController = class CopyPasteController extends Disposable {
352
353
  }
353
354
  let pickedEdit;
354
355
  if (preference) {
355
- pickedEdit = editSession.edits.at(0);
356
+ pickedEdit = edits.at(0);
356
357
  }
357
358
  else {
358
359
  const configureDefaultItem = {
359
360
  id: 'editor.pasteAs.default',
360
- label: localize(977, "Configure default paste action"),
361
+ label: localize(984, "Configure default paste action"),
361
362
  edit: undefined,
362
363
  };
363
364
  const selected = await this._quickInputService.pick([
364
- ...editSession.edits.map((edit) => ({
365
+ ...edits.map((edit) => ({
365
366
  label: edit.title,
366
367
  description: edit.kind?.value,
367
368
  edit,
@@ -374,7 +375,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
374
375
  }
375
376
  ] : [])
376
377
  ], {
377
- placeHolder: localize(978, "Select Paste Action"),
378
+ placeHolder: localize(985, "Select Paste Action"),
378
379
  });
379
380
  if (selected === configureDefaultItem) {
380
381
  CopyPasteController_1._configureDefaultAction?.run();
@@ -397,7 +398,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
397
398
  });
398
399
  this._progressService.withProgress({
399
400
  location: 10 /* ProgressLocation.Window */,
400
- title: localize(979, "Running paste handlers"),
401
+ title: localize(986, "Running paste handlers"),
401
402
  }, () => p);
402
403
  }
403
404
  setCopyMetadata(clipboardData, metadata) {
@@ -422,6 +423,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
422
423
  mode: e.metadata.mode,
423
424
  multicursorText: e.metadata.multicursorText ?? null,
424
425
  pasteOnNewLine: !!e.metadata.isFromEmptySelection,
426
+ isBlock: !!e.metadata.isBlock,
425
427
  },
426
428
  };
427
429
  }
@@ -478,10 +480,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
478
480
  const edits = coalesce(results ?? []).flat().filter(edit => {
479
481
  return !context.only || context.only.contains(edit.kind);
480
482
  });
481
- return {
482
- edits: sortEditsByYieldTo(edits),
483
- dispose: () => disposables.dispose()
484
- };
483
+ return new PasteEditSession(sortEditsByYieldTo(edits), disposables);
485
484
  }
486
485
  async applyDefaultPasteHandler(dataTransfer, metadata, token, clipboardEvent) {
487
486
  const textDataTransfer = dataTransfer.get(Mimes.text) ?? dataTransfer.get('text');
@@ -494,6 +493,7 @@ let CopyPasteController = class CopyPasteController extends Disposable {
494
493
  text,
495
494
  pasteOnNewLine: metadata?.defaultPastePayload.pasteOnNewLine ?? false,
496
495
  multicursorText: metadata?.defaultPastePayload.multicursorText ?? null,
496
+ isBlock: !!metadata?.defaultPastePayload.isBlock,
497
497
  mode: null,
498
498
  };
499
499
  this._logService.trace('CopyPasteController#applyDefaultPasteHandler for id : ', metadata?.id);