monaco-editor-core 0.56.0-dev-20251125 → 0.56.0-dev-20251218

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 (410) 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 +34 -6
  18. package/esm/vs/base/browser/dom.js +1 -4
  19. package/esm/vs/base/browser/dom.js.map +1 -1
  20. package/esm/vs/base/browser/markdownRenderer.js +25 -11
  21. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  22. package/esm/vs/base/browser/ui/actionbar/actionViewItems.js.map +1 -1
  23. package/esm/vs/base/browser/ui/button/button.js +15 -8
  24. package/esm/vs/base/browser/ui/button/button.js.map +1 -1
  25. package/esm/vs/base/browser/ui/codicons/codicon/codicon-modifiers.css +3 -8
  26. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  27. package/esm/vs/base/browser/ui/findinput/findInput.js +6 -1
  28. package/esm/vs/base/browser/ui/findinput/findInput.js.map +1 -1
  29. package/esm/vs/base/browser/ui/inputbox/inputBox.js +17 -1
  30. package/esm/vs/base/browser/ui/inputbox/inputBox.js.map +1 -1
  31. package/esm/vs/base/browser/ui/list/list.css +1 -0
  32. package/esm/vs/base/browser/ui/toggle/toggle.js +78 -6
  33. package/esm/vs/base/browser/ui/toggle/toggle.js.map +1 -1
  34. package/esm/vs/base/browser/ui/toolbar/toolbar.js +3 -0
  35. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  36. package/esm/vs/base/common/codiconsLibrary.js +11 -2
  37. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  38. package/esm/vs/base/common/defaultAccount.js +6 -0
  39. package/esm/vs/base/common/defaultAccount.js.map +1 -0
  40. package/esm/vs/base/common/equals.js +73 -24
  41. package/esm/vs/base/common/equals.js.map +1 -1
  42. package/esm/vs/base/common/event.js +14 -4
  43. package/esm/vs/base/common/event.js.map +1 -1
  44. package/esm/vs/base/common/iterator.js.map +1 -1
  45. package/esm/vs/base/common/keybindings.js +0 -8
  46. package/esm/vs/base/common/keybindings.js.map +1 -1
  47. package/esm/vs/base/common/lifecycle.js +2 -2
  48. package/esm/vs/base/common/lifecycle.js.map +1 -1
  49. package/esm/vs/base/common/marshallingIds.js.map +1 -1
  50. package/esm/vs/base/common/observableInternal/index.js +1 -1
  51. package/esm/vs/base/common/observableInternal/index.js.map +1 -1
  52. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js +1 -1
  53. package/esm/vs/base/common/observableInternal/observables/observableFromEvent.js.map +1 -1
  54. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js +16 -0
  55. package/esm/vs/base/common/observableInternal/reactions/autorunImpl.js.map +1 -1
  56. package/esm/vs/base/common/observableInternal/utils/utils.js +11 -0
  57. package/esm/vs/base/common/observableInternal/utils/utils.js.map +1 -1
  58. package/esm/vs/base/common/product.js.map +1 -1
  59. package/esm/vs/base/common/strings.js +3 -1
  60. package/esm/vs/base/common/strings.js.map +1 -1
  61. package/esm/vs/editor/browser/controller/dragScrolling.js +2 -1
  62. package/esm/vs/editor/browser/controller/dragScrolling.js.map +1 -1
  63. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js +73 -2
  64. package/esm/vs/editor/browser/controller/editContext/clipboardUtils.js.map +1 -1
  65. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +7 -51
  66. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
  67. package/esm/vs/editor/browser/controller/editContext/screenReaderUtils.js.map +1 -1
  68. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +7 -20
  69. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js.map +1 -1
  70. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +14 -44
  71. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js.map +1 -1
  72. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextRegistry.js +19 -0
  73. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextRegistry.js.map +1 -0
  74. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js +14 -1
  75. package/esm/vs/editor/browser/controller/editContext/textArea/textAreaEditContextState.js.map +1 -1
  76. package/esm/vs/editor/browser/controller/mouseHandler.js +5 -2
  77. package/esm/vs/editor/browser/controller/mouseHandler.js.map +1 -1
  78. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  79. package/esm/vs/editor/browser/observableCodeEditor.js +32 -15
  80. package/esm/vs/editor/browser/observableCodeEditor.js.map +1 -1
  81. package/esm/vs/editor/browser/services/editorWorkerService.js +6 -2
  82. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  83. package/esm/vs/editor/browser/view.js +11 -2
  84. package/esm/vs/editor/browser/view.js.map +1 -1
  85. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +5 -2
  86. package/esm/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js.map +1 -1
  87. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +10 -0
  88. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  89. package/esm/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js.map +1 -1
  90. package/esm/vs/editor/browser/widget/multiDiffEditor/style.css +48 -0
  91. package/esm/vs/editor/common/config/editorConfigurationSchema.js +49 -47
  92. package/esm/vs/editor/common/config/editorConfigurationSchema.js.map +1 -1
  93. package/esm/vs/editor/common/config/editorOptions.js +410 -410
  94. package/esm/vs/editor/common/config/fontInfo.js +1 -1
  95. package/esm/vs/editor/common/config/fontInfo.js.map +1 -1
  96. package/esm/vs/editor/common/core/editorColorRegistry.js +69 -69
  97. package/esm/vs/editor/common/core/edits/edit.js +19 -0
  98. package/esm/vs/editor/common/core/edits/edit.js.map +1 -1
  99. package/esm/vs/editor/common/core/edits/stringEdit.js +13 -0
  100. package/esm/vs/editor/common/core/edits/stringEdit.js.map +1 -1
  101. package/esm/vs/editor/common/core/edits/textEdit.js +0 -3
  102. package/esm/vs/editor/common/core/edits/textEdit.js.map +1 -1
  103. package/esm/vs/editor/common/core/text/positionToOffsetImpl.js +24 -10
  104. package/esm/vs/editor/common/core/text/positionToOffsetImpl.js.map +1 -1
  105. package/esm/vs/editor/common/cursor/cursorMoveCommands.js +4 -4
  106. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  107. package/esm/vs/editor/common/cursor/cursorWordOperations.js +6 -3
  108. package/esm/vs/editor/common/cursor/cursorWordOperations.js.map +1 -1
  109. package/esm/vs/editor/common/editorContextKeys.js +47 -47
  110. package/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js +2 -2
  111. package/esm/vs/editor/common/languages/defaultDocumentColorsComputer.js.map +1 -1
  112. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  113. package/esm/vs/editor/common/languages/nullTokenize.js +1 -1
  114. package/esm/vs/editor/common/languages/nullTokenize.js.map +1 -1
  115. package/esm/vs/editor/common/languages/supports/tokenization.js +3 -0
  116. package/esm/vs/editor/common/languages/supports/tokenization.js.map +1 -1
  117. package/esm/vs/editor/common/languages.js +58 -57
  118. package/esm/vs/editor/common/languages.js.map +1 -1
  119. package/esm/vs/editor/common/model/decorationProvider.js +21 -1
  120. package/esm/vs/editor/common/model/decorationProvider.js.map +1 -1
  121. package/esm/vs/editor/common/model/editStack.js +1 -1
  122. package/esm/vs/editor/common/model/textModel.js +49 -30
  123. package/esm/vs/editor/common/model/textModel.js.map +1 -1
  124. package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +6 -3
  125. package/esm/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js.map +1 -1
  126. package/esm/vs/editor/common/model/tokens/annotations.js +177 -0
  127. package/esm/vs/editor/common/model/tokens/annotations.js.map +1 -0
  128. package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js +131 -0
  129. package/esm/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js.map +1 -0
  130. package/esm/vs/editor/common/model/tokens/tokenizationTextModelPart.js +9 -0
  131. package/esm/vs/editor/common/model/tokens/tokenizationTextModelPart.js.map +1 -1
  132. package/esm/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js +9 -0
  133. package/esm/vs/editor/common/model/tokens/tokenizerSyntaxTokenBackend.js.map +1 -1
  134. package/esm/vs/editor/common/standaloneStrings.js +11 -11
  135. package/esm/vs/editor/common/textModelEditSource.js +2 -0
  136. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  137. package/esm/vs/editor/common/textModelEvents.js.map +1 -1
  138. package/esm/vs/editor/common/viewLayout/lineDecorations.js.map +1 -1
  139. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +3 -3
  140. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js.map +1 -1
  141. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  142. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  143. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  144. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  145. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +71 -53
  146. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js.map +1 -1
  147. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  148. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  149. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  150. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  151. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  152. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  153. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  154. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  155. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  156. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  157. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  158. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  159. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  160. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  161. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  162. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +23 -10
  163. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js.map +1 -1
  164. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  165. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  166. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  167. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  168. package/esm/vs/editor/contrib/find/browser/findController.js +16 -16
  169. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  170. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +1 -1
  171. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  172. package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
  173. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  174. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  175. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  176. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  177. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  178. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  179. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  180. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  181. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  182. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  183. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  184. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  185. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  186. package/esm/vs/editor/contrib/hover/browser/hover.css +1 -1
  187. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  188. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  189. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  190. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +10 -10
  191. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js.map +1 -1
  192. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  193. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  194. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  195. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +1 -0
  196. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsController.js.map +1 -1
  197. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  198. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js +1 -0
  199. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commandIds.js.map +1 -1
  200. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +50 -21
  201. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js.map +1 -1
  202. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -12
  203. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js.map +1 -1
  204. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +7 -1
  205. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
  206. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  207. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  208. package/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js +2 -1
  209. package/esm/vs/editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js.map +1 -1
  210. package/esm/vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.js +8 -0
  211. package/esm/vs/editor/contrib/inlineCompletions/browser/model/InlineSuggestAlternativeAction.js.map +1 -0
  212. package/esm/vs/editor/contrib/inlineCompletions/browser/model/editKind.js +198 -0
  213. package/esm/vs/editor/contrib/inlineCompletions/browser/model/editKind.js.map +1 -0
  214. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionIsVisible.js +40 -0
  215. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionIsVisible.js.map +1 -0
  216. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +128 -70
  217. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  218. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +59 -11
  219. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js.map +1 -1
  220. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +152 -95
  221. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
  222. package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +113 -54
  223. package/esm/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js.map +1 -1
  224. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +317 -75
  225. package/esm/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js.map +1 -1
  226. package/esm/vs/editor/contrib/inlineCompletions/browser/telemetry.js.map +1 -1
  227. package/esm/vs/editor/contrib/inlineCompletions/browser/utils.js +20 -0
  228. package/esm/vs/editor/contrib/inlineCompletions/browser/utils.js.map +1 -1
  229. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +59 -42
  230. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  231. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +29 -8
  232. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js.map +1 -1
  233. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +78 -46
  234. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  235. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js +9 -4
  236. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.js.map +1 -1
  237. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +11 -4
  238. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
  239. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +81 -41
  240. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  241. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js +48 -0
  242. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js.map +1 -1
  243. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +18 -15
  244. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
  245. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js +3 -4
  246. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCollapsedView.js.map +1 -1
  247. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js +6 -7
  248. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsCustomView.js.map +1 -1
  249. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js +4 -5
  250. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsDeletionView.js.map +1 -1
  251. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +4 -3
  252. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js.map +1 -1
  253. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js +8 -8
  254. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsLineReplacementView.js.map +1 -1
  255. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +9 -7
  256. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js.map +1 -1
  257. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +203 -41
  258. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js.map +1 -1
  259. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js +189 -0
  260. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/jumpToView.js.map +1 -0
  261. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +85 -102
  262. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -1
  263. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +75 -32
  264. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js.map +1 -1
  265. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js +121 -0
  266. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistnaceWidgetPlacement.js.map +1 -0
  267. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js +2 -1
  268. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/originalEditorInlineDiffView.js.map +1 -1
  269. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +22 -20
  270. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js.map +1 -1
  271. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +15 -5
  272. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
  273. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +39 -6
  274. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +10 -5
  275. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js.map +1 -1
  276. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  277. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  278. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -32
  279. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
  280. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  281. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  282. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  283. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  284. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  285. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  286. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  287. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  288. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +25 -27
  289. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
  290. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  291. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  292. package/esm/vs/editor/contrib/rename/browser/rename.js +19 -15
  293. package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
  294. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  295. package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +3 -2
  296. package/esm/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js.map +1 -1
  297. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  298. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  299. package/esm/vs/editor/contrib/snippet/browser/snippetParser.js +33 -0
  300. package/esm/vs/editor/contrib/snippet/browser/snippetParser.js.map +1 -1
  301. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  302. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  303. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +12 -4
  304. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js.map +1 -1
  305. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -0
  306. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
  307. package/esm/vs/editor/contrib/suggest/browser/suggest.js +9 -8
  308. package/esm/vs/editor/contrib/suggest/browser/suggest.js.map +1 -1
  309. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +39 -28
  310. package/esm/vs/editor/contrib/suggest/browser/suggestController.js.map +1 -1
  311. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js +1 -0
  312. package/esm/vs/editor/contrib/suggest/browser/suggestInlineCompletions.js.map +1 -1
  313. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +22 -18
  314. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js.map +1 -1
  315. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +28 -6
  316. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js.map +1 -1
  317. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  318. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  319. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  320. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  321. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  322. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  323. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  324. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  325. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  326. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  327. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +19 -2
  328. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js.map +1 -1
  329. package/esm/vs/editor/editor.api.d.ts +34 -3
  330. package/esm/vs/editor/standalone/browser/standaloneLanguages.js +2 -2
  331. package/esm/vs/editor/standalone/browser/standaloneLanguages.js.map +1 -1
  332. package/esm/vs/editor/standalone/browser/standaloneServices.js +11 -1
  333. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  334. package/esm/vs/editor/standalone/common/monarch/monarchLexer.js +1 -1
  335. package/esm/vs/editor/standalone/common/monarch/monarchLexer.js.map +1 -1
  336. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  337. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  338. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  339. package/esm/vs/platform/actionWidget/browser/actionWidget.css +11 -8
  340. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  341. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +5 -5
  342. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  343. package/esm/vs/platform/actions/common/actions.js +11 -5
  344. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  345. package/esm/vs/platform/actions/common/menuService.js +2 -2
  346. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  347. package/esm/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  348. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  349. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  350. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  351. package/esm/vs/platform/{product/common/productService.js → defaultAccount/common/defaultAccount.js} +2 -2
  352. package/esm/vs/platform/defaultAccount/common/defaultAccount.js.map +1 -0
  353. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  354. package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
  355. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  356. package/esm/vs/platform/instantiation/common/instantiation.js.map +1 -1
  357. package/esm/vs/platform/instantiation/common/instantiationService.js +1 -8
  358. package/esm/vs/platform/instantiation/common/instantiationService.js.map +1 -1
  359. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  360. package/esm/vs/platform/list/browser/listService.js +27 -27
  361. package/esm/vs/platform/log/common/log.js +1 -1
  362. package/esm/vs/platform/log/common/log.js.map +1 -1
  363. package/esm/vs/platform/markers/common/markerService.js +6 -6
  364. package/esm/vs/platform/markers/common/markerService.js.map +1 -1
  365. package/esm/vs/platform/markers/common/markers.js +6 -6
  366. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +8 -8
  367. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  368. package/esm/vs/platform/quickinput/browser/media/quickInput.css +45 -7
  369. package/esm/vs/platform/quickinput/browser/quickInput.js +51 -15
  370. package/esm/vs/platform/quickinput/browser/quickInput.js.map +1 -1
  371. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  372. package/esm/vs/platform/quickinput/browser/quickInputBox.js +13 -1
  373. package/esm/vs/platform/quickinput/browser/quickInputBox.js.map +1 -1
  374. package/esm/vs/platform/quickinput/browser/quickInputController.js +22 -12
  375. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  376. package/esm/vs/platform/quickinput/browser/quickInputList.js +17 -12
  377. package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
  378. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +36 -8
  379. package/esm/vs/platform/quickinput/browser/quickInputUtils.js.map +1 -1
  380. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  381. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +3 -3
  382. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
  383. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +8 -4
  384. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js.map +1 -1
  385. package/esm/vs/platform/quickinput/common/quickInput.js.map +1 -1
  386. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  387. package/esm/vs/platform/theme/common/colors/baseColors.js +18 -17
  388. package/esm/vs/platform/theme/common/colors/baseColors.js.map +1 -1
  389. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  390. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  391. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  392. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  393. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  394. package/esm/vs/platform/theme/common/colors/minimapColors.js +13 -13
  395. package/esm/vs/platform/theme/common/colors/minimapColors.js.map +1 -1
  396. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  397. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  398. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  399. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  400. package/esm/vs/platform/undoRedo/common/undoRedoService.js +21 -21
  401. package/esm/vs/platform/undoRedo/common/undoRedoService.js.map +1 -1
  402. package/esm/vs/platform/window/common/window.js +1 -1
  403. package/esm/vs/platform/window/common/window.js.map +1 -1
  404. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  405. package/monaco.d.ts +34 -3
  406. package/package.json +2 -2
  407. package/version.txt +1 -1
  408. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js +0 -16
  409. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js.map +0 -1
  410. package/esm/vs/platform/product/common/productService.js.map +0 -1
@@ -21,7 +21,7 @@ class DebugEditorGpuRendererAction extends EditorAction {
21
21
  constructor() {
22
22
  super({
23
23
  id: 'editor.action.debugEditorGpuRenderer',
24
- label: localize2(1107, "Developer: Debug Editor GPU Renderer"),
24
+ label: localize2(1108, "Developer: Debug Editor GPU Renderer"),
25
25
  // TODO: Why doesn't `ContextKeyExpr.equals('config:editor.experimentalGpuAcceleration', 'on')` work?
26
26
  precondition: ContextKeyExpr.true(),
27
27
  });
@@ -31,15 +31,15 @@ class DebugEditorGpuRendererAction extends EditorAction {
31
31
  const quickInputService = accessor.get(IQuickInputService);
32
32
  const choice = await quickInputService.pick([
33
33
  {
34
- label: localize(1104, "Log Texture Atlas Stats"),
34
+ label: localize(1105, "Log Texture Atlas Stats"),
35
35
  id: 'logTextureAtlasStats',
36
36
  },
37
37
  {
38
- label: localize(1105, "Save Texture Atlas"),
38
+ label: localize(1106, "Save Texture Atlas"),
39
39
  id: 'saveTextureAtlas',
40
40
  },
41
41
  {
42
- label: localize(1106, "Draw Glyph"),
42
+ label: localize(1107, "Draw Glyph"),
43
43
  id: 'drawGlyph',
44
44
  },
45
45
  ], { canPickMany: false });
@@ -15,7 +15,7 @@
15
15
 
16
16
  .monaco-editor .monaco-resizable-hover > .monaco-hover {
17
17
  border: none;
18
- border-radius: none;
18
+ border-radius: unset;
19
19
  }
20
20
 
21
21
  .monaco-editor .monaco-hover {
@@ -15,7 +15,7 @@ export const PAGE_DOWN_HOVER_ACTION_ID = 'editor.action.pageDownHover';
15
15
  export const GO_TO_TOP_HOVER_ACTION_ID = 'editor.action.goToTopHover';
16
16
  export const GO_TO_BOTTOM_HOVER_ACTION_ID = 'editor.action.goToBottomHover';
17
17
  export const INCREASE_HOVER_VERBOSITY_ACTION_ID = 'editor.action.increaseHoverVerbosityLevel';
18
- export const INCREASE_HOVER_VERBOSITY_ACTION_LABEL = nls.localize(1108, "Increase Hover Verbosity Level");
18
+ export const INCREASE_HOVER_VERBOSITY_ACTION_LABEL = nls.localize(1109, "Increase Hover Verbosity Level");
19
19
  export const DECREASE_HOVER_VERBOSITY_ACTION_ID = 'editor.action.decreaseHoverVerbosityLevel';
20
- export const DECREASE_HOVER_VERBOSITY_ACTION_LABEL = nls.localize(1109, "Decrease Hover Verbosity Level");
20
+ export const DECREASE_HOVER_VERBOSITY_ACTION_LABEL = nls.localize(1110, "Decrease Hover Verbosity Level");
21
21
  //# sourceMappingURL=hoverActionIds.js.map
@@ -22,7 +22,7 @@ export class ShowOrFocusHoverAction extends EditorAction {
22
22
  constructor() {
23
23
  super({
24
24
  id: SHOW_OR_FOCUS_HOVER_ACTION_ID,
25
- label: nls.localize2(1113, "Show or Focus Hover"),
25
+ label: nls.localize2(1114, "Show or Focus Hover"),
26
26
 
27
27
 
28
28
 
@@ -31,7 +31,7 @@ export class ShowOrFocusHoverAction extends EditorAction {
31
31
 
32
32
 
33
33
  metadata: {
34
- description: nls.localize2(1114, 'Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position.'),
34
+ description: nls.localize2(1115, 'Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position.'),
35
35
  args: [{
36
36
  name: 'args',
37
37
  schema: {
@@ -41,9 +41,9 @@ export class ShowOrFocusHoverAction extends EditorAction {
41
41
  description: 'Controls if and when the hover should take focus upon being triggered by this action.',
42
42
  enum: [HoverFocusBehavior.NoAutoFocus, HoverFocusBehavior.FocusIfVisible, HoverFocusBehavior.AutoFocusImmediately],
43
43
  enumDescriptions: [
44
- nls.localize(1110, 'The hover will not automatically take focus.'),
45
- nls.localize(1111, 'The hover will take focus only if it is already visible.'),
46
- nls.localize(1112, 'The hover will automatically take focus when it appears.'),
44
+ nls.localize(1111, 'The hover will not automatically take focus.'),
45
+ nls.localize(1112, 'The hover will take focus only if it is already visible.'),
46
+ nls.localize(1113, 'The hover will automatically take focus when it appears.'),
47
47
  ],
48
48
  default: HoverFocusBehavior.FocusIfVisible,
49
49
  }
@@ -98,7 +98,7 @@ export class ShowDefinitionPreviewHoverAction extends EditorAction {
98
98
  constructor() {
99
99
  super({
100
100
  id: SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID,
101
- label: nls.localize2(1115, "Show Definition Preview Hover"),
101
+ label: nls.localize2(1116, "Show Definition Preview Hover"),
102
102
 
103
103
 
104
104
 
@@ -107,7 +107,7 @@ export class ShowDefinitionPreviewHoverAction extends EditorAction {
107
107
 
108
108
  precondition: undefined,
109
109
  metadata: {
110
- description: nls.localize2(1116, 'Show the definition preview hover in the editor.'),
110
+ description: nls.localize2(1117, 'Show the definition preview hover in the editor.'),
111
111
  },
112
112
  });
113
113
  }
@@ -135,7 +135,7 @@ export class HideContentHoverAction extends EditorAction {
135
135
  constructor() {
136
136
  super({
137
137
  id: HIDE_HOVER_ACTION_ID,
138
- label: nls.localize2(1117, "Hide Hover"),
138
+ label: nls.localize2(1118, "Hide Hover"),
139
139
 
140
140
 
141
141
 
@@ -151,7 +151,7 @@ export class ScrollUpHoverAction extends EditorAction {
151
151
  constructor() {
152
152
  super({
153
153
  id: SCROLL_UP_HOVER_ACTION_ID,
154
- label: nls.localize2(1118, "Scroll Up Hover"),
154
+ label: nls.localize2(1119, "Scroll Up Hover"),
155
155
 
156
156
 
157
157
 
@@ -164,7 +164,7 @@ export class ScrollUpHoverAction extends EditorAction {
164
164
  weight: 100 /* KeybindingWeight.EditorContrib */
165
165
  },
166
166
  metadata: {
167
- description: nls.localize2(1119, 'Scroll up the editor hover.')
167
+ description: nls.localize2(1120, 'Scroll up the editor hover.')
168
168
  },
169
169
  });
170
170
  }
@@ -180,7 +180,7 @@ export class ScrollDownHoverAction extends EditorAction {
180
180
  constructor() {
181
181
  super({
182
182
  id: SCROLL_DOWN_HOVER_ACTION_ID,
183
- label: nls.localize2(1120, "Scroll Down Hover"),
183
+ label: nls.localize2(1121, "Scroll Down Hover"),
184
184
 
185
185
 
186
186
 
@@ -193,7 +193,7 @@ export class ScrollDownHoverAction extends EditorAction {
193
193
  weight: 100 /* KeybindingWeight.EditorContrib */
194
194
  },
195
195
  metadata: {
196
- description: nls.localize2(1121, 'Scroll down the editor hover.'),
196
+ description: nls.localize2(1122, 'Scroll down the editor hover.'),
197
197
  },
198
198
  });
199
199
  }
@@ -209,7 +209,7 @@ export class ScrollLeftHoverAction extends EditorAction {
209
209
  constructor() {
210
210
  super({
211
211
  id: SCROLL_LEFT_HOVER_ACTION_ID,
212
- label: nls.localize2(1122, "Scroll Left Hover"),
212
+ label: nls.localize2(1123, "Scroll Left Hover"),
213
213
 
214
214
 
215
215
 
@@ -222,7 +222,7 @@ export class ScrollLeftHoverAction extends EditorAction {
222
222
  weight: 100 /* KeybindingWeight.EditorContrib */
223
223
  },
224
224
  metadata: {
225
- description: nls.localize2(1123, 'Scroll left the editor hover.'),
225
+ description: nls.localize2(1124, 'Scroll left the editor hover.'),
226
226
  },
227
227
  });
228
228
  }
@@ -238,7 +238,7 @@ export class ScrollRightHoverAction extends EditorAction {
238
238
  constructor() {
239
239
  super({
240
240
  id: SCROLL_RIGHT_HOVER_ACTION_ID,
241
- label: nls.localize2(1124, "Scroll Right Hover"),
241
+ label: nls.localize2(1125, "Scroll Right Hover"),
242
242
 
243
243
 
244
244
 
@@ -251,7 +251,7 @@ export class ScrollRightHoverAction extends EditorAction {
251
251
  weight: 100 /* KeybindingWeight.EditorContrib */
252
252
  },
253
253
  metadata: {
254
- description: nls.localize2(1125, 'Scroll right the editor hover.')
254
+ description: nls.localize2(1126, 'Scroll right the editor hover.')
255
255
  },
256
256
  });
257
257
  }
@@ -267,7 +267,7 @@ export class PageUpHoverAction extends EditorAction {
267
267
  constructor() {
268
268
  super({
269
269
  id: PAGE_UP_HOVER_ACTION_ID,
270
- label: nls.localize2(1126, "Page Up Hover"),
270
+ label: nls.localize2(1127, "Page Up Hover"),
271
271
 
272
272
 
273
273
 
@@ -281,7 +281,7 @@ export class PageUpHoverAction extends EditorAction {
281
281
  weight: 100 /* KeybindingWeight.EditorContrib */
282
282
  },
283
283
  metadata: {
284
- description: nls.localize2(1127, 'Page up the editor hover.'),
284
+ description: nls.localize2(1128, 'Page up the editor hover.'),
285
285
  },
286
286
  });
287
287
  }
@@ -297,7 +297,7 @@ export class PageDownHoverAction extends EditorAction {
297
297
  constructor() {
298
298
  super({
299
299
  id: PAGE_DOWN_HOVER_ACTION_ID,
300
- label: nls.localize2(1128, "Page Down Hover"),
300
+ label: nls.localize2(1129, "Page Down Hover"),
301
301
 
302
302
 
303
303
 
@@ -311,7 +311,7 @@ export class PageDownHoverAction extends EditorAction {
311
311
  weight: 100 /* KeybindingWeight.EditorContrib */
312
312
  },
313
313
  metadata: {
314
- description: nls.localize2(1129, 'Page down the editor hover.'),
314
+ description: nls.localize2(1130, 'Page down the editor hover.'),
315
315
  },
316
316
  });
317
317
  }
@@ -327,7 +327,7 @@ export class GoToTopHoverAction extends EditorAction {
327
327
  constructor() {
328
328
  super({
329
329
  id: GO_TO_TOP_HOVER_ACTION_ID,
330
- label: nls.localize2(1130, "Go To Top Hover"),
330
+ label: nls.localize2(1131, "Go To Top Hover"),
331
331
 
332
332
 
333
333
 
@@ -341,7 +341,7 @@ export class GoToTopHoverAction extends EditorAction {
341
341
  weight: 100 /* KeybindingWeight.EditorContrib */
342
342
  },
343
343
  metadata: {
344
- description: nls.localize2(1131, 'Go to the top of the editor hover.'),
344
+ description: nls.localize2(1132, 'Go to the top of the editor hover.'),
345
345
  },
346
346
  });
347
347
  }
@@ -357,7 +357,7 @@ export class GoToBottomHoverAction extends EditorAction {
357
357
  constructor() {
358
358
  super({
359
359
  id: GO_TO_BOTTOM_HOVER_ACTION_ID,
360
- label: nls.localize2(1132, "Go To Bottom Hover"),
360
+ label: nls.localize2(1133, "Go To Bottom Hover"),
361
361
 
362
362
 
363
363
 
@@ -371,7 +371,7 @@ export class GoToBottomHoverAction extends EditorAction {
371
371
  weight: 100 /* KeybindingWeight.EditorContrib */
372
372
  },
373
373
  metadata: {
374
- description: nls.localize2(1133, 'Go to the bottom of the editor hover.')
374
+ description: nls.localize2(1134, 'Go to the bottom of the editor hover.')
375
375
  },
376
376
  });
377
377
  }
@@ -30,7 +30,7 @@ let HoverCopyButton = class HoverCopyButton extends Disposable {
30
30
  this._hoverService = _hoverService;
31
31
  this._container.classList.add('hover-row-with-copy');
32
32
  this._button = this._register(new SimpleButton({
33
- label: localize(1134, "Copy"),
33
+ label: localize(1135, "Copy"),
34
34
  icon: Codicon.copy,
35
35
  onTrigger: () => this._copyContent(),
36
36
  className: 'hover-copy-button',
@@ -41,7 +41,7 @@ let HoverCopyButton = class HoverCopyButton extends Disposable {
41
41
  const content = this._getContent();
42
42
  if (content) {
43
43
  await this._clipboardService.writeText(content);
44
- status(localize(1135, "Copied to clipboard"));
44
+ status(localize(1136, "Copied to clipboard"));
45
45
  }
46
46
  }
47
47
  };
@@ -35,8 +35,8 @@ import { AsyncIterableProducer } from '../../../../base/common/async.js';
35
35
  import { getHoverProviderResultsAsAsyncIterable } from './getHover.js';
36
36
  import { ICommandService } from '../../../../platform/commands/common/commands.js';
37
37
  const $ = dom.$;
38
- const increaseHoverVerbosityIcon = registerIcon('hover-increase-verbosity', Codicon.add, nls.localize(1136, 'Icon for increaseing hover verbosity.'));
39
- const decreaseHoverVerbosityIcon = registerIcon('hover-decrease-verbosity', Codicon.remove, nls.localize(1137, 'Icon for decreasing hover verbosity.'));
38
+ const increaseHoverVerbosityIcon = registerIcon('hover-increase-verbosity', Codicon.add, nls.localize(1137, 'Icon for increaseing hover verbosity.'));
39
+ const decreaseHoverVerbosityIcon = registerIcon('hover-decrease-verbosity', Codicon.remove, nls.localize(1138, 'Icon for decreasing hover verbosity.'));
40
40
  export class MarkdownHover {
41
41
  constructor(owner, range, contents, isBeforeContent, ordinal, source = undefined) {
42
42
  this.owner = owner;
@@ -79,7 +79,7 @@ let MarkdownHoverParticipant = class MarkdownHoverParticipant {
79
79
  this.hoverOrdinal = 3;
80
80
  }
81
81
  createLoadingMessage(anchor) {
82
- return new MarkdownHover(this, anchor.range, [new MarkdownString().appendText(nls.localize(1138, "Loading..."))], false, 2000);
82
+ return new MarkdownHover(this, anchor.range, [new MarkdownString().appendText(nls.localize(1139, "Loading..."))], false, 2000);
83
83
  }
84
84
  computeSync(anchor, lineDecorations) {
85
85
  if (!this._editor.hasModel() || anchor.type !== 1 /* HoverAnchorType.Range */) {
@@ -100,12 +100,12 @@ let MarkdownHoverParticipant = class MarkdownHoverParticipant {
100
100
  if (stopRenderingLineAfter >= 0 && lineLength > stopRenderingLineAfter && anchor.range.startColumn >= stopRenderingLineAfter) {
101
101
  stopRenderingMessage = true;
102
102
  result.push(new MarkdownHover(this, anchor.range, [{
103
- value: nls.localize(1139, "Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")
103
+ value: nls.localize(1140, "Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")
104
104
  }], false, index++));
105
105
  }
106
106
  if (!stopRenderingMessage && typeof maxTokenizationLineLength === 'number' && lineLength >= maxTokenizationLineLength) {
107
107
  result.push(new MarkdownHover(this, anchor.range, [{
108
- value: nls.localize(1140, "Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")
108
+ value: nls.localize(1141, "Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")
109
109
  }], false, index++));
110
110
  }
111
111
  let isBeforeContent = false;
@@ -241,7 +241,7 @@ class MarkdownRenderedHoverParts {
241
241
  const isActionIncrease = action === HoverVerbosityAction.Increase;
242
242
  const actionElement = dom.append(container, $(ThemeIcon.asCSSSelector(isActionIncrease ? increaseHoverVerbosityIcon : decreaseHoverVerbosityIcon)));
243
243
  actionElement.tabIndex = 0;
244
- const hoverDelegate = new WorkbenchHoverDelegate('mouse', undefined, { target: container, position: { hoverPosition: 0 /* HoverPosition.LEFT */ } }, this._configurationService, this._hoverService);
244
+ const hoverDelegate = store.add(new WorkbenchHoverDelegate('mouse', undefined, { target: container, position: { hoverPosition: 0 /* HoverPosition.LEFT */ } }, this._configurationService, this._hoverService));
245
245
  store.add(this._hoverService.setupManagedHover(hoverDelegate, actionElement, labelForHoverVerbosityAction(this._keybindingService, action)));
246
246
  if (!actionEnabled) {
247
247
  actionElement.classList.add('disabled');
@@ -404,14 +404,14 @@ export function labelForHoverVerbosityAction(keybindingService, action) {
404
404
  case HoverVerbosityAction.Increase: {
405
405
  const kb = keybindingService.lookupKeybinding(INCREASE_HOVER_VERBOSITY_ACTION_ID);
406
406
  return kb ?
407
- nls.localize(1141, "Increase Hover Verbosity ({0})", kb.getLabel()) :
408
- nls.localize(1142, "Increase Hover Verbosity");
407
+ nls.localize(1142, "Increase Hover Verbosity ({0})", kb.getLabel()) :
408
+ nls.localize(1143, "Increase Hover Verbosity");
409
409
  }
410
410
  case HoverVerbosityAction.Decrease: {
411
411
  const kb = keybindingService.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID);
412
412
  return kb ?
413
- nls.localize(1143, "Decrease Hover Verbosity ({0})", kb.getLabel()) :
414
- nls.localize(1144, "Decrease Hover Verbosity");
413
+ nls.localize(1144, "Decrease Hover Verbosity ({0})", kb.getLabel()) :
414
+ nls.localize(1145, "Decrease Hover Verbosity");
415
415
  }
416
416
  }
417
417
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/hover/browser/markdownHoverParticipant.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;;;;;;;;;;AAEhG,OAAO,KAAK,GAAG,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAqB,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACrG,OAAO,EAAmB,qBAAqB,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAChH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,2DAA2D,CAAC;AACrG,OAAO,EAAE,kCAAkC,EAAE,kCAAkC,EAAE,MAAM,qBAAqB,CAAC;AAG7G,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,OAAO,EAA2J,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9M,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4DAA4D,CAAC;AACnG,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAExF,OAAO,EAAsC,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sDAAsD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAiB,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAE7G,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAE,sCAAsC,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAInF,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;AAChB,MAAM,0BAA0B,GAAG,YAAY,CAAC,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAwB,EAAE,uCAAuC,CAAC,CAAC,CAAC;AAC1K,MAAM,0BAA0B,GAAG,YAAY,CAAC,0BAA0B,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAwB,EAAE,sCAAsC,CAAC,CAAC,CAAC;AAE5K,MAAM,OAAO,aAAa;IAEzB,YACiB,KAA6C,EAC7C,KAAY,EACZ,QAA2B,EAC3B,eAAwB,EACxB,OAAe,EACf,SAAkC,SAAS;QAL3C,UAAK,GAAL,KAAK,CAAwC;QAC7C,UAAK,GAAL,KAAK,CAAO;QACZ,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,oBAAe,GAAf,eAAe,CAAS;QACxB,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAqC;IACxD,CAAC;IAEE,qBAAqB,CAAC,MAAmB;QAC/C,OAAO,CACN,MAAM,CAAC,IAAI,kCAA0B;eAClC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW;eAClD,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CACjD,CAAC;IACH,CAAC;CACD;AAED,MAAM,WAAW;IAEhB,YACU,KAAY,EACZ,aAA4B,EAC5B,aAAuB;QAFvB,UAAK,GAAL,KAAK,CAAO;QACZ,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAU;IAC7B,CAAC;IAEE,uBAAuB,CAAC,oBAA0C;QACxE,QAAQ,oBAAoB,EAAE,CAAC;YAC9B,KAAK,oBAAoB,CAAC,QAAQ;gBACjC,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC;YACjD,KAAK,oBAAoB,CAAC,QAAQ;gBACjC,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC;QAClD,CAAC;IACF,CAAC;CACD;AAEM,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAMpC,YACoB,OAAoB,EACb,wBAAmE,EACtE,qBAA6D,EAC1D,wBAAqE,EAC3E,kBAAuD,EAC5D,aAA6C,EAC3C,eAAiD;QAN/C,YAAO,GAAP,OAAO,CAAa;QACI,6BAAwB,GAAxB,wBAAwB,CAA0B;QACrD,0BAAqB,GAArB,qBAAqB,CAAuB;QACvC,6BAAwB,GAAxB,wBAAwB,CAA0B;QAC1D,uBAAkB,GAAlB,kBAAkB,CAAoB;QAC3C,kBAAa,GAAb,aAAa,CAAe;QAC1B,oBAAe,GAAf,eAAe,CAAiB;QAXnD,iBAAY,GAAW,CAAC,CAAC;IAYrC,CAAC;IAEE,oBAAoB,CAAC,MAAmB;QAC9C,OAAO,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAA2B,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvJ,CAAC;IAEM,WAAW,CAAC,MAAmB,EAAE,eAAmC;QAC1E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,kCAA0B,EAAE,CAAC;YACvE,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,IAAI,KAAK,GAAG,IAAI,CAAC;QAEjB,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzG,MAAM,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,+CAAqC,CAAC;QAC3F,MAAM,yBAAyB,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAS,kCAAkC,EAAE;YACjH,kBAAkB,EAAE,UAAU;SAC9B,CAAC,CAAC;QACH,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,IAAI,sBAAsB,IAAI,CAAC,IAAI,UAAU,GAAG,sBAAsB,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,sBAAsB,EAAE,CAAC;YAC9H,oBAAoB,GAAG,IAAI,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAmB,EAAE,qHAAqH,CAAC;iBAC/J,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,oBAAoB,IAAI,OAAO,yBAAyB,KAAK,QAAQ,IAAI,UAAU,IAAI,yBAAyB,EAAE,CAAC;YACvH,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;oBAClD,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAqB,EAAE,gIAAgI,CAAC;iBAC5K,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,eAAe,GAAG,KAAK,CAAC;QAE5B,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAEzF,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,YAAY,IAAI,qBAAqB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1D,SAAS;YACV,CAAC;YAED,IAAI,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBACtC,eAAe,GAAG,IAAI,CAAC;YACxB,CAAC;YAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YAC5G,MAAM,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9F,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,YAAY,CAAC,MAAmB,EAAE,eAAmC,EAAE,MAAwB,EAAE,KAAwB;QAC/H,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,MAAM,CAAC,IAAI,kCAA0B,EAAE,CAAC;YACvE,OAAO,qBAAqB,CAAC,KAAK,CAAC;QACpC,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEtC,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC;QAC1E,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,qBAAqB,CAAC,KAAK,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,CAAC,kBAAkB,CAAC,qBAA6D,EAAE,KAAiB,EAAE,MAAwB,EAAE,KAAwB;QACrK,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACjD,MAAM,oBAAoB,GAAG,sCAAsC,CAAC,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEnH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7E,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACzE,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7F,CAAC;QACF,CAAC;IACF,CAAC;IAEM,gBAAgB,CAAC,OAAkC,EAAE,UAA2B;QACtF,IAAI,CAAC,mBAAmB,GAAG,IAAI,0BAA0B,CACxD,UAAU,EACV,OAAO,CAAC,QAAQ,EAChB,IAAI,EACJ,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,wBAAwB,EAC7B,OAAO,CAAC,iBAAiB,CACzB,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACjC,CAAC;IAEM,YAAY,CAAC,CAAc;QACjC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEM,oBAAoB,CAAC,SAAwB;QACnD,OAAO,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC;IAEM,iCAAiC,CAAC,MAA4B,EAAE,KAAa;QACnF,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,qCAAqC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IACxG,CAAC;CACD,CAAA;AA/HY,wBAAwB;IAQlC,WAAA,wBAAwB,CAAA;IACxB,WAAA,qBAAqB,CAAA;IACrB,WAAA,wBAAwB,CAAA;IACxB,WAAA,kBAAkB,CAAA;IAClB,WAAA,aAAa,CAAA;IACb,WAAA,eAAe,CAAA;GAbL,wBAAwB,CA+HpC;;AAED,MAAM,yBAAyB;IAE9B,YACiB,SAAwB,EACxB,YAAyB,EACzB,WAA4B,EAC5B,gBAA8B;QAH9B,cAAS,GAAT,SAAS,CAAe;QACxB,iBAAY,GAAZ,YAAY,CAAa;QACzB,gBAAW,GAAX,WAAW,CAAiB;QAC5B,qBAAgB,GAAhB,gBAAgB,CAAc;IAC3C,CAAC;IAEL,OAAO;QACN,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IAC5B,CAAC;CACD;AAED,MAAM,0BAA0B;IAQ/B,YACC,UAA2B,EAC3B,mBAAqC,EACpB,iBAA2C,EAC3C,OAAoB,EACpB,eAAgC,EAChC,kBAAsC,EACtC,aAA4B,EAC5B,qBAA4C,EAC5C,wBAAkD,EAClD,oBAAgC;QAPhC,sBAAiB,GAAjB,iBAAiB,CAA0B;QAC3C,YAAO,GAAP,OAAO,CAAa;QACpB,oBAAe,GAAf,eAAe,CAAiB;QAChC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,yBAAoB,GAApB,oBAAoB,CAAY;QAd1C,4BAAuB,GAAyF,IAAI,GAAG,EAAE,CAAC;QAEjH,iBAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAcrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7G,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE;YACvC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;gBACnD,iBAAiB,CAAC,OAAO,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAChD,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CACxB,UAA2B,EAC3B,mBAAqC,EACrC,mBAA+B;QAE/B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACrE,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACjC,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAChF,mBAAmB,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAChE,OAAO,iBAAiB,CAAC;QAC1B,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACvB,SAAwB,EACxB,mBAA+B;QAG/B,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACvF,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,YAAY,CAAC;QAClE,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAEtC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,IAAI,yBAAyB,CAAC,SAAS,EAAE,uBAAuB,EAAE,WAAW,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,oBAAoB,GAAG,WAAW,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAChG,MAAM,oBAAoB,GAAG,WAAW,CAAC,uBAAuB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAEhG,IAAI,CAAC,oBAAoB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACpD,OAAO,IAAI,yBAAyB,CAAC,SAAS,EAAE,uBAAuB,EAAE,WAAW,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACpD,uBAAuB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,qBAAqB,GAAG,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAC/D,gBAAgB,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC/C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC9H,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC9H,OAAO,IAAI,yBAAyB,CAAC,SAAS,EAAE,uBAAuB,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;IAC9G,CAAC;IAEO,oBAAoB,CAC3B,aAA4B,EAC5B,mBAA+B;QAE/B,MAAM,qBAAqB,GAAG,cAAc,CAC3C,IAAI,CAAC,OAAO,EACZ,aAAa,EACb,IAAI,CAAC,wBAAwB,EAC7B,mBAAmB,CACnB,CAAC;QACF,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IAEO,2BAA2B,CAAC,SAAsB,EAAE,MAA4B,EAAE,aAAsB;QAC/G,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,gBAAgB,GAAG,MAAM,KAAK,oBAAoB,CAAC,QAAQ,CAAC;QAClE,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;QACpJ,aAAa,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3B,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,aAAa,4BAAoB,EAAE,EAAE,EAAE,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7L,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,4BAA4B,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7I,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;QACd,CAAC;QACD,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,KAAK,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtM,KAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,EAAE,+CAA8B,CAAC,CAAC,CAAC;QAC5F,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,YAAY,CAAC,CAAc;QACjC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YACnD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC;YACjE,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC5B,OAAO;YACR,CAAC;YACD,MAAM,YAAY,GAAG,iBAAiB,CAAC,YAAY,CAAC;YACpD,MAAM,wBAAwB,GAAG,CAAC,CAAC,SAAS,CAAC;YAC7C,MAAM,2BAA2B,GAAG,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;YACxE,MAAM,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC;YACjD,MAAM,kBAAkB,GAAG,YAAY,CAAC,YAAY,CAAC;YACrD,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;YACpE,MAAM,WAAW,GAAG,EAAE,CAAC;YACvB,IAAI,GAAW,CAAC;YAChB,IAAI,oBAAoB,IAAI,2BAA2B,IAAI,iBAAiB,IAAI,2BAA2B,EAAE,CAAC;gBAC7G,GAAG,GAAG,kBAAkB,GAAG,WAAW,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACP,GAAG,GAAG,2BAA2B,GAAG,iBAAiB,GAAG,WAAW,CAAC;YACrE,CAAC;YACD,qBAAqB,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;QAC9C,CAAC,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qCAAqC,CAAC,MAA4B,EAAE,KAAa;QAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC;QACxD,IAAI,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YACzE,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;QACvG,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAC;QACrD,MAAM,YAAY,GAAG,IAAI,aAAa,CACrC,IAAI,CAAC,iBAAiB,EACtB,gBAAgB,CAAC,KAAK,EACtB,QAAQ,CAAC,QAAQ,EACjB,gBAAgB,CAAC,eAAe,EAChC,gBAAgB,CAAC,OAAO,EACxB,cAAc,CACd,CAAC;QACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAChF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO;YACN,SAAS,EAAE,YAAY;YACvB,YAAY,EAAE,oBAAoB,CAAC,YAAY;SAC/C,CAAC;IACH,CAAC;IAEM,oBAAoB,CAAC,SAAwB;QACnD,MAAM,sBAAsB,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACjI,IAAI,sBAAsB,KAAK,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,4BAA4B,CAAC,sBAAsB,CAAC,CAAC;QACpF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,YAAY,CAAC,SAAS,CAAC;QACvE,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC7E,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,WAAwB,EAAE,KAAiB,EAAE,MAA4B;QAClG,IAAI,cAAc,GAAG,MAAM,KAAK,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC;QAC3C,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,qBAAqB,EAAE,CAAC;YAC3B,qBAAqB,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3C,cAAc,IAAI,qBAAqB,CAAC,cAAc,CAAC;QACxD,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAClD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAiB,EAAE,gBAAgB,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;QACzG,IAAI,KAA+B,CAAC;QACpC,IAAI,CAAC;YACJ,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QACpH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,yBAAyB,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,WAAW,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,wBAAwB,CAAC,KAAa,EAAE,SAAwB;QACvE,IAAI,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtF,MAAM,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChE,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,YAAY,CAAC;QACtE,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,YAAY,CAAC;QACxD,MAAM,wBAAwB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvE,uBAAuB,CAAC,eAAe,CAAC,GAAG,wBAAwB,CAAC,CAAC;QACrE,MAAM,oBAAoB,GAAG,IAAI,yBAAyB,CACzD,SAAS,EACT,uBAAuB,EACvB,iBAAiB,CAAC,WAAW,EAC7B,iBAAiB,CAAC,gBAAgB,CAClC,CAAC;QACF,wBAAwB,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,oBAAoB,CAAC;QACtD,OAAO,oBAAoB,CAAC;IAC7B,CAAC;IAEO,4BAA4B,CAAC,KAAa;QACjD,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACD;AAED,MAAM,UAAU,oBAAoB,CACnC,OAAkC,EAClC,cAA+B,EAC/B,MAAmB,EACnB,uBAAiD;IAGjD,oFAAoF;IACpF,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACzE,MAAM,kBAAkB,GAAwC,EAAE,CAAC;IACnE,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAG,cAAc,CACvC,MAAM,EACN,aAAa,EACb,uBAAuB,EACvB,OAAO,CAAC,iBAAiB,CACzB,CAAC;QACF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC7D,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CACtB,MAAmB,EACnB,aAA4B,EAC5B,uBAAiD,EACjD,mBAA+B;IAE/B,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IAC5C,MAAM,wBAAwB,GAAG,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC7D,gBAAgB,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IACvD,MAAM,eAAe,GAAG,aAAa,CAAC,QAAQ,CAAC;IAC/C,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC9C,IAAI,qBAAqB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC3C,SAAS;QACV,CAAC;QACD,MAAM,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC;QACrD,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAEvF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,cAAc,EAAE;YACvF,OAAO,EAAE,MAAM;YACf,mBAAmB,EAAE,GAAG,EAAE;gBACzB,oBAAoB,CAAC,SAAS,GAAG,oCAAoC,CAAC;gBACtE,mBAAmB,EAAE,CAAC;YACvB,CAAC;SACD,CAAC,CAAC,CAAC;QACJ,oBAAoB,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3D,wBAAwB,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,iBAAiB,GAAsC;QAC5D,SAAS,EAAE,aAAa;QACxB,YAAY,EAAE,gBAAgB;QAC9B,OAAO,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;KACpC,CAAC;IACF,OAAO,iBAAiB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,iBAAqC,EAAE,MAA4B;IAC/G,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,MAAM,EAAE,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC,CAAC;gBACV,GAAG,CAAC,QAAQ,CAAC,IAAyB,EAAE,gCAAgC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1F,GAAG,CAAC,QAAQ,CAAC,IAAmB,EAAE,0BAA0B,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,MAAM,EAAE,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;YAClF,OAAO,EAAE,CAAC,CAAC;gBACV,GAAG,CAAC,QAAQ,CAAC,IAAyB,EAAE,gCAAgC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1F,GAAG,CAAC,QAAQ,CAAC,IAAmB,EAAE,0BAA0B,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;AACF,CAAC","file":"markdownHoverParticipant.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 { asArray, compareBy, numberComparator } from '../../../../base/common/arrays.js';\nimport { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';\nimport { IMarkdownString, isEmptyMarkdownString, MarkdownString } from '../../../../base/common/htmlContent.js';\nimport { DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { IMarkdownRendererService } from '../../../../platform/markdown/browser/markdownRenderer.js';\nimport { DECREASE_HOVER_VERBOSITY_ACTION_ID, INCREASE_HOVER_VERBOSITY_ACTION_ID } from './hoverActionIds.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IModelDecoration, ITextModel } from '../../../common/model.js';\nimport { HoverAnchor, HoverAnchorType, HoverRangeAnchor, IEditorHoverParticipant, IEditorHoverRenderContext, IHoverPart, IRenderedHoverPart, IRenderedHoverParts, RenderedHoverParts } from './hoverTypes.js';\nimport * as nls from '../../../../nls.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { Hover, HoverContext, HoverProvider, HoverVerbosityAction } from '../../../common/languages.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { ThemeIcon } from '../../../../base/common/themables.js';\nimport { onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { ClickAction, HoverPosition, KeyDownAction } from '../../../../base/browser/ui/hover/hoverWidget.js';\nimport { KeyCode } from '../../../../base/common/keyCodes.js';\nimport { IHoverService, WorkbenchHoverDelegate } from '../../../../platform/hover/browser/hover.js';\nimport { AsyncIterableProducer } from '../../../../base/common/async.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { getHoverProviderResultsAsAsyncIterable } from './getHover.js';\nimport { ICommandService } from '../../../../platform/commands/common/commands.js';\nimport { HoverStartSource } from './hoverOperation.js';\nimport { ScrollEvent } from '../../../../base/common/scrollable.js';\n\nconst $ = dom.$;\nconst increaseHoverVerbosityIcon = registerIcon('hover-increase-verbosity', Codicon.add, nls.localize('increaseHoverVerbosity', 'Icon for increaseing hover verbosity.'));\nconst decreaseHoverVerbosityIcon = registerIcon('hover-decrease-verbosity', Codicon.remove, nls.localize('decreaseHoverVerbosity', 'Icon for decreasing hover verbosity.'));\n\nexport class MarkdownHover implements IHoverPart {\n\n\tconstructor(\n\t\tpublic readonly owner: IEditorHoverParticipant<MarkdownHover>,\n\t\tpublic readonly range: Range,\n\t\tpublic readonly contents: IMarkdownString[],\n\t\tpublic readonly isBeforeContent: boolean,\n\t\tpublic readonly ordinal: number,\n\t\tpublic readonly source: HoverSource | undefined = undefined,\n\t) { }\n\n\tpublic isValidForHoverAnchor(anchor: HoverAnchor): boolean {\n\t\treturn (\n\t\t\tanchor.type === HoverAnchorType.Range\n\t\t\t&& this.range.startColumn <= anchor.range.startColumn\n\t\t\t&& this.range.endColumn >= anchor.range.endColumn\n\t\t);\n\t}\n}\n\nclass HoverSource {\n\n\tconstructor(\n\t\treadonly hover: Hover,\n\t\treadonly hoverProvider: HoverProvider,\n\t\treadonly hoverPosition: Position,\n\t) { }\n\n\tpublic supportsVerbosityAction(hoverVerbosityAction: HoverVerbosityAction): boolean {\n\t\tswitch (hoverVerbosityAction) {\n\t\t\tcase HoverVerbosityAction.Increase:\n\t\t\t\treturn this.hover.canIncreaseVerbosity ?? false;\n\t\t\tcase HoverVerbosityAction.Decrease:\n\t\t\t\treturn this.hover.canDecreaseVerbosity ?? false;\n\t\t}\n\t}\n}\n\nexport class MarkdownHoverParticipant implements IEditorHoverParticipant<MarkdownHover> {\n\n\tpublic readonly hoverOrdinal: number = 3;\n\n\tprivate _renderedHoverParts: MarkdownRenderedHoverParts | undefined;\n\n\tconstructor(\n\t\tprotected readonly _editor: ICodeEditor,\n\t\t@IMarkdownRendererService private readonly _markdownRendererService: IMarkdownRendererService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ILanguageFeaturesService protected readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IHoverService private readonly _hoverService: IHoverService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t) { }\n\n\tpublic createLoadingMessage(anchor: HoverAnchor): MarkdownHover | null {\n\t\treturn new MarkdownHover(this, anchor.range, [new MarkdownString().appendText(nls.localize('modesContentHover.loading', \"Loading...\"))], false, 2000);\n\t}\n\n\tpublic computeSync(anchor: HoverAnchor, lineDecorations: IModelDecoration[]): MarkdownHover[] {\n\t\tif (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst lineNumber = anchor.range.startLineNumber;\n\t\tconst maxColumn = model.getLineMaxColumn(lineNumber);\n\t\tconst result: MarkdownHover[] = [];\n\n\t\tlet index = 1000;\n\n\t\tconst lineLength = model.getLineLength(lineNumber);\n\t\tconst languageId = model.getLanguageIdAtPosition(anchor.range.startLineNumber, anchor.range.startColumn);\n\t\tconst stopRenderingLineAfter = this._editor.getOption(EditorOption.stopRenderingLineAfter);\n\t\tconst maxTokenizationLineLength = this._configurationService.getValue<number>('editor.maxTokenizationLineLength', {\n\t\t\toverrideIdentifier: languageId\n\t\t});\n\t\tlet stopRenderingMessage = false;\n\t\tif (stopRenderingLineAfter >= 0 && lineLength > stopRenderingLineAfter && anchor.range.startColumn >= stopRenderingLineAfter) {\n\t\t\tstopRenderingMessage = true;\n\t\t\tresult.push(new MarkdownHover(this, anchor.range, [{\n\t\t\t\tvalue: nls.localize('stopped rendering', \"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.\")\n\t\t\t}], false, index++));\n\t\t}\n\t\tif (!stopRenderingMessage && typeof maxTokenizationLineLength === 'number' && lineLength >= maxTokenizationLineLength) {\n\t\t\tresult.push(new MarkdownHover(this, anchor.range, [{\n\t\t\t\tvalue: nls.localize('too many characters', \"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.\")\n\t\t\t}], false, index++));\n\t\t}\n\n\t\tlet isBeforeContent = false;\n\n\t\tfor (const d of lineDecorations) {\n\t\t\tconst startColumn = (d.range.startLineNumber === lineNumber) ? d.range.startColumn : 1;\n\t\t\tconst endColumn = (d.range.endLineNumber === lineNumber) ? d.range.endColumn : maxColumn;\n\n\t\t\tconst hoverMessage = d.options.hoverMessage;\n\t\t\tif (!hoverMessage || isEmptyMarkdownString(hoverMessage)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (d.options.beforeContentClassName) {\n\t\t\t\tisBeforeContent = true;\n\t\t\t}\n\n\t\t\tconst range = new Range(anchor.range.startLineNumber, startColumn, anchor.range.startLineNumber, endColumn);\n\t\t\tresult.push(new MarkdownHover(this, range, asArray(hoverMessage), isBeforeContent, index++));\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tpublic computeAsync(anchor: HoverAnchor, lineDecorations: IModelDecoration[], source: HoverStartSource, token: CancellationToken): AsyncIterable<MarkdownHover> {\n\t\tif (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range) {\n\t\t\treturn AsyncIterableProducer.EMPTY;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\n\t\tconst hoverProviderRegistry = this._languageFeaturesService.hoverProvider;\n\t\tif (!hoverProviderRegistry.has(model)) {\n\t\t\treturn AsyncIterableProducer.EMPTY;\n\t\t}\n\t\treturn this._getMarkdownHovers(hoverProviderRegistry, model, anchor, token);\n\t}\n\n\tprivate async *_getMarkdownHovers(hoverProviderRegistry: LanguageFeatureRegistry<HoverProvider>, model: ITextModel, anchor: HoverRangeAnchor, token: CancellationToken): AsyncIterable<MarkdownHover> {\n\t\tconst position = anchor.range.getStartPosition();\n\t\tconst hoverProviderResults = getHoverProviderResultsAsAsyncIterable(hoverProviderRegistry, model, position, token);\n\n\t\tfor await (const item of hoverProviderResults) {\n\t\t\tif (!isEmptyMarkdownString(item.hover.contents)) {\n\t\t\t\tconst range = item.hover.range ? Range.lift(item.hover.range) : anchor.range;\n\t\t\t\tconst hoverSource = new HoverSource(item.hover, item.provider, position);\n\t\t\t\tyield new MarkdownHover(this, range, item.hover.contents, false, item.ordinal, hoverSource);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic renderHoverParts(context: IEditorHoverRenderContext, hoverParts: MarkdownHover[]): IRenderedHoverParts<MarkdownHover> {\n\t\tthis._renderedHoverParts = new MarkdownRenderedHoverParts(\n\t\t\thoverParts,\n\t\t\tcontext.fragment,\n\t\t\tthis,\n\t\t\tthis._editor,\n\t\t\tthis._commandService,\n\t\t\tthis._keybindingService,\n\t\t\tthis._hoverService,\n\t\t\tthis._configurationService,\n\t\t\tthis._markdownRendererService,\n\t\t\tcontext.onContentsChanged\n\t\t);\n\t\treturn this._renderedHoverParts;\n\t}\n\n\tpublic handleScroll(e: ScrollEvent): void {\n\t\tthis._renderedHoverParts?.handleScroll(e);\n\t}\n\n\tpublic getAccessibleContent(hoverPart: MarkdownHover): string {\n\t\treturn this._renderedHoverParts?.getAccessibleContent(hoverPart) ?? '';\n\t}\n\n\tpublic updateMarkdownHoverVerbosityLevel(action: HoverVerbosityAction, index: number): Promise<{ hoverPart: MarkdownHover; hoverElement: HTMLElement } | undefined> {\n\t\treturn Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(action, index));\n\t}\n}\n\nclass RenderedMarkdownHoverPart implements IRenderedHoverPart<MarkdownHover> {\n\n\tconstructor(\n\t\tpublic readonly hoverPart: MarkdownHover,\n\t\tpublic readonly hoverElement: HTMLElement,\n\t\tpublic readonly disposables: DisposableStore,\n\t\tpublic readonly actionsContainer?: HTMLElement\n\t) { }\n\n\tdispose(): void {\n\t\tthis.disposables.dispose();\n\t}\n}\n\nclass MarkdownRenderedHoverParts implements IRenderedHoverParts<MarkdownHover> {\n\n\tpublic renderedHoverParts: RenderedMarkdownHoverPart[];\n\n\tprivate _ongoingHoverOperations: Map<HoverProvider, { verbosityDelta: number; tokenSource: CancellationTokenSource }> = new Map();\n\n\tprivate readonly _disposables = new DisposableStore();\n\n\tconstructor(\n\t\thoverParts: MarkdownHover[],\n\t\thoverPartsContainer: DocumentFragment,\n\t\tprivate readonly _hoverParticipant: MarkdownHoverParticipant,\n\t\tprivate readonly _editor: ICodeEditor,\n\t\tprivate readonly _commandService: ICommandService,\n\t\tprivate readonly _keybindingService: IKeybindingService,\n\t\tprivate readonly _hoverService: IHoverService,\n\t\tprivate readonly _configurationService: IConfigurationService,\n\t\tprivate readonly _markdownRendererService: IMarkdownRendererService,\n\t\tprivate readonly _onFinishedRendering: () => void,\n\t) {\n\t\tthis.renderedHoverParts = this._renderHoverParts(hoverParts, hoverPartsContainer, this._onFinishedRendering);\n\t\tthis._disposables.add(toDisposable(() => {\n\t\t\tthis.renderedHoverParts.forEach(renderedHoverPart => {\n\t\t\t\trenderedHoverPart.dispose();\n\t\t\t});\n\t\t\tthis._ongoingHoverOperations.forEach(operation => {\n\t\t\t\toperation.tokenSource.dispose(true);\n\t\t\t});\n\t\t}));\n\t}\n\n\tprivate _renderHoverParts(\n\t\thoverParts: MarkdownHover[],\n\t\thoverPartsContainer: DocumentFragment,\n\t\tonFinishedRendering: () => void,\n\t): RenderedMarkdownHoverPart[] {\n\t\thoverParts.sort(compareBy(hover => hover.ordinal, numberComparator));\n\t\treturn hoverParts.map(hoverPart => {\n\t\t\tconst renderedHoverPart = this._renderHoverPart(hoverPart, onFinishedRendering);\n\t\t\thoverPartsContainer.appendChild(renderedHoverPart.hoverElement);\n\t\t\treturn renderedHoverPart;\n\t\t});\n\t}\n\n\tprivate _renderHoverPart(\n\t\thoverPart: MarkdownHover,\n\t\tonFinishedRendering: () => void\n\t): RenderedMarkdownHoverPart {\n\n\t\tconst renderedMarkdownPart = this._renderMarkdownHover(hoverPart, onFinishedRendering);\n\t\tconst renderedMarkdownElement = renderedMarkdownPart.hoverElement;\n\t\tconst hoverSource = hoverPart.source;\n\t\tconst disposables = new DisposableStore();\n\t\tdisposables.add(renderedMarkdownPart);\n\n\t\tif (!hoverSource) {\n\t\t\treturn new RenderedMarkdownHoverPart(hoverPart, renderedMarkdownElement, disposables);\n\t\t}\n\n\t\tconst canIncreaseVerbosity = hoverSource.supportsVerbosityAction(HoverVerbosityAction.Increase);\n\t\tconst canDecreaseVerbosity = hoverSource.supportsVerbosityAction(HoverVerbosityAction.Decrease);\n\n\t\tif (!canIncreaseVerbosity && !canDecreaseVerbosity) {\n\t\t\treturn new RenderedMarkdownHoverPart(hoverPart, renderedMarkdownElement, disposables);\n\t\t}\n\n\t\tconst actionsContainer = $('div.verbosity-actions');\n\t\trenderedMarkdownElement.prepend(actionsContainer);\n\t\tconst actionsContainerInner = $('div.verbosity-actions-inner');\n\t\tactionsContainer.append(actionsContainerInner);\n\t\tdisposables.add(this._renderHoverExpansionAction(actionsContainerInner, HoverVerbosityAction.Increase, canIncreaseVerbosity));\n\t\tdisposables.add(this._renderHoverExpansionAction(actionsContainerInner, HoverVerbosityAction.Decrease, canDecreaseVerbosity));\n\t\treturn new RenderedMarkdownHoverPart(hoverPart, renderedMarkdownElement, disposables, actionsContainerInner);\n\t}\n\n\tprivate _renderMarkdownHover(\n\t\tmarkdownHover: MarkdownHover,\n\t\tonFinishedRendering: () => void\n\t): IRenderedHoverPart<MarkdownHover> {\n\t\tconst renderedMarkdownHover = renderMarkdown(\n\t\t\tthis._editor,\n\t\t\tmarkdownHover,\n\t\t\tthis._markdownRendererService,\n\t\t\tonFinishedRendering,\n\t\t);\n\t\treturn renderedMarkdownHover;\n\t}\n\n\tprivate _renderHoverExpansionAction(container: HTMLElement, action: HoverVerbosityAction, actionEnabled: boolean): DisposableStore {\n\t\tconst store = new DisposableStore();\n\t\tconst isActionIncrease = action === HoverVerbosityAction.Increase;\n\t\tconst actionElement = dom.append(container, $(ThemeIcon.asCSSSelector(isActionIncrease ? increaseHoverVerbosityIcon : decreaseHoverVerbosityIcon)));\n\t\tactionElement.tabIndex = 0;\n\t\tconst hoverDelegate = new WorkbenchHoverDelegate('mouse', undefined, { target: container, position: { hoverPosition: HoverPosition.LEFT } }, this._configurationService, this._hoverService);\n\t\tstore.add(this._hoverService.setupManagedHover(hoverDelegate, actionElement, labelForHoverVerbosityAction(this._keybindingService, action)));\n\t\tif (!actionEnabled) {\n\t\t\tactionElement.classList.add('disabled');\n\t\t\treturn store;\n\t\t}\n\t\tactionElement.classList.add('enabled');\n\t\tconst actionFunction = () => this._commandService.executeCommand(action === HoverVerbosityAction.Increase ? INCREASE_HOVER_VERBOSITY_ACTION_ID : DECREASE_HOVER_VERBOSITY_ACTION_ID, { focus: true });\n\t\tstore.add(new ClickAction(actionElement, actionFunction));\n\t\tstore.add(new KeyDownAction(actionElement, actionFunction, [KeyCode.Enter, KeyCode.Space]));\n\t\treturn store;\n\t}\n\n\tpublic handleScroll(e: ScrollEvent): void {\n\t\tthis.renderedHoverParts.forEach(renderedHoverPart => {\n\t\t\tconst actionsContainerInner = renderedHoverPart.actionsContainer;\n\t\t\tif (!actionsContainerInner) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst hoverElement = renderedHoverPart.hoverElement;\n\t\t\tconst topOfHoverScrollPosition = e.scrollTop;\n\t\t\tconst bottomOfHoverScrollPosition = topOfHoverScrollPosition + e.height;\n\t\t\tconst topOfRenderedPart = hoverElement.offsetTop;\n\t\t\tconst hoverElementHeight = hoverElement.clientHeight;\n\t\t\tconst bottomOfRenderedPart = topOfRenderedPart + hoverElementHeight;\n\t\t\tconst iconsHeight = 22;\n\t\t\tlet top: number;\n\t\t\tif (bottomOfRenderedPart <= bottomOfHoverScrollPosition || topOfRenderedPart >= bottomOfHoverScrollPosition) {\n\t\t\t\ttop = hoverElementHeight - iconsHeight;\n\t\t\t} else {\n\t\t\t\ttop = bottomOfHoverScrollPosition - topOfRenderedPart - iconsHeight;\n\t\t\t}\n\t\t\tactionsContainerInner.style.top = `${top}px`;\n\t\t});\n\t}\n\n\tpublic async updateMarkdownHoverPartVerbosityLevel(action: HoverVerbosityAction, index: number): Promise<{ hoverPart: MarkdownHover; hoverElement: HTMLElement } | undefined> {\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst hoverRenderedPart = this._getRenderedHoverPartAtIndex(index);\n\t\tconst hoverSource = hoverRenderedPart?.hoverPart.source;\n\t\tif (!hoverRenderedPart || !hoverSource?.supportsVerbosityAction(action)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst newHover = await this._fetchHover(hoverSource, model, action);\n\t\tif (!newHover) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst newHoverSource = new HoverSource(newHover, hoverSource.hoverProvider, hoverSource.hoverPosition);\n\t\tconst initialHoverPart = hoverRenderedPart.hoverPart;\n\t\tconst newHoverPart = new MarkdownHover(\n\t\t\tthis._hoverParticipant,\n\t\t\tinitialHoverPart.range,\n\t\t\tnewHover.contents,\n\t\t\tinitialHoverPart.isBeforeContent,\n\t\t\tinitialHoverPart.ordinal,\n\t\t\tnewHoverSource\n\t\t);\n\t\tconst newHoverRenderedPart = this._updateRenderedHoverPart(index, newHoverPart);\n\t\tif (!newHoverRenderedPart) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn {\n\t\t\thoverPart: newHoverPart,\n\t\t\thoverElement: newHoverRenderedPart.hoverElement\n\t\t};\n\t}\n\n\tpublic getAccessibleContent(hoverPart: MarkdownHover): string | undefined {\n\t\tconst renderedHoverPartIndex = this.renderedHoverParts.findIndex(renderedHoverPart => renderedHoverPart.hoverPart === hoverPart);\n\t\tif (renderedHoverPartIndex === -1) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst renderedHoverPart = this._getRenderedHoverPartAtIndex(renderedHoverPartIndex);\n\t\tif (!renderedHoverPart) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst hoverElementInnerText = renderedHoverPart.hoverElement.innerText;\n\t\tconst accessibleContent = hoverElementInnerText.replace(/[^\\S\\n\\r]+/gu, ' ');\n\t\treturn accessibleContent;\n\t}\n\n\tprivate async _fetchHover(hoverSource: HoverSource, model: ITextModel, action: HoverVerbosityAction): Promise<Hover | null | undefined> {\n\t\tlet verbosityDelta = action === HoverVerbosityAction.Increase ? 1 : -1;\n\t\tconst provider = hoverSource.hoverProvider;\n\t\tconst ongoingHoverOperation = this._ongoingHoverOperations.get(provider);\n\t\tif (ongoingHoverOperation) {\n\t\t\tongoingHoverOperation.tokenSource.cancel();\n\t\t\tverbosityDelta += ongoingHoverOperation.verbosityDelta;\n\t\t}\n\t\tconst tokenSource = new CancellationTokenSource();\n\t\tthis._ongoingHoverOperations.set(provider, { verbosityDelta, tokenSource });\n\t\tconst context: HoverContext = { verbosityRequest: { verbosityDelta, previousHover: hoverSource.hover } };\n\t\tlet hover: Hover | null | undefined;\n\t\ttry {\n\t\t\thover = await Promise.resolve(provider.provideHover(model, hoverSource.hoverPosition, tokenSource.token, context));\n\t\t} catch (e) {\n\t\t\tonUnexpectedExternalError(e);\n\t\t}\n\t\ttokenSource.dispose();\n\t\tthis._ongoingHoverOperations.delete(provider);\n\t\treturn hover;\n\t}\n\n\tprivate _updateRenderedHoverPart(index: number, hoverPart: MarkdownHover): RenderedMarkdownHoverPart | undefined {\n\t\tif (index >= this.renderedHoverParts.length || index < 0) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst renderedHoverPart = this._renderHoverPart(hoverPart, this._onFinishedRendering);\n\t\tconst currentRenderedHoverPart = this.renderedHoverParts[index];\n\t\tconst currentRenderedMarkdown = currentRenderedHoverPart.hoverElement;\n\t\tconst renderedMarkdown = renderedHoverPart.hoverElement;\n\t\tconst renderedChildrenElements = Array.from(renderedMarkdown.children);\n\t\tcurrentRenderedMarkdown.replaceChildren(...renderedChildrenElements);\n\t\tconst newRenderedHoverPart = new RenderedMarkdownHoverPart(\n\t\t\thoverPart,\n\t\t\tcurrentRenderedMarkdown,\n\t\t\trenderedHoverPart.disposables,\n\t\t\trenderedHoverPart.actionsContainer\n\t\t);\n\t\tcurrentRenderedHoverPart.dispose();\n\t\tthis.renderedHoverParts[index] = newRenderedHoverPart;\n\t\treturn newRenderedHoverPart;\n\t}\n\n\tprivate _getRenderedHoverPartAtIndex(index: number): RenderedMarkdownHoverPart | undefined {\n\t\treturn this.renderedHoverParts[index];\n\t}\n\n\tpublic dispose(): void {\n\t\tthis._disposables.dispose();\n\t}\n}\n\nexport function renderMarkdownHovers(\n\tcontext: IEditorHoverRenderContext,\n\tmarkdownHovers: MarkdownHover[],\n\teditor: ICodeEditor,\n\tmarkdownRendererService: IMarkdownRendererService,\n): IRenderedHoverParts<MarkdownHover> {\n\n\t// Sort hover parts to keep them stable since they might come in async, out-of-order\n\tmarkdownHovers.sort(compareBy(hover => hover.ordinal, numberComparator));\n\tconst renderedHoverParts: IRenderedHoverPart<MarkdownHover>[] = [];\n\tfor (const markdownHover of markdownHovers) {\n\t\tconst renderedHoverPart = renderMarkdown(\n\t\t\teditor,\n\t\t\tmarkdownHover,\n\t\t\tmarkdownRendererService,\n\t\t\tcontext.onContentsChanged,\n\t\t);\n\t\tcontext.fragment.appendChild(renderedHoverPart.hoverElement);\n\t\trenderedHoverParts.push(renderedHoverPart);\n\t}\n\treturn new RenderedHoverParts(renderedHoverParts);\n}\n\nfunction renderMarkdown(\n\teditor: ICodeEditor,\n\tmarkdownHover: MarkdownHover,\n\tmarkdownRendererService: IMarkdownRendererService,\n\tonFinishedRendering: () => void,\n): IRenderedHoverPart<MarkdownHover> {\n\tconst disposables = new DisposableStore();\n\tconst renderedMarkdown = $('div.hover-row');\n\tconst renderedMarkdownContents = $('div.hover-row-contents');\n\trenderedMarkdown.appendChild(renderedMarkdownContents);\n\tconst markdownStrings = markdownHover.contents;\n\tfor (const markdownString of markdownStrings) {\n\t\tif (isEmptyMarkdownString(markdownString)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst markdownHoverElement = $('div.markdown-hover');\n\t\tconst hoverContentsElement = dom.append(markdownHoverElement, $('div.hover-contents'));\n\n\t\tconst renderedContents = disposables.add(markdownRendererService.render(markdownString, {\n\t\t\tcontext: editor,\n\t\t\tasyncRenderCallback: () => {\n\t\t\t\thoverContentsElement.className = 'hover-contents code-hover-contents';\n\t\t\t\tonFinishedRendering();\n\t\t\t}\n\t\t}));\n\t\thoverContentsElement.appendChild(renderedContents.element);\n\t\trenderedMarkdownContents.appendChild(markdownHoverElement);\n\t}\n\tconst renderedHoverPart: IRenderedHoverPart<MarkdownHover> = {\n\t\thoverPart: markdownHover,\n\t\thoverElement: renderedMarkdown,\n\t\tdispose() { disposables.dispose(); }\n\t};\n\treturn renderedHoverPart;\n}\n\nexport function labelForHoverVerbosityAction(keybindingService: IKeybindingService, action: HoverVerbosityAction): string {\n\tswitch (action) {\n\t\tcase HoverVerbosityAction.Increase: {\n\t\t\tconst kb = keybindingService.lookupKeybinding(INCREASE_HOVER_VERBOSITY_ACTION_ID);\n\t\t\treturn kb ?\n\t\t\t\tnls.localize('increaseVerbosityWithKb', \"Increase Hover Verbosity ({0})\", kb.getLabel()) :\n\t\t\t\tnls.localize('increaseVerbosity', \"Increase Hover Verbosity\");\n\t\t}\n\t\tcase HoverVerbosityAction.Decrease: {\n\t\t\tconst kb = keybindingService.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID);\n\t\t\treturn kb ?\n\t\t\t\tnls.localize('decreaseVerbosityWithKb', \"Decrease Hover Verbosity ({0})\", kb.getLabel()) :\n\t\t\t\tnls.localize('decreaseVerbosity', \"Decrease Hover Verbosity\");\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/hover/browser/markdownHoverParticipant.ts"],"names":[],"mappings":"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","file":"markdownHoverParticipant.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 { asArray, compareBy, numberComparator } from '../../../../base/common/arrays.js';\nimport { CancellationToken, CancellationTokenSource } from '../../../../base/common/cancellation.js';\nimport { IMarkdownString, isEmptyMarkdownString, MarkdownString } from '../../../../base/common/htmlContent.js';\nimport { DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { IMarkdownRendererService } from '../../../../platform/markdown/browser/markdownRenderer.js';\nimport { DECREASE_HOVER_VERBOSITY_ACTION_ID, INCREASE_HOVER_VERBOSITY_ACTION_ID } from './hoverActionIds.js';\nimport { ICodeEditor } from '../../../browser/editorBrowser.js';\nimport { Position } from '../../../common/core/position.js';\nimport { Range } from '../../../common/core/range.js';\nimport { IModelDecoration, ITextModel } from '../../../common/model.js';\nimport { HoverAnchor, HoverAnchorType, HoverRangeAnchor, IEditorHoverParticipant, IEditorHoverRenderContext, IHoverPart, IRenderedHoverPart, IRenderedHoverParts, RenderedHoverParts } from './hoverTypes.js';\nimport * as nls from '../../../../nls.js';\nimport { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { Hover, HoverContext, HoverProvider, HoverVerbosityAction } from '../../../common/languages.js';\nimport { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';\nimport { Codicon } from '../../../../base/common/codicons.js';\nimport { ThemeIcon } from '../../../../base/common/themables.js';\nimport { onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';\nimport { ClickAction, HoverPosition, KeyDownAction } from '../../../../base/browser/ui/hover/hoverWidget.js';\nimport { KeyCode } from '../../../../base/common/keyCodes.js';\nimport { IHoverService, WorkbenchHoverDelegate } from '../../../../platform/hover/browser/hover.js';\nimport { AsyncIterableProducer } from '../../../../base/common/async.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { getHoverProviderResultsAsAsyncIterable } from './getHover.js';\nimport { ICommandService } from '../../../../platform/commands/common/commands.js';\nimport { HoverStartSource } from './hoverOperation.js';\nimport { ScrollEvent } from '../../../../base/common/scrollable.js';\n\nconst $ = dom.$;\nconst increaseHoverVerbosityIcon = registerIcon('hover-increase-verbosity', Codicon.add, nls.localize('increaseHoverVerbosity', 'Icon for increaseing hover verbosity.'));\nconst decreaseHoverVerbosityIcon = registerIcon('hover-decrease-verbosity', Codicon.remove, nls.localize('decreaseHoverVerbosity', 'Icon for decreasing hover verbosity.'));\n\nexport class MarkdownHover implements IHoverPart {\n\n\tconstructor(\n\t\tpublic readonly owner: IEditorHoverParticipant<MarkdownHover>,\n\t\tpublic readonly range: Range,\n\t\tpublic readonly contents: IMarkdownString[],\n\t\tpublic readonly isBeforeContent: boolean,\n\t\tpublic readonly ordinal: number,\n\t\tpublic readonly source: HoverSource | undefined = undefined,\n\t) { }\n\n\tpublic isValidForHoverAnchor(anchor: HoverAnchor): boolean {\n\t\treturn (\n\t\t\tanchor.type === HoverAnchorType.Range\n\t\t\t&& this.range.startColumn <= anchor.range.startColumn\n\t\t\t&& this.range.endColumn >= anchor.range.endColumn\n\t\t);\n\t}\n}\n\nclass HoverSource {\n\n\tconstructor(\n\t\treadonly hover: Hover,\n\t\treadonly hoverProvider: HoverProvider,\n\t\treadonly hoverPosition: Position,\n\t) { }\n\n\tpublic supportsVerbosityAction(hoverVerbosityAction: HoverVerbosityAction): boolean {\n\t\tswitch (hoverVerbosityAction) {\n\t\t\tcase HoverVerbosityAction.Increase:\n\t\t\t\treturn this.hover.canIncreaseVerbosity ?? false;\n\t\t\tcase HoverVerbosityAction.Decrease:\n\t\t\t\treturn this.hover.canDecreaseVerbosity ?? false;\n\t\t}\n\t}\n}\n\nexport class MarkdownHoverParticipant implements IEditorHoverParticipant<MarkdownHover> {\n\n\tpublic readonly hoverOrdinal: number = 3;\n\n\tprivate _renderedHoverParts: MarkdownRenderedHoverParts | undefined;\n\n\tconstructor(\n\t\tprotected readonly _editor: ICodeEditor,\n\t\t@IMarkdownRendererService private readonly _markdownRendererService: IMarkdownRendererService,\n\t\t@IConfigurationService private readonly _configurationService: IConfigurationService,\n\t\t@ILanguageFeaturesService protected readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@IKeybindingService private readonly _keybindingService: IKeybindingService,\n\t\t@IHoverService private readonly _hoverService: IHoverService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t) { }\n\n\tpublic createLoadingMessage(anchor: HoverAnchor): MarkdownHover | null {\n\t\treturn new MarkdownHover(this, anchor.range, [new MarkdownString().appendText(nls.localize('modesContentHover.loading', \"Loading...\"))], false, 2000);\n\t}\n\n\tpublic computeSync(anchor: HoverAnchor, lineDecorations: IModelDecoration[]): MarkdownHover[] {\n\t\tif (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\t\tconst lineNumber = anchor.range.startLineNumber;\n\t\tconst maxColumn = model.getLineMaxColumn(lineNumber);\n\t\tconst result: MarkdownHover[] = [];\n\n\t\tlet index = 1000;\n\n\t\tconst lineLength = model.getLineLength(lineNumber);\n\t\tconst languageId = model.getLanguageIdAtPosition(anchor.range.startLineNumber, anchor.range.startColumn);\n\t\tconst stopRenderingLineAfter = this._editor.getOption(EditorOption.stopRenderingLineAfter);\n\t\tconst maxTokenizationLineLength = this._configurationService.getValue<number>('editor.maxTokenizationLineLength', {\n\t\t\toverrideIdentifier: languageId\n\t\t});\n\t\tlet stopRenderingMessage = false;\n\t\tif (stopRenderingLineAfter >= 0 && lineLength > stopRenderingLineAfter && anchor.range.startColumn >= stopRenderingLineAfter) {\n\t\t\tstopRenderingMessage = true;\n\t\t\tresult.push(new MarkdownHover(this, anchor.range, [{\n\t\t\t\tvalue: nls.localize('stopped rendering', \"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.\")\n\t\t\t}], false, index++));\n\t\t}\n\t\tif (!stopRenderingMessage && typeof maxTokenizationLineLength === 'number' && lineLength >= maxTokenizationLineLength) {\n\t\t\tresult.push(new MarkdownHover(this, anchor.range, [{\n\t\t\t\tvalue: nls.localize('too many characters', \"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.\")\n\t\t\t}], false, index++));\n\t\t}\n\n\t\tlet isBeforeContent = false;\n\n\t\tfor (const d of lineDecorations) {\n\t\t\tconst startColumn = (d.range.startLineNumber === lineNumber) ? d.range.startColumn : 1;\n\t\t\tconst endColumn = (d.range.endLineNumber === lineNumber) ? d.range.endColumn : maxColumn;\n\n\t\t\tconst hoverMessage = d.options.hoverMessage;\n\t\t\tif (!hoverMessage || isEmptyMarkdownString(hoverMessage)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (d.options.beforeContentClassName) {\n\t\t\t\tisBeforeContent = true;\n\t\t\t}\n\n\t\t\tconst range = new Range(anchor.range.startLineNumber, startColumn, anchor.range.startLineNumber, endColumn);\n\t\t\tresult.push(new MarkdownHover(this, range, asArray(hoverMessage), isBeforeContent, index++));\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tpublic computeAsync(anchor: HoverAnchor, lineDecorations: IModelDecoration[], source: HoverStartSource, token: CancellationToken): AsyncIterable<MarkdownHover> {\n\t\tif (!this._editor.hasModel() || anchor.type !== HoverAnchorType.Range) {\n\t\t\treturn AsyncIterableProducer.EMPTY;\n\t\t}\n\n\t\tconst model = this._editor.getModel();\n\n\t\tconst hoverProviderRegistry = this._languageFeaturesService.hoverProvider;\n\t\tif (!hoverProviderRegistry.has(model)) {\n\t\t\treturn AsyncIterableProducer.EMPTY;\n\t\t}\n\t\treturn this._getMarkdownHovers(hoverProviderRegistry, model, anchor, token);\n\t}\n\n\tprivate async *_getMarkdownHovers(hoverProviderRegistry: LanguageFeatureRegistry<HoverProvider>, model: ITextModel, anchor: HoverRangeAnchor, token: CancellationToken): AsyncIterable<MarkdownHover> {\n\t\tconst position = anchor.range.getStartPosition();\n\t\tconst hoverProviderResults = getHoverProviderResultsAsAsyncIterable(hoverProviderRegistry, model, position, token);\n\n\t\tfor await (const item of hoverProviderResults) {\n\t\t\tif (!isEmptyMarkdownString(item.hover.contents)) {\n\t\t\t\tconst range = item.hover.range ? Range.lift(item.hover.range) : anchor.range;\n\t\t\t\tconst hoverSource = new HoverSource(item.hover, item.provider, position);\n\t\t\t\tyield new MarkdownHover(this, range, item.hover.contents, false, item.ordinal, hoverSource);\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic renderHoverParts(context: IEditorHoverRenderContext, hoverParts: MarkdownHover[]): IRenderedHoverParts<MarkdownHover> {\n\t\tthis._renderedHoverParts = new MarkdownRenderedHoverParts(\n\t\t\thoverParts,\n\t\t\tcontext.fragment,\n\t\t\tthis,\n\t\t\tthis._editor,\n\t\t\tthis._commandService,\n\t\t\tthis._keybindingService,\n\t\t\tthis._hoverService,\n\t\t\tthis._configurationService,\n\t\t\tthis._markdownRendererService,\n\t\t\tcontext.onContentsChanged\n\t\t);\n\t\treturn this._renderedHoverParts;\n\t}\n\n\tpublic handleScroll(e: ScrollEvent): void {\n\t\tthis._renderedHoverParts?.handleScroll(e);\n\t}\n\n\tpublic getAccessibleContent(hoverPart: MarkdownHover): string {\n\t\treturn this._renderedHoverParts?.getAccessibleContent(hoverPart) ?? '';\n\t}\n\n\tpublic updateMarkdownHoverVerbosityLevel(action: HoverVerbosityAction, index: number): Promise<{ hoverPart: MarkdownHover; hoverElement: HTMLElement } | undefined> {\n\t\treturn Promise.resolve(this._renderedHoverParts?.updateMarkdownHoverPartVerbosityLevel(action, index));\n\t}\n}\n\nclass RenderedMarkdownHoverPart implements IRenderedHoverPart<MarkdownHover> {\n\n\tconstructor(\n\t\tpublic readonly hoverPart: MarkdownHover,\n\t\tpublic readonly hoverElement: HTMLElement,\n\t\tpublic readonly disposables: DisposableStore,\n\t\tpublic readonly actionsContainer?: HTMLElement\n\t) { }\n\n\tdispose(): void {\n\t\tthis.disposables.dispose();\n\t}\n}\n\nclass MarkdownRenderedHoverParts implements IRenderedHoverParts<MarkdownHover> {\n\n\tpublic renderedHoverParts: RenderedMarkdownHoverPart[];\n\n\tprivate _ongoingHoverOperations: Map<HoverProvider, { verbosityDelta: number; tokenSource: CancellationTokenSource }> = new Map();\n\n\tprivate readonly _disposables = new DisposableStore();\n\n\tconstructor(\n\t\thoverParts: MarkdownHover[],\n\t\thoverPartsContainer: DocumentFragment,\n\t\tprivate readonly _hoverParticipant: MarkdownHoverParticipant,\n\t\tprivate readonly _editor: ICodeEditor,\n\t\tprivate readonly _commandService: ICommandService,\n\t\tprivate readonly _keybindingService: IKeybindingService,\n\t\tprivate readonly _hoverService: IHoverService,\n\t\tprivate readonly _configurationService: IConfigurationService,\n\t\tprivate readonly _markdownRendererService: IMarkdownRendererService,\n\t\tprivate readonly _onFinishedRendering: () => void,\n\t) {\n\t\tthis.renderedHoverParts = this._renderHoverParts(hoverParts, hoverPartsContainer, this._onFinishedRendering);\n\t\tthis._disposables.add(toDisposable(() => {\n\t\t\tthis.renderedHoverParts.forEach(renderedHoverPart => {\n\t\t\t\trenderedHoverPart.dispose();\n\t\t\t});\n\t\t\tthis._ongoingHoverOperations.forEach(operation => {\n\t\t\t\toperation.tokenSource.dispose(true);\n\t\t\t});\n\t\t}));\n\t}\n\n\tprivate _renderHoverParts(\n\t\thoverParts: MarkdownHover[],\n\t\thoverPartsContainer: DocumentFragment,\n\t\tonFinishedRendering: () => void,\n\t): RenderedMarkdownHoverPart[] {\n\t\thoverParts.sort(compareBy(hover => hover.ordinal, numberComparator));\n\t\treturn hoverParts.map(hoverPart => {\n\t\t\tconst renderedHoverPart = this._renderHoverPart(hoverPart, onFinishedRendering);\n\t\t\thoverPartsContainer.appendChild(renderedHoverPart.hoverElement);\n\t\t\treturn renderedHoverPart;\n\t\t});\n\t}\n\n\tprivate _renderHoverPart(\n\t\thoverPart: MarkdownHover,\n\t\tonFinishedRendering: () => void\n\t): RenderedMarkdownHoverPart {\n\n\t\tconst renderedMarkdownPart = this._renderMarkdownHover(hoverPart, onFinishedRendering);\n\t\tconst renderedMarkdownElement = renderedMarkdownPart.hoverElement;\n\t\tconst hoverSource = hoverPart.source;\n\t\tconst disposables = new DisposableStore();\n\t\tdisposables.add(renderedMarkdownPart);\n\n\t\tif (!hoverSource) {\n\t\t\treturn new RenderedMarkdownHoverPart(hoverPart, renderedMarkdownElement, disposables);\n\t\t}\n\n\t\tconst canIncreaseVerbosity = hoverSource.supportsVerbosityAction(HoverVerbosityAction.Increase);\n\t\tconst canDecreaseVerbosity = hoverSource.supportsVerbosityAction(HoverVerbosityAction.Decrease);\n\n\t\tif (!canIncreaseVerbosity && !canDecreaseVerbosity) {\n\t\t\treturn new RenderedMarkdownHoverPart(hoverPart, renderedMarkdownElement, disposables);\n\t\t}\n\n\t\tconst actionsContainer = $('div.verbosity-actions');\n\t\trenderedMarkdownElement.prepend(actionsContainer);\n\t\tconst actionsContainerInner = $('div.verbosity-actions-inner');\n\t\tactionsContainer.append(actionsContainerInner);\n\t\tdisposables.add(this._renderHoverExpansionAction(actionsContainerInner, HoverVerbosityAction.Increase, canIncreaseVerbosity));\n\t\tdisposables.add(this._renderHoverExpansionAction(actionsContainerInner, HoverVerbosityAction.Decrease, canDecreaseVerbosity));\n\t\treturn new RenderedMarkdownHoverPart(hoverPart, renderedMarkdownElement, disposables, actionsContainerInner);\n\t}\n\n\tprivate _renderMarkdownHover(\n\t\tmarkdownHover: MarkdownHover,\n\t\tonFinishedRendering: () => void\n\t): IRenderedHoverPart<MarkdownHover> {\n\t\tconst renderedMarkdownHover = renderMarkdown(\n\t\t\tthis._editor,\n\t\t\tmarkdownHover,\n\t\t\tthis._markdownRendererService,\n\t\t\tonFinishedRendering,\n\t\t);\n\t\treturn renderedMarkdownHover;\n\t}\n\n\tprivate _renderHoverExpansionAction(container: HTMLElement, action: HoverVerbosityAction, actionEnabled: boolean): DisposableStore {\n\t\tconst store = new DisposableStore();\n\t\tconst isActionIncrease = action === HoverVerbosityAction.Increase;\n\t\tconst actionElement = dom.append(container, $(ThemeIcon.asCSSSelector(isActionIncrease ? increaseHoverVerbosityIcon : decreaseHoverVerbosityIcon)));\n\t\tactionElement.tabIndex = 0;\n\t\tconst hoverDelegate = store.add(new WorkbenchHoverDelegate('mouse', undefined, { target: container, position: { hoverPosition: HoverPosition.LEFT } }, this._configurationService, this._hoverService));\n\t\tstore.add(this._hoverService.setupManagedHover(hoverDelegate, actionElement, labelForHoverVerbosityAction(this._keybindingService, action)));\n\t\tif (!actionEnabled) {\n\t\t\tactionElement.classList.add('disabled');\n\t\t\treturn store;\n\t\t}\n\t\tactionElement.classList.add('enabled');\n\t\tconst actionFunction = () => this._commandService.executeCommand(action === HoverVerbosityAction.Increase ? INCREASE_HOVER_VERBOSITY_ACTION_ID : DECREASE_HOVER_VERBOSITY_ACTION_ID, { focus: true });\n\t\tstore.add(new ClickAction(actionElement, actionFunction));\n\t\tstore.add(new KeyDownAction(actionElement, actionFunction, [KeyCode.Enter, KeyCode.Space]));\n\t\treturn store;\n\t}\n\n\tpublic handleScroll(e: ScrollEvent): void {\n\t\tthis.renderedHoverParts.forEach(renderedHoverPart => {\n\t\t\tconst actionsContainerInner = renderedHoverPart.actionsContainer;\n\t\t\tif (!actionsContainerInner) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst hoverElement = renderedHoverPart.hoverElement;\n\t\t\tconst topOfHoverScrollPosition = e.scrollTop;\n\t\t\tconst bottomOfHoverScrollPosition = topOfHoverScrollPosition + e.height;\n\t\t\tconst topOfRenderedPart = hoverElement.offsetTop;\n\t\t\tconst hoverElementHeight = hoverElement.clientHeight;\n\t\t\tconst bottomOfRenderedPart = topOfRenderedPart + hoverElementHeight;\n\t\t\tconst iconsHeight = 22;\n\t\t\tlet top: number;\n\t\t\tif (bottomOfRenderedPart <= bottomOfHoverScrollPosition || topOfRenderedPart >= bottomOfHoverScrollPosition) {\n\t\t\t\ttop = hoverElementHeight - iconsHeight;\n\t\t\t} else {\n\t\t\t\ttop = bottomOfHoverScrollPosition - topOfRenderedPart - iconsHeight;\n\t\t\t}\n\t\t\tactionsContainerInner.style.top = `${top}px`;\n\t\t});\n\t}\n\n\tpublic async updateMarkdownHoverPartVerbosityLevel(action: HoverVerbosityAction, index: number): Promise<{ hoverPart: MarkdownHover; hoverElement: HTMLElement } | undefined> {\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst hoverRenderedPart = this._getRenderedHoverPartAtIndex(index);\n\t\tconst hoverSource = hoverRenderedPart?.hoverPart.source;\n\t\tif (!hoverRenderedPart || !hoverSource?.supportsVerbosityAction(action)) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst newHover = await this._fetchHover(hoverSource, model, action);\n\t\tif (!newHover) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst newHoverSource = new HoverSource(newHover, hoverSource.hoverProvider, hoverSource.hoverPosition);\n\t\tconst initialHoverPart = hoverRenderedPart.hoverPart;\n\t\tconst newHoverPart = new MarkdownHover(\n\t\t\tthis._hoverParticipant,\n\t\t\tinitialHoverPart.range,\n\t\t\tnewHover.contents,\n\t\t\tinitialHoverPart.isBeforeContent,\n\t\t\tinitialHoverPart.ordinal,\n\t\t\tnewHoverSource\n\t\t);\n\t\tconst newHoverRenderedPart = this._updateRenderedHoverPart(index, newHoverPart);\n\t\tif (!newHoverRenderedPart) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn {\n\t\t\thoverPart: newHoverPart,\n\t\t\thoverElement: newHoverRenderedPart.hoverElement\n\t\t};\n\t}\n\n\tpublic getAccessibleContent(hoverPart: MarkdownHover): string | undefined {\n\t\tconst renderedHoverPartIndex = this.renderedHoverParts.findIndex(renderedHoverPart => renderedHoverPart.hoverPart === hoverPart);\n\t\tif (renderedHoverPartIndex === -1) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst renderedHoverPart = this._getRenderedHoverPartAtIndex(renderedHoverPartIndex);\n\t\tif (!renderedHoverPart) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst hoverElementInnerText = renderedHoverPart.hoverElement.innerText;\n\t\tconst accessibleContent = hoverElementInnerText.replace(/[^\\S\\n\\r]+/gu, ' ');\n\t\treturn accessibleContent;\n\t}\n\n\tprivate async _fetchHover(hoverSource: HoverSource, model: ITextModel, action: HoverVerbosityAction): Promise<Hover | null | undefined> {\n\t\tlet verbosityDelta = action === HoverVerbosityAction.Increase ? 1 : -1;\n\t\tconst provider = hoverSource.hoverProvider;\n\t\tconst ongoingHoverOperation = this._ongoingHoverOperations.get(provider);\n\t\tif (ongoingHoverOperation) {\n\t\t\tongoingHoverOperation.tokenSource.cancel();\n\t\t\tverbosityDelta += ongoingHoverOperation.verbosityDelta;\n\t\t}\n\t\tconst tokenSource = new CancellationTokenSource();\n\t\tthis._ongoingHoverOperations.set(provider, { verbosityDelta, tokenSource });\n\t\tconst context: HoverContext = { verbosityRequest: { verbosityDelta, previousHover: hoverSource.hover } };\n\t\tlet hover: Hover | null | undefined;\n\t\ttry {\n\t\t\thover = await Promise.resolve(provider.provideHover(model, hoverSource.hoverPosition, tokenSource.token, context));\n\t\t} catch (e) {\n\t\t\tonUnexpectedExternalError(e);\n\t\t}\n\t\ttokenSource.dispose();\n\t\tthis._ongoingHoverOperations.delete(provider);\n\t\treturn hover;\n\t}\n\n\tprivate _updateRenderedHoverPart(index: number, hoverPart: MarkdownHover): RenderedMarkdownHoverPart | undefined {\n\t\tif (index >= this.renderedHoverParts.length || index < 0) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst renderedHoverPart = this._renderHoverPart(hoverPart, this._onFinishedRendering);\n\t\tconst currentRenderedHoverPart = this.renderedHoverParts[index];\n\t\tconst currentRenderedMarkdown = currentRenderedHoverPart.hoverElement;\n\t\tconst renderedMarkdown = renderedHoverPart.hoverElement;\n\t\tconst renderedChildrenElements = Array.from(renderedMarkdown.children);\n\t\tcurrentRenderedMarkdown.replaceChildren(...renderedChildrenElements);\n\t\tconst newRenderedHoverPart = new RenderedMarkdownHoverPart(\n\t\t\thoverPart,\n\t\t\tcurrentRenderedMarkdown,\n\t\t\trenderedHoverPart.disposables,\n\t\t\trenderedHoverPart.actionsContainer\n\t\t);\n\t\tcurrentRenderedHoverPart.dispose();\n\t\tthis.renderedHoverParts[index] = newRenderedHoverPart;\n\t\treturn newRenderedHoverPart;\n\t}\n\n\tprivate _getRenderedHoverPartAtIndex(index: number): RenderedMarkdownHoverPart | undefined {\n\t\treturn this.renderedHoverParts[index];\n\t}\n\n\tpublic dispose(): void {\n\t\tthis._disposables.dispose();\n\t}\n}\n\nexport function renderMarkdownHovers(\n\tcontext: IEditorHoverRenderContext,\n\tmarkdownHovers: MarkdownHover[],\n\teditor: ICodeEditor,\n\tmarkdownRendererService: IMarkdownRendererService,\n): IRenderedHoverParts<MarkdownHover> {\n\n\t// Sort hover parts to keep them stable since they might come in async, out-of-order\n\tmarkdownHovers.sort(compareBy(hover => hover.ordinal, numberComparator));\n\tconst renderedHoverParts: IRenderedHoverPart<MarkdownHover>[] = [];\n\tfor (const markdownHover of markdownHovers) {\n\t\tconst renderedHoverPart = renderMarkdown(\n\t\t\teditor,\n\t\t\tmarkdownHover,\n\t\t\tmarkdownRendererService,\n\t\t\tcontext.onContentsChanged,\n\t\t);\n\t\tcontext.fragment.appendChild(renderedHoverPart.hoverElement);\n\t\trenderedHoverParts.push(renderedHoverPart);\n\t}\n\treturn new RenderedHoverParts(renderedHoverParts);\n}\n\nfunction renderMarkdown(\n\teditor: ICodeEditor,\n\tmarkdownHover: MarkdownHover,\n\tmarkdownRendererService: IMarkdownRendererService,\n\tonFinishedRendering: () => void,\n): IRenderedHoverPart<MarkdownHover> {\n\tconst disposables = new DisposableStore();\n\tconst renderedMarkdown = $('div.hover-row');\n\tconst renderedMarkdownContents = $('div.hover-row-contents');\n\trenderedMarkdown.appendChild(renderedMarkdownContents);\n\tconst markdownStrings = markdownHover.contents;\n\tfor (const markdownString of markdownStrings) {\n\t\tif (isEmptyMarkdownString(markdownString)) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst markdownHoverElement = $('div.markdown-hover');\n\t\tconst hoverContentsElement = dom.append(markdownHoverElement, $('div.hover-contents'));\n\n\t\tconst renderedContents = disposables.add(markdownRendererService.render(markdownString, {\n\t\t\tcontext: editor,\n\t\t\tasyncRenderCallback: () => {\n\t\t\t\thoverContentsElement.className = 'hover-contents code-hover-contents';\n\t\t\t\tonFinishedRendering();\n\t\t\t}\n\t\t}));\n\t\thoverContentsElement.appendChild(renderedContents.element);\n\t\trenderedMarkdownContents.appendChild(markdownHoverElement);\n\t}\n\tconst renderedHoverPart: IRenderedHoverPart<MarkdownHover> = {\n\t\thoverPart: markdownHover,\n\t\thoverElement: renderedMarkdown,\n\t\tdispose() { disposables.dispose(); }\n\t};\n\treturn renderedHoverPart;\n}\n\nexport function labelForHoverVerbosityAction(keybindingService: IKeybindingService, action: HoverVerbosityAction): string {\n\tswitch (action) {\n\t\tcase HoverVerbosityAction.Increase: {\n\t\t\tconst kb = keybindingService.lookupKeybinding(INCREASE_HOVER_VERBOSITY_ACTION_ID);\n\t\t\treturn kb ?\n\t\t\t\tnls.localize('increaseVerbosityWithKb', \"Increase Hover Verbosity ({0})\", kb.getLabel()) :\n\t\t\t\tnls.localize('increaseVerbosity', \"Increase Hover Verbosity\");\n\t\t}\n\t\tcase HoverVerbosityAction.Decrease: {\n\t\t\tconst kb = keybindingService.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID);\n\t\t\treturn kb ?\n\t\t\t\tnls.localize('decreaseVerbosityWithKb', \"Decrease Hover Verbosity ({0})\", kb.getLabel()) :\n\t\t\t\tnls.localize('decreaseVerbosity', \"Decrease Hover Verbosity\");\n\t\t}\n\t}\n}\n"]}
@@ -172,7 +172,7 @@ let MarkerHoverParticipant = class MarkerHoverParticipant {
172
172
  const markerController = MarkerController.get(this._editor);
173
173
  if (markerController) {
174
174
  context.statusBar.addAction({
175
- label: nls.localize(1145, "View Problem"),
175
+ label: nls.localize(1146, "View Problem"),
176
176
  commandId: NextMarkerAction.ID,
177
177
  run: () => {
178
178
  context.hide();
@@ -187,14 +187,14 @@ let MarkerHoverParticipant = class MarkerHoverParticipant {
187
187
  if (this.recentMarkerCodeActionsInfo) {
188
188
  if (IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker) === IMarkerData.makeKey(markerHover.marker)) {
189
189
  if (!this.recentMarkerCodeActionsInfo.hasCodeActions) {
190
- quickfixPlaceholderElement.textContent = nls.localize(1146, "No quick fixes available");
190
+ quickfixPlaceholderElement.textContent = nls.localize(1147, "No quick fixes available");
191
191
  }
192
192
  }
193
193
  else {
194
194
  this.recentMarkerCodeActionsInfo = undefined;
195
195
  }
196
196
  }
197
- const updatePlaceholderDisposable = this.recentMarkerCodeActionsInfo && !this.recentMarkerCodeActionsInfo.hasCodeActions ? Disposable.None : disposableTimeout(() => quickfixPlaceholderElement.textContent = nls.localize(1147, "Checking for quick fixes..."), 200, disposables);
197
+ const updatePlaceholderDisposable = this.recentMarkerCodeActionsInfo && !this.recentMarkerCodeActionsInfo.hasCodeActions ? Disposable.None : disposableTimeout(() => quickfixPlaceholderElement.textContent = nls.localize(1148, "Checking for quick fixes..."), 200, disposables);
198
198
  if (!quickfixPlaceholderElement.textContent) {
199
199
  // Have some content in here to avoid flickering
200
200
  quickfixPlaceholderElement.textContent = String.fromCharCode(0xA0); // &nbsp;
@@ -206,7 +206,7 @@ let MarkerHoverParticipant = class MarkerHoverParticipant {
206
206
  this.recentMarkerCodeActionsInfo = { marker: markerHover.marker, hasCodeActions: actions.validActions.length > 0 };
207
207
  if (!this.recentMarkerCodeActionsInfo.hasCodeActions) {
208
208
  actions.dispose();
209
- quickfixPlaceholderElement.textContent = nls.localize(1148, "No quick fixes available");
209
+ quickfixPlaceholderElement.textContent = nls.localize(1149, "No quick fixes available");
210
210
  return;
211
211
  }
212
212
  quickfixPlaceholderElement.style.display = 'none';
@@ -217,7 +217,7 @@ let MarkerHoverParticipant = class MarkerHoverParticipant {
217
217
  }
218
218
  }));
219
219
  context.statusBar.addAction({
220
- label: nls.localize(1149, "Quick Fix..."),
220
+ label: nls.localize(1150, "Quick Fix..."),
221
221
  commandId: quickFixCommandId,
222
222
  run: (target) => {
223
223
  showing = true;
@@ -107,7 +107,7 @@ class InPlaceReplaceUp extends EditorAction {
107
107
  constructor() {
108
108
  super({
109
109
  id: 'editor.action.inPlaceReplace.up',
110
- label: nls.localize2(1247, "Replace with Previous Value"),
110
+ label: nls.localize2(1254, "Replace with Previous Value"),
111
111
  precondition: EditorContextKeys.writable,
112
112
  kbOpts: {
113
113
  kbExpr: EditorContextKeys.editorTextFocus,
@@ -128,7 +128,7 @@ class InPlaceReplaceDown extends EditorAction {
128
128
  constructor() {
129
129
  super({
130
130
  id: 'editor.action.inPlaceReplace.down',
131
- label: nls.localize2(1248, "Replace with Next Value"),
131
+ label: nls.localize2(1255, "Replace with Next Value"),
132
132
  precondition: EditorContextKeys.writable,
133
133
  kbOpts: {
134
134
  kbExpr: EditorContextKeys.editorTextFocus,