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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/esm/nls.keys.json +1 -1
  2. package/esm/nls.messages.cs.js +2 -2
  3. package/esm/nls.messages.de.js +2 -2
  4. package/esm/nls.messages.es.js +2 -2
  5. package/esm/nls.messages.fr.js +2 -2
  6. package/esm/nls.messages.it.js +2 -2
  7. package/esm/nls.messages.ja.js +2 -2
  8. package/esm/nls.messages.js +1 -1
  9. package/esm/nls.messages.json +1 -1
  10. package/esm/nls.messages.ko.js +2 -2
  11. package/esm/nls.messages.pl.js +2 -2
  12. package/esm/nls.messages.pt-br.js +2 -2
  13. package/esm/nls.messages.ru.js +2 -2
  14. package/esm/nls.messages.tr.js +2 -2
  15. package/esm/nls.messages.zh-cn.js +2 -2
  16. package/esm/nls.messages.zh-tw.js +2 -2
  17. package/esm/nls.metadata.json +27 -8
  18. package/esm/vs/base/browser/dom.js +31 -34
  19. package/esm/vs/base/browser/dom.js.map +1 -1
  20. package/esm/vs/base/browser/dompurify/dompurify.js +0 -1
  21. package/esm/vs/base/browser/keyboardEvent.js +3 -3
  22. package/esm/vs/base/browser/keyboardEvent.js.map +1 -1
  23. package/esm/vs/base/browser/markdownRenderer.js +5 -2
  24. package/esm/vs/base/browser/markdownRenderer.js.map +1 -1
  25. package/esm/vs/base/browser/pixelRatio.js +5 -5
  26. package/esm/vs/base/browser/pixelRatio.js.map +1 -1
  27. package/esm/vs/base/browser/trustedTypes.js +1 -1
  28. package/esm/vs/base/browser/trustedTypes.js.map +1 -1
  29. package/esm/vs/base/browser/ui/actionbar/actionbar.js +3 -0
  30. package/esm/vs/base/browser/ui/actionbar/actionbar.js.map +1 -1
  31. package/esm/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  32. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +7 -0
  33. package/esm/vs/base/browser/ui/dropdown/dropdownActionViewItem.js.map +1 -1
  34. package/esm/vs/base/browser/ui/hover/hoverWidget.css +0 -13
  35. package/esm/vs/base/browser/ui/inputbox/inputBox.js +7 -0
  36. package/esm/vs/base/browser/ui/inputbox/inputBox.js.map +1 -1
  37. package/esm/vs/base/browser/ui/keybindingLabel/keybindingLabel.css +4 -2
  38. package/esm/vs/base/browser/ui/list/listView.js +7 -2
  39. package/esm/vs/base/browser/ui/list/listView.js.map +1 -1
  40. package/esm/vs/base/browser/ui/selectBox/selectBox.js +4 -0
  41. package/esm/vs/base/browser/ui/selectBox/selectBox.js.map +1 -1
  42. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.css +12 -32
  43. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js +8 -18
  44. package/esm/vs/base/browser/ui/selectBox/selectBoxCustom.js.map +1 -1
  45. package/esm/vs/base/browser/ui/toolbar/toolbar.js +41 -14
  46. package/esm/vs/base/browser/ui/toolbar/toolbar.js.map +1 -1
  47. package/esm/vs/base/browser/ui/tree/abstractTree.js +11 -0
  48. package/esm/vs/base/browser/ui/tree/abstractTree.js.map +1 -1
  49. package/esm/vs/base/browser/ui/tree/asyncDataTree.js +1 -0
  50. package/esm/vs/base/browser/ui/tree/asyncDataTree.js.map +1 -1
  51. package/esm/vs/base/browser/ui/tree/compressedObjectTreeModel.js.map +1 -1
  52. package/esm/vs/base/browser/ui/tree/dataTree.js.map +1 -1
  53. package/esm/vs/base/browser/ui/tree/indexTreeModel.js.map +1 -1
  54. package/esm/vs/base/browser/ui/tree/objectTree.js.map +1 -1
  55. package/esm/vs/base/browser/ui/tree/objectTreeModel.js.map +1 -1
  56. package/esm/vs/base/browser/ui/tree/tree.js.map +1 -1
  57. package/esm/vs/base/common/arrays.js +10 -0
  58. package/esm/vs/base/common/arrays.js.map +1 -1
  59. package/esm/vs/base/common/async.js +34 -0
  60. package/esm/vs/base/common/async.js.map +1 -1
  61. package/esm/vs/base/common/buffer.js +1 -1
  62. package/esm/vs/base/common/buffer.js.map +1 -1
  63. package/esm/vs/base/common/cancellation.js.map +1 -1
  64. package/esm/vs/base/common/codiconsLibrary.js +3 -0
  65. package/esm/vs/base/common/codiconsLibrary.js.map +1 -1
  66. package/esm/vs/base/common/collections.js.map +1 -1
  67. package/esm/vs/base/common/equals.js.map +1 -1
  68. package/esm/vs/base/common/event.js +32 -15
  69. package/esm/vs/base/common/event.js.map +1 -1
  70. package/esm/vs/base/common/filters.js +22 -3
  71. package/esm/vs/base/common/filters.js.map +1 -1
  72. package/esm/vs/base/common/hotReload.js +2 -2
  73. package/esm/vs/base/common/hotReload.js.map +1 -1
  74. package/esm/vs/base/common/iterator.js +1 -1
  75. package/esm/vs/base/common/iterator.js.map +1 -1
  76. package/esm/vs/base/common/keyCodes.js +7 -6
  77. package/esm/vs/base/common/keyCodes.js.map +1 -1
  78. package/esm/vs/base/common/linkedList.js.map +1 -1
  79. package/esm/vs/base/common/map.js.map +1 -1
  80. package/esm/vs/base/common/marked/marked.js +0 -1
  81. package/esm/vs/base/common/network.js +26 -1
  82. package/esm/vs/base/common/network.js.map +1 -1
  83. package/esm/vs/base/common/normalization.js +19 -6
  84. package/esm/vs/base/common/normalization.js.map +1 -1
  85. package/esm/vs/base/common/observableInternal/debugLocation.js +1 -2
  86. package/esm/vs/base/common/observableInternal/debugLocation.js.map +1 -1
  87. package/esm/vs/base/common/observableInternal/debugName.js +0 -1
  88. package/esm/vs/base/common/observableInternal/debugName.js.map +1 -1
  89. package/esm/vs/base/common/observableInternal/index.js +4 -4
  90. package/esm/vs/base/common/observableInternal/index.js.map +1 -1
  91. package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js +38 -10
  92. package/esm/vs/base/common/observableInternal/logging/debugGetDependencyGraph.js.map +1 -1
  93. package/esm/vs/base/common/observableInternal/observables/baseObservable.js +3 -3
  94. package/esm/vs/base/common/observableInternal/observables/baseObservable.js.map +1 -1
  95. package/esm/vs/base/common/observableInternal/utils/utils.js +46 -5
  96. package/esm/vs/base/common/observableInternal/utils/utils.js.map +1 -1
  97. package/esm/vs/base/common/path.js +1 -0
  98. package/esm/vs/base/common/path.js.map +1 -1
  99. package/esm/vs/base/common/strings.js +27 -19
  100. package/esm/vs/base/common/strings.js.map +1 -1
  101. package/esm/vs/editor/browser/config/elementSizeObserver.js +5 -5
  102. package/esm/vs/editor/browser/config/elementSizeObserver.js.map +1 -1
  103. package/esm/vs/editor/browser/config/fontMeasurements.js.map +1 -1
  104. package/esm/vs/editor/browser/config/migrateOptions.js +6 -0
  105. package/esm/vs/editor/browser/config/migrateOptions.js.map +1 -1
  106. package/esm/vs/editor/browser/config/tabFocus.js +4 -2
  107. package/esm/vs/editor/browser/config/tabFocus.js.map +1 -1
  108. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js +8 -0
  109. package/esm/vs/editor/browser/controller/editContext/native/nativeEditContext.js.map +1 -1
  110. package/esm/vs/editor/browser/coreCommands.js +1 -2
  111. package/esm/vs/editor/browser/coreCommands.js.map +1 -1
  112. package/esm/vs/editor/browser/editorBrowser.js.map +1 -1
  113. package/esm/vs/editor/browser/observableCodeEditor.js +32 -1
  114. package/esm/vs/editor/browser/observableCodeEditor.js.map +1 -1
  115. package/esm/vs/editor/browser/services/contribution.js +9 -0
  116. package/esm/vs/editor/browser/services/contribution.js.map +1 -0
  117. package/esm/vs/editor/browser/services/editorWorkerService.js +27 -14
  118. package/esm/vs/editor/browser/services/editorWorkerService.js.map +1 -1
  119. package/esm/vs/editor/browser/services/openerService.js +5 -1
  120. package/esm/vs/editor/browser/services/openerService.js.map +1 -1
  121. package/esm/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  122. package/esm/vs/editor/browser/view/domLineBreaksComputer.js.map +1 -1
  123. package/esm/vs/editor/browser/view/renderingContext.js +1 -1
  124. package/esm/vs/editor/browser/view/renderingContext.js.map +1 -1
  125. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +10 -3
  126. package/esm/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js.map +1 -1
  127. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +3 -4
  128. package/esm/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js.map +1 -1
  129. package/esm/vs/editor/browser/viewParts/minimap/minimap.js +1 -1
  130. package/esm/vs/editor/browser/viewParts/minimap/minimap.js.map +1 -1
  131. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +1 -1
  132. package/esm/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js.map +1 -1
  133. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +4 -2
  134. package/esm/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js.map +1 -1
  135. package/esm/vs/editor/browser/viewParts/rulers/rulers.js +1 -3
  136. package/esm/vs/editor/browser/viewParts/rulers/rulers.js.map +1 -1
  137. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
  138. package/esm/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js.map +1 -1
  139. package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js +2 -1
  140. package/esm/vs/editor/browser/viewParts/viewLines/domReadingContext.js.map +1 -1
  141. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js +6 -18
  142. package/esm/vs/editor/browser/viewParts/viewLines/viewLines.js.map +1 -1
  143. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js +0 -7
  144. package/esm/vs/editor/browser/viewParts/whitespace/whitespace.js.map +1 -1
  145. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +7 -2
  146. package/esm/vs/editor/browser/widget/codeEditor/codeEditorWidget.js.map +1 -1
  147. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +1 -0
  148. package/esm/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js.map +1 -1
  149. package/esm/vs/editor/common/commands/replaceCommand.js +2 -2
  150. package/esm/vs/editor/common/commands/replaceCommand.js.map +1 -1
  151. package/esm/vs/editor/common/config/editorOptions.js +374 -360
  152. package/esm/vs/editor/common/config/editorOptions.js.map +1 -1
  153. package/esm/vs/editor/common/core/2d/rect.js +7 -0
  154. package/esm/vs/editor/common/core/2d/rect.js.map +1 -1
  155. package/esm/vs/editor/common/core/2d/size.js +20 -0
  156. package/esm/vs/editor/common/core/2d/size.js.map +1 -0
  157. package/esm/vs/editor/common/core/editorColorRegistry.js +69 -68
  158. package/esm/vs/editor/common/core/editorColorRegistry.js.map +1 -1
  159. package/esm/vs/editor/common/core/ranges/offsetRange.js +9 -0
  160. package/esm/vs/editor/common/core/ranges/offsetRange.js.map +1 -1
  161. package/esm/vs/editor/common/cursor/cursorMoveCommands.js +4 -4
  162. package/esm/vs/editor/common/cursor/cursorMoveCommands.js.map +1 -1
  163. package/esm/vs/editor/common/editorContextKeys.js +47 -47
  164. package/esm/vs/editor/common/languages/modesRegistry.js +1 -1
  165. package/esm/vs/editor/common/languages.js +56 -56
  166. package/esm/vs/editor/common/languages.js.map +1 -1
  167. package/esm/vs/editor/common/model/editStack.js +1 -1
  168. package/esm/vs/editor/common/services/languagesAssociations.js +6 -8
  169. package/esm/vs/editor/common/services/languagesAssociations.js.map +1 -1
  170. package/esm/vs/editor/common/standaloneStrings.js +11 -10
  171. package/esm/vs/editor/common/standaloneStrings.js.map +1 -1
  172. package/esm/vs/editor/common/textModelEditSource.js +1 -1
  173. package/esm/vs/editor/common/textModelEditSource.js.map +1 -1
  174. package/esm/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  175. package/esm/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  176. package/esm/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  177. package/esm/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  178. package/esm/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  179. package/esm/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  180. package/esm/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  181. package/esm/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -29
  182. package/esm/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  183. package/esm/vs/editor/contrib/codeAction/browser/codeActionController.js +3 -3
  184. package/esm/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  185. package/esm/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +9 -9
  186. package/esm/vs/editor/contrib/codelens/browser/codelens.js.map +1 -1
  187. package/esm/vs/editor/contrib/codelens/browser/codelensController.js +2 -2
  188. package/esm/vs/editor/contrib/codelens/browser/codelensController.js.map +1 -1
  189. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  190. package/esm/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  191. package/esm/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  192. package/esm/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  193. package/esm/vs/editor/contrib/comment/browser/comment.js +6 -6
  194. package/esm/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  195. package/esm/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  196. package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +14 -0
  197. package/esm/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js.map +1 -1
  198. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  199. package/esm/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  200. package/esm/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -8
  201. package/esm/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  202. package/esm/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  203. package/esm/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  204. package/esm/vs/editor/contrib/find/browser/findController.js +17 -17
  205. package/esm/vs/editor/contrib/find/browser/findController.js.map +1 -1
  206. package/esm/vs/editor/contrib/find/browser/findWidget.js +26 -26
  207. package/esm/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +1 -1
  208. package/esm/vs/editor/contrib/folding/browser/folding.js +20 -20
  209. package/esm/vs/editor/contrib/folding/browser/folding.js.map +1 -1
  210. package/esm/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  211. package/esm/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  212. package/esm/vs/editor/contrib/format/browser/format.js +21 -6
  213. package/esm/vs/editor/contrib/format/browser/format.js.map +1 -1
  214. package/esm/vs/editor/contrib/format/browser/formatActions.js +2 -2
  215. package/esm/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  216. package/esm/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -14
  217. package/esm/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +39 -39
  218. package/esm/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  219. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  220. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  221. package/esm/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +3 -3
  222. package/esm/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  223. package/esm/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  224. package/esm/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  225. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js +5 -10
  226. package/esm/vs/editor/contrib/hover/browser/contentHoverController.js.map +1 -1
  227. package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js +11 -6
  228. package/esm/vs/editor/contrib/hover/browser/glyphHoverController.js.map +1 -1
  229. package/esm/vs/editor/contrib/hover/browser/hoverActionIds.js +2 -2
  230. package/esm/vs/editor/contrib/hover/browser/hoverActions.js +24 -24
  231. package/esm/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  232. package/esm/vs/editor/contrib/hover/browser/hoverUtils.js +24 -0
  233. package/esm/vs/editor/contrib/hover/browser/hoverUtils.js.map +1 -1
  234. package/esm/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +9 -9
  235. package/esm/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  236. package/esm/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  237. package/esm/vs/editor/contrib/indentation/browser/indentation.js +20 -20
  238. package/esm/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +8 -8
  239. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +20 -20
  240. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +12 -12
  241. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +18 -16
  242. package/esm/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js.map +1 -1
  243. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  244. package/esm/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +5 -5
  245. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +42 -37
  246. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js.map +1 -1
  247. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js +3 -3
  248. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineEdit.js.map +1 -1
  249. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +8 -8
  250. package/esm/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js.map +1 -1
  251. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js +54 -43
  252. package/esm/vs/editor/contrib/inlineCompletions/browser/view/ghostText/ghostTextView.js.map +1 -1
  253. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +12 -12
  254. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js.map +1 -1
  255. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +74 -48
  256. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js.map +1 -1
  257. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js +8 -36
  258. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsModel.js.map +1 -1
  259. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js +10 -11
  260. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsNewUsers.js.map +1 -1
  261. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +105 -119
  262. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js.map +1 -1
  263. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewInterface.js.map +1 -1
  264. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +8 -36
  265. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js.map +1 -1
  266. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js +95 -0
  267. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/debugVisualization.js.map +1 -0
  268. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js +17 -9
  269. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsInsertionView.js.map +1 -1
  270. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +415 -0
  271. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js.map +1 -0
  272. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +253 -0
  273. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js.map +1 -0
  274. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  275. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js +103 -0
  276. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/flexBoxLayout.js.map +1 -0
  277. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js +32 -0
  278. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/towersLayout.js.map +1 -0
  279. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +44 -11
  280. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js.map +1 -1
  281. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js +181 -0
  282. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineSuggestionsView.js.map +1 -0
  283. package/esm/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  284. package/esm/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  285. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js +32 -31
  286. package/esm/vs/editor/contrib/linesOperations/browser/linesOperations.js.map +1 -1
  287. package/esm/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  288. package/esm/vs/editor/contrib/links/browser/links.js +10 -10
  289. package/esm/vs/editor/contrib/message/browser/messageController.js +1 -1
  290. package/esm/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  291. package/esm/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  292. package/esm/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  293. package/esm/vs/editor/contrib/peekView/browser/peekView.js +18 -18
  294. package/esm/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  295. package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +2 -2
  296. package/esm/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js.map +1 -1
  297. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +18 -13
  298. package/esm/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js.map +1 -1
  299. package/esm/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  300. package/esm/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  301. package/esm/vs/editor/contrib/rename/browser/rename.js +12 -12
  302. package/esm/vs/editor/contrib/rename/browser/rename.js.map +1 -1
  303. package/esm/vs/editor/contrib/rename/browser/renameWidget.js +7 -7
  304. package/esm/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  305. package/esm/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  306. package/esm/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  307. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  308. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
  309. package/esm/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js.map +1 -1
  310. package/esm/vs/editor/contrib/suggest/browser/suggest.js +8 -8
  311. package/esm/vs/editor/contrib/suggest/browser/suggestController.js +10 -10
  312. package/esm/vs/editor/contrib/suggest/browser/suggestWidget.js +17 -17
  313. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +2 -2
  314. package/esm/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  315. package/esm/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  316. package/esm/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  317. package/esm/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  318. package/esm/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  319. package/esm/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  320. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +29 -29
  321. package/esm/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js.map +1 -1
  322. package/esm/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  323. package/esm/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  324. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +4 -4
  325. package/esm/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js.map +1 -1
  326. package/esm/vs/editor/contrib/wordOperations/browser/wordOperations.js +1 -1
  327. package/esm/vs/editor/editor.all.js +1 -0
  328. package/esm/vs/editor/editor.all.js.map +1 -1
  329. package/esm/vs/editor/editor.api.d.ts +9 -5
  330. package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js +22 -2
  331. package/esm/vs/editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js.map +1 -1
  332. package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js +39 -0
  333. package/esm/vs/editor/standalone/browser/services/standaloneWebWorkerService.js.map +1 -0
  334. package/esm/vs/editor/standalone/browser/standaloneEditor.js +2 -1
  335. package/esm/vs/editor/standalone/browser/standaloneEditor.js.map +1 -1
  336. package/esm/vs/editor/standalone/browser/standaloneServices.js +3 -21
  337. package/esm/vs/editor/standalone/browser/standaloneServices.js.map +1 -1
  338. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js +4 -4
  339. package/esm/vs/editor/standalone/browser/standaloneWebWorker.js.map +1 -1
  340. package/esm/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  341. package/esm/vs/platform/action/common/actionCommonCategories.js +6 -6
  342. package/esm/vs/platform/actionWidget/browser/actionList.js +4 -4
  343. package/esm/vs/platform/actionWidget/browser/actionWidget.js +7 -7
  344. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js +7 -9
  345. package/esm/vs/platform/actions/browser/menuEntryActionViewItem.js.map +1 -1
  346. package/esm/vs/platform/actions/browser/toolbar.js +2 -2
  347. package/esm/vs/platform/actions/common/actions.js +2 -0
  348. package/esm/vs/platform/actions/common/actions.js.map +1 -1
  349. package/esm/vs/platform/actions/common/menuService.js +2 -2
  350. package/esm/vs/platform/configuration/common/configuration.js +5 -4
  351. package/esm/vs/platform/configuration/common/configuration.js.map +1 -1
  352. package/esm/vs/platform/configuration/common/configurationModels.js +21 -10
  353. package/esm/vs/platform/configuration/common/configurationModels.js.map +1 -1
  354. package/esm/vs/platform/configuration/common/configurationRegistry.js +10 -10
  355. package/esm/vs/platform/configuration/common/configurationRegistry.js.map +1 -1
  356. package/esm/vs/platform/configuration/common/configurations.js.map +1 -1
  357. package/esm/vs/platform/contextkey/browser/contextKeyService.js +3 -3
  358. package/esm/vs/platform/contextkey/browser/contextKeyService.js.map +1 -1
  359. package/esm/vs/platform/contextkey/common/contextkey.js +9 -9
  360. package/esm/vs/platform/contextkey/common/contextkeys.js +9 -9
  361. package/esm/vs/platform/contextkey/common/scanner.js +5 -5
  362. package/esm/vs/platform/contextview/browser/contextViewService.js.map +1 -1
  363. package/esm/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  364. package/esm/vs/platform/hover/browser/hoverWidget.js +1 -1
  365. package/esm/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  366. package/esm/vs/platform/keybinding/common/abstractKeybindingService.js +4 -4
  367. package/esm/vs/platform/list/browser/listService.js +27 -27
  368. package/esm/vs/platform/list/browser/listService.js.map +1 -1
  369. package/esm/vs/platform/markers/common/markerService.js +2 -2
  370. package/esm/vs/platform/markers/common/markers.js +6 -6
  371. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js +11 -32
  372. package/esm/vs/platform/quickinput/browser/commandsQuickAccess.js.map +1 -1
  373. package/esm/vs/platform/quickinput/browser/helpQuickAccess.js +1 -1
  374. package/esm/vs/platform/quickinput/browser/media/quickInput.css +9 -3
  375. package/esm/vs/platform/quickinput/browser/quickInput.js +10 -10
  376. package/esm/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  377. package/esm/vs/platform/quickinput/browser/quickInputController.js +35 -14
  378. package/esm/vs/platform/quickinput/browser/quickInputController.js.map +1 -1
  379. package/esm/vs/platform/quickinput/browser/quickInputList.js +4 -1
  380. package/esm/vs/platform/quickinput/browser/quickInputList.js.map +1 -1
  381. package/esm/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  382. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  383. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js +71 -40
  384. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeController.js.map +1 -1
  385. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js +21 -8
  386. package/esm/vs/platform/quickinput/browser/tree/quickInputTreeRenderer.js.map +1 -1
  387. package/esm/vs/platform/telemetry/common/gdprTypings.js.map +1 -1
  388. package/esm/vs/platform/telemetry/common/telemetry.js.map +1 -1
  389. package/esm/vs/platform/theme/common/colorUtils.js +2 -2
  390. package/esm/vs/platform/theme/common/colors/baseColors.js +17 -17
  391. package/esm/vs/platform/theme/common/colors/chartsColors.js +8 -8
  392. package/esm/vs/platform/theme/common/colors/editorColors.js +95 -95
  393. package/esm/vs/platform/theme/common/colors/editorColors.js.map +1 -1
  394. package/esm/vs/platform/theme/common/colors/inputColors.js +47 -47
  395. package/esm/vs/platform/theme/common/colors/listColors.js +36 -36
  396. package/esm/vs/platform/theme/common/colors/menuColors.js +7 -7
  397. package/esm/vs/platform/theme/common/colors/minimapColors.js +11 -11
  398. package/esm/vs/platform/theme/common/colors/miscColors.js +16 -16
  399. package/esm/vs/platform/theme/common/colors/miscColors.js.map +1 -1
  400. package/esm/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  401. package/esm/vs/platform/theme/common/colors/searchColors.js +3 -3
  402. package/esm/vs/platform/theme/common/iconRegistry.js +6 -6
  403. package/esm/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  404. package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js +12 -0
  405. package/esm/vs/platform/webWorker/browser/webWorkerDescriptor.js.map +1 -0
  406. package/esm/vs/platform/webWorker/browser/webWorkerService.js +7 -0
  407. package/esm/vs/platform/webWorker/browser/webWorkerService.js.map +1 -0
  408. package/esm/vs/{base/browser/webWorkerFactory.js → platform/webWorker/browser/webWorkerServiceImpl.js} +47 -66
  409. package/esm/vs/platform/webWorker/browser/webWorkerServiceImpl.js.map +1 -0
  410. package/esm/vs/platform/workspace/common/workspace.js +1 -1
  411. package/monaco.d.ts +9 -5
  412. package/package.json +2 -2
  413. package/version.txt +1 -1
  414. package/esm/vs/base/browser/webWorkerFactory.js.map +0 -1
  415. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js +0 -82
  416. package/esm/vs/editor/contrib/inlineCompletions/browser/view/inlineCompletionsView.js.map +0 -1
@@ -21,23 +21,23 @@ const argsSchema = {
21
21
  properties: {
22
22
  'kind': {
23
23
  type: 'string',
24
- description: nls.localize(831, "Kind of the code action to run."),
24
+ description: nls.localize(837, "Kind of the code action to run."),
25
25
  },
26
26
  'apply': {
27
27
  type: 'string',
28
- description: nls.localize(832, "Controls when the returned actions are applied."),
28
+ description: nls.localize(838, "Controls when the returned actions are applied."),
29
29
  default: "ifSingle" /* CodeActionAutoApply.IfSingle */,
30
30
  enum: ["first" /* CodeActionAutoApply.First */, "ifSingle" /* CodeActionAutoApply.IfSingle */, "never" /* CodeActionAutoApply.Never */],
31
31
  enumDescriptions: [
32
- nls.localize(833, "Always apply the first returned code action."),
33
- nls.localize(834, "Apply the first returned code action if it is the only one."),
34
- nls.localize(835, "Do not apply the returned code actions."),
32
+ nls.localize(839, "Always apply the first returned code action."),
33
+ nls.localize(840, "Apply the first returned code action if it is the only one."),
34
+ nls.localize(841, "Do not apply the returned code actions."),
35
35
  ]
36
36
  },
37
37
  'preferred': {
38
38
  type: 'boolean',
39
39
  default: false,
40
- description: nls.localize(836, "Controls if only preferred code actions should be returned."),
40
+ description: nls.localize(842, "Controls if only preferred code actions should be returned."),
41
41
  }
42
42
  }
43
43
  };
@@ -51,7 +51,7 @@ export class QuickFixAction extends EditorAction {
51
51
  constructor() {
52
52
  super({
53
53
  id: quickFixCommandId,
54
- label: nls.localize2(853, "Quick Fix..."),
54
+ label: nls.localize2(859, "Quick Fix..."),
55
55
  precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasCodeActionsProvider),
56
56
  kbOpts: {
57
57
  kbExpr: EditorContextKeys.textInputFocus,
@@ -61,7 +61,7 @@ export class QuickFixAction extends EditorAction {
61
61
  });
62
62
  }
63
63
  run(_accessor, editor) {
64
- return triggerCodeActionsForEditorSelection(editor, nls.localize(837, "No code actions available"), undefined, undefined, CodeActionTriggerSource.QuickFix);
64
+ return triggerCodeActionsForEditorSelection(editor, nls.localize(843, "No code actions available"), undefined, undefined, CodeActionTriggerSource.QuickFix);
65
65
  }
66
66
  }
67
67
  export class CodeActionCommand extends EditorCommand {
@@ -82,11 +82,11 @@ export class CodeActionCommand extends EditorCommand {
82
82
  });
83
83
  return triggerCodeActionsForEditorSelection(editor, typeof userArgs?.kind === 'string'
84
84
  ? args.preferred
85
- ? nls.localize(838, "No preferred code actions for '{0}' available", userArgs.kind)
86
- : nls.localize(839, "No code actions for '{0}' available", userArgs.kind)
85
+ ? nls.localize(844, "No preferred code actions for '{0}' available", userArgs.kind)
86
+ : nls.localize(845, "No code actions for '{0}' available", userArgs.kind)
87
87
  : args.preferred
88
- ? nls.localize(840, "No preferred code actions available")
89
- : nls.localize(841, "No code actions available"), {
88
+ ? nls.localize(846, "No preferred code actions available")
89
+ : nls.localize(847, "No code actions available"), {
90
90
  include: args.kind,
91
91
  includeSourceActions: true,
92
92
  onlyIncludePreferredActions: args.preferred,
@@ -97,7 +97,7 @@ export class RefactorAction extends EditorAction {
97
97
  constructor() {
98
98
  super({
99
99
  id: refactorCommandId,
100
- label: nls.localize2(854, "Refactor..."),
100
+ label: nls.localize2(860, "Refactor..."),
101
101
  precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasCodeActionsProvider),
102
102
  kbOpts: {
103
103
  kbExpr: EditorContextKeys.textInputFocus,
@@ -125,11 +125,11 @@ export class RefactorAction extends EditorAction {
125
125
  });
126
126
  return triggerCodeActionsForEditorSelection(editor, typeof userArgs?.kind === 'string'
127
127
  ? args.preferred
128
- ? nls.localize(842, "No preferred refactorings for '{0}' available", userArgs.kind)
129
- : nls.localize(843, "No refactorings for '{0}' available", userArgs.kind)
128
+ ? nls.localize(848, "No preferred refactorings for '{0}' available", userArgs.kind)
129
+ : nls.localize(849, "No refactorings for '{0}' available", userArgs.kind)
130
130
  : args.preferred
131
- ? nls.localize(844, "No preferred refactorings available")
132
- : nls.localize(845, "No refactorings available"), {
131
+ ? nls.localize(850, "No preferred refactorings available")
132
+ : nls.localize(851, "No refactorings available"), {
133
133
  include: CodeActionKind.Refactor.contains(args.kind) ? args.kind : HierarchicalKind.None,
134
134
  onlyIncludePreferredActions: args.preferred
135
135
  }, args.apply, CodeActionTriggerSource.Refactor);
@@ -139,7 +139,7 @@ export class SourceAction extends EditorAction {
139
139
  constructor() {
140
140
  super({
141
141
  id: sourceActionCommandId,
142
- label: nls.localize2(855, "Source Action..."),
142
+ label: nls.localize2(861, "Source Action..."),
143
143
  precondition: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasCodeActionsProvider),
144
144
  contextMenuOpts: {
145
145
  group: '1_modification',
@@ -159,11 +159,11 @@ export class SourceAction extends EditorAction {
159
159
  });
160
160
  return triggerCodeActionsForEditorSelection(editor, typeof userArgs?.kind === 'string'
161
161
  ? args.preferred
162
- ? nls.localize(846, "No preferred source actions for '{0}' available", userArgs.kind)
163
- : nls.localize(847, "No source actions for '{0}' available", userArgs.kind)
162
+ ? nls.localize(852, "No preferred source actions for '{0}' available", userArgs.kind)
163
+ : nls.localize(853, "No source actions for '{0}' available", userArgs.kind)
164
164
  : args.preferred
165
- ? nls.localize(848, "No preferred source actions available")
166
- : nls.localize(849, "No source actions available"), {
165
+ ? nls.localize(854, "No preferred source actions available")
166
+ : nls.localize(855, "No source actions available"), {
167
167
  include: CodeActionKind.Source.contains(args.kind) ? args.kind : HierarchicalKind.None,
168
168
  includeSourceActions: true,
169
169
  onlyIncludePreferredActions: args.preferred,
@@ -174,7 +174,7 @@ export class OrganizeImportsAction extends EditorAction {
174
174
  constructor() {
175
175
  super({
176
176
  id: organizeImportsCommandId,
177
- label: nls.localize2(856, "Organize Imports"),
177
+ label: nls.localize2(862, "Organize Imports"),
178
178
  precondition: ContextKeyExpr.and(EditorContextKeys.writable, contextKeyForSupportedActions(CodeActionKind.SourceOrganizeImports)),
179
179
  kbOpts: {
180
180
  kbExpr: EditorContextKeys.textInputFocus,
@@ -182,31 +182,31 @@ export class OrganizeImportsAction extends EditorAction {
182
182
  weight: 100 /* KeybindingWeight.EditorContrib */
183
183
  },
184
184
  metadata: {
185
- description: nls.localize2(857, "Organize imports in the current file. Also called 'Optimize Imports' by some tools")
185
+ description: nls.localize2(863, "Organize imports in the current file. Also called 'Optimize Imports' by some tools")
186
186
  }
187
187
  });
188
188
  }
189
189
  run(_accessor, editor) {
190
- return triggerCodeActionsForEditorSelection(editor, nls.localize(850, "No organize imports action available"), { include: CodeActionKind.SourceOrganizeImports, includeSourceActions: true }, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.OrganizeImports);
190
+ return triggerCodeActionsForEditorSelection(editor, nls.localize(856, "No organize imports action available"), { include: CodeActionKind.SourceOrganizeImports, includeSourceActions: true }, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.OrganizeImports);
191
191
  }
192
192
  }
193
193
  export class FixAllAction extends EditorAction {
194
194
  constructor() {
195
195
  super({
196
196
  id: fixAllCommandId,
197
- label: nls.localize2(858, "Fix All"),
197
+ label: nls.localize2(864, "Fix All"),
198
198
  precondition: ContextKeyExpr.and(EditorContextKeys.writable, contextKeyForSupportedActions(CodeActionKind.SourceFixAll))
199
199
  });
200
200
  }
201
201
  run(_accessor, editor) {
202
- return triggerCodeActionsForEditorSelection(editor, nls.localize(851, "No fix all action available"), { include: CodeActionKind.SourceFixAll, includeSourceActions: true }, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.FixAll);
202
+ return triggerCodeActionsForEditorSelection(editor, nls.localize(857, "No fix all action available"), { include: CodeActionKind.SourceFixAll, includeSourceActions: true }, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.FixAll);
203
203
  }
204
204
  }
205
205
  export class AutoFixAction extends EditorAction {
206
206
  constructor() {
207
207
  super({
208
208
  id: autoFixCommandId,
209
- label: nls.localize2(859, "Auto Fix..."),
209
+ label: nls.localize2(865, "Auto Fix..."),
210
210
  precondition: ContextKeyExpr.and(EditorContextKeys.writable, contextKeyForSupportedActions(CodeActionKind.QuickFix)),
211
211
  kbOpts: {
212
212
  kbExpr: EditorContextKeys.textInputFocus,
@@ -219,7 +219,7 @@ export class AutoFixAction extends EditorAction {
219
219
  });
220
220
  }
221
221
  run(_accessor, editor) {
222
- return triggerCodeActionsForEditorSelection(editor, nls.localize(852, "No auto fixes available"), {
222
+ return triggerCodeActionsForEditorSelection(editor, nls.localize(858, "No auto fixes available"), {
223
223
  include: CodeActionKind.QuickFix,
224
224
  onlyIncludePreferredActions: true
225
225
  }, "ifSingle" /* CodeActionAutoApply.IfSingle */, CodeActionTriggerSource.AutoFix);
@@ -25,7 +25,7 @@ Registry.as(Extensions.Configuration).registerConfiguration({
25
25
  'editor.codeActionWidget.showHeaders': {
26
26
  type: 'boolean',
27
27
  scope: 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
28
- description: nls.localize(860, "Enable/disable showing group headers in the Code Action menu."),
28
+ description: nls.localize(866, "Enable/disable showing group headers in the Code Action menu."),
29
29
  default: true,
30
30
  },
31
31
  }
@@ -36,7 +36,7 @@ Registry.as(Extensions.Configuration).registerConfiguration({
36
36
  'editor.codeActionWidget.includeNearbyQuickFixes': {
37
37
  type: 'boolean',
38
38
  scope: 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
39
- description: nls.localize(861, "Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),
39
+ description: nls.localize(867, "Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),
40
40
  default: true,
41
41
  },
42
42
  }
@@ -47,7 +47,7 @@ Registry.as(Extensions.Configuration).registerConfiguration({
47
47
  'editor.codeActions.triggerOnFocusChange': {
48
48
  type: 'boolean',
49
49
  scope: 6 /* ConfigurationScope.LANGUAGE_OVERRIDABLE */,
50
- markdownDescription: nls.localize(862, 'Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.', '`#editor.codeActionsOnSave#`', '`#files.autoSave#`', '`afterDelay`', '`always`'),
50
+ markdownDescription: nls.localize(868, 'Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.', '`#editor.codeActionsOnSave#`', '`#files.autoSave#`', '`afterDelay`', '`always`'),
51
51
  default: false,
52
52
  },
53
53
  }
@@ -267,7 +267,7 @@ let CodeActionController = class CodeActionController extends Disposable {
267
267
  const diagnostic = diagnostics[0];
268
268
  if (diagnostic.startLineNumber && diagnostic.startColumn) {
269
269
  const selectionText = this._editor.getModel()?.getWordAtPosition({ lineNumber: diagnostic.startLineNumber, column: diagnostic.startColumn })?.word;
270
- aria.status(localize(863, "Context: {0} at line {1} and column {2}.", selectionText, diagnostic.startLineNumber, diagnostic.startColumn));
270
+ aria.status(localize(869, "Context: {0} at line {1} and column {2}.", selectionText, diagnostic.startLineNumber, diagnostic.startColumn));
271
271
  }
272
272
  }
273
273
  }
@@ -310,7 +310,7 @@ let CodeActionController = class CodeActionController extends Disposable {
310
310
  if (options.includeDisabledActions && actions.validActions.length > 0 && actions.allActions.length !== actions.validActions.length) {
311
311
  resultActions.push(this._showDisabled ? {
312
312
  id: 'hideMoreActions',
313
- label: localize(864, 'Hide Disabled'),
313
+ label: localize(870, 'Hide Disabled'),
314
314
  enabled: true,
315
315
  tooltip: '',
316
316
  class: undefined,
@@ -320,7 +320,7 @@ let CodeActionController = class CodeActionController extends Disposable {
320
320
  }
321
321
  } : {
322
322
  id: 'showMoreActions',
323
- label: localize(865, 'Show Disabled'),
323
+ label: localize(871, 'Show Disabled'),
324
324
  enabled: true,
325
325
  tooltip: '',
326
326
  class: undefined,
@@ -8,15 +8,15 @@ import { CodeActionKind } from '../common/types.js';
8
8
  import '../../symbolIcons/browser/symbolIcons.js'; // The codicon symbol colors are defined here and must be loaded to get colors
9
9
  import { localize } from '../../../../nls.js';
10
10
  import { HierarchicalKind } from '../../../../base/common/hierarchicalKind.js';
11
- const uncategorizedCodeActionGroup = Object.freeze({ kind: HierarchicalKind.Empty, title: localize(866, 'More Actions...') });
11
+ const uncategorizedCodeActionGroup = Object.freeze({ kind: HierarchicalKind.Empty, title: localize(872, 'More Actions...') });
12
12
  const codeActionGroups = Object.freeze([
13
- { kind: CodeActionKind.QuickFix, title: localize(867, 'Quick Fix') },
14
- { kind: CodeActionKind.RefactorExtract, title: localize(868, 'Extract'), icon: Codicon.wrench },
15
- { kind: CodeActionKind.RefactorInline, title: localize(869, 'Inline'), icon: Codicon.wrench },
16
- { kind: CodeActionKind.RefactorRewrite, title: localize(870, 'Rewrite'), icon: Codicon.wrench },
17
- { kind: CodeActionKind.RefactorMove, title: localize(871, 'Move'), icon: Codicon.wrench },
18
- { kind: CodeActionKind.SurroundWith, title: localize(872, 'Surround With'), icon: Codicon.surroundWith },
19
- { kind: CodeActionKind.Source, title: localize(873, 'Source Action'), icon: Codicon.symbolFile },
13
+ { kind: CodeActionKind.QuickFix, title: localize(873, 'Quick Fix') },
14
+ { kind: CodeActionKind.RefactorExtract, title: localize(874, 'Extract'), icon: Codicon.wrench },
15
+ { kind: CodeActionKind.RefactorInline, title: localize(875, 'Inline'), icon: Codicon.wrench },
16
+ { kind: CodeActionKind.RefactorRewrite, title: localize(876, 'Rewrite'), icon: Codicon.wrench },
17
+ { kind: CodeActionKind.RefactorMove, title: localize(877, 'Move'), icon: Codicon.wrench },
18
+ { kind: CodeActionKind.SurroundWith, title: localize(878, 'Surround With'), icon: Codicon.surroundWith },
19
+ { kind: CodeActionKind.Source, title: localize(879, 'Source Action'), icon: Codicon.symbolFile },
20
20
  uncategorizedCodeActionGroup,
21
21
  ]);
22
22
  export function toMenuItems(inputCodeActions, showHeaders, keybindingResolver) {
@@ -27,11 +27,11 @@ import * as nls from '../../../../nls.js';
27
27
  import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
28
28
  import { registerIcon } from '../../../../platform/theme/common/iconRegistry.js';
29
29
  import { Range } from '../../../common/core/range.js';
30
- const GUTTER_LIGHTBULB_ICON = registerIcon('gutter-lightbulb', Codicon.lightBulb, nls.localize(874, 'Icon which spawns code actions menu from the gutter when there is no space in the editor.'));
31
- const GUTTER_LIGHTBULB_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-auto-fix', Codicon.lightbulbAutofix, nls.localize(875, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.'));
32
- const GUTTER_LIGHTBULB_AIFIX_ICON = registerIcon('gutter-lightbulb-sparkle', Codicon.lightbulbSparkle, nls.localize(876, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.'));
33
- const GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-aifix-auto-fix', Codicon.lightbulbSparkleAutofix, nls.localize(877, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.'));
34
- const GUTTER_SPARKLE_FILLED_ICON = registerIcon('gutter-lightbulb-sparkle-filled', Codicon.sparkleFilled, nls.localize(878, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.'));
30
+ const GUTTER_LIGHTBULB_ICON = registerIcon('gutter-lightbulb', Codicon.lightBulb, nls.localize(880, 'Icon which spawns code actions menu from the gutter when there is no space in the editor.'));
31
+ const GUTTER_LIGHTBULB_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-auto-fix', Codicon.lightbulbAutofix, nls.localize(881, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.'));
32
+ const GUTTER_LIGHTBULB_AIFIX_ICON = registerIcon('gutter-lightbulb-sparkle', Codicon.lightbulbSparkle, nls.localize(882, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.'));
33
+ const GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON = registerIcon('gutter-lightbulb-aifix-auto-fix', Codicon.lightbulbSparkleAutofix, nls.localize(883, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.'));
34
+ const GUTTER_SPARKLE_FILLED_ICON = registerIcon('gutter-lightbulb-sparkle-filled', Codicon.sparkleFilled, nls.localize(884, 'Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.'));
35
35
  var LightBulbState;
36
36
  (function (LightBulbState) {
37
37
  LightBulbState.Hidden = { type: 0 /* Type.Hidden */ };
@@ -403,16 +403,16 @@ let LightBulbWidget = class LightBulbWidget extends Disposable {
403
403
  return;
404
404
  }
405
405
  if (autoRun) {
406
- this.title = nls.localize(879, "Run: {0}", this.state.actions.validActions[0].action.title);
406
+ this.title = nls.localize(885, "Run: {0}", this.state.actions.validActions[0].action.title);
407
407
  }
408
408
  else if (autoFix && this._preferredKbLabel) {
409
- this.title = nls.localize(880, "Show Code Actions. Preferred Quick Fix Available ({0})", this._preferredKbLabel);
409
+ this.title = nls.localize(886, "Show Code Actions. Preferred Quick Fix Available ({0})", this._preferredKbLabel);
410
410
  }
411
411
  else if (!autoFix && this._quickFixKbLabel) {
412
- this.title = nls.localize(881, "Show Code Actions ({0})", this._quickFixKbLabel);
412
+ this.title = nls.localize(887, "Show Code Actions ({0})", this._quickFixKbLabel);
413
413
  }
414
414
  else if (!autoFix) {
415
- this.title = nls.localize(882, "Show Code Actions");
415
+ this.title = nls.localize(888, "Show Code Actions");
416
416
  }
417
417
  }
418
418
  set title(value) {
@@ -1 +1 @@
1
- {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/codelens/browser/codelens.ts","vs/editor/contrib/codelens/browser/codelens.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAEpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AAOxF,MAAM,OAAO,aAAa;IAA1B;QAIC,WAAM,GAAmB,EAAE,CAAC;IAqB7B,CAAC;aAvBgB,UAAK,GAAG,IAAI,aAAa,EAApB,AAAsB,CAAC;IAM5C,OAAO;QACN,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IACxB,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,KAAK,CAAC;IACzC,CAAC;IAED,GAAG,CAAC,IAAkB,EAAE,QAA0B;QACjD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;;AAGF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAmD,EAAE,KAAiB,EAAE,KAAwB;IAEtI,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IAEnC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAEnD,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAE/B,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7E,IAAI,IAAI,EAAE,CAAC;gBACV,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE5B,IAAI,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,aAAa,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3C,gDAAgD;QAChD,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACrE,OAAO,CAAC,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC5E,OAAO,CAAC,CAAC;QACV,CAAC;aAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,EAAE,CAAC;YAChF,OAAO,CAAC,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAE,CAAC,EAAE,CAAC;YAChF,OAAO,CAAC,CAAC;QACV,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpE,OAAO,CAAC,CAAC,CAAC;QACX,CAAC;aAAM,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACpE,OAAO,CAAC,CAAC;QACV,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AACf,CAAC;AAED,gBAAgB,CAAC,eAAe,CAAC,0BAA0B,EAAE,UAAU,QAAQ,EAAE,GAAG,IAAsC;IACzH,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,UAAU,CAAC,OAAO,gBAAgB,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEtE,MAAM,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAe,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1C,OAAO,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QAErF,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,OAAO,GAAmB,EAAE,CAAC;QAEnC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,gBAAgB,KAAK,SAAS,IAAI,gBAAgB,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;iBAAM,IAAI,gBAAgB,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7J,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAE7B,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACZ,OAAO,MAAM,CAAC;IACf,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QACf,mDAAmD;QACnD,sBAAsB;QACtB,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","file":"codelens.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 { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<any>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n","/*---------------------------------------------------------------------------------------------\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 { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<any>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n"]}
1
+ {"version":3,"sources":["file:///mnt/vss/_work/1/s/dependencies/vscode/out-editor-src/vs/editor/contrib/codelens/browser/codelens.ts","vs/editor/contrib/codelens/browser/codelens.ts"],"names":[],"mappings":"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","file":"codelens.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 { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<unknown>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n","/*---------------------------------------------------------------------------------------------\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 { CancellationToken } from '../../../../base/common/cancellation.js';\nimport { illegalArgument, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, isDisposable } from '../../../../base/common/lifecycle.js';\nimport { assertType } from '../../../../base/common/types.js';\nimport { URI } from '../../../../base/common/uri.js';\nimport { ITextModel } from '../../../common/model.js';\nimport { CodeLens, CodeLensList, CodeLensProvider } from '../../../common/languages.js';\nimport { IModelService } from '../../../common/services/model.js';\nimport { CommandsRegistry } from '../../../../platform/commands/common/commands.js';\nimport { LanguageFeatureRegistry } from '../../../common/languageFeatureRegistry.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport interface CodeLensItem {\n\treadonly symbol: CodeLens;\n\treadonly provider: CodeLensProvider;\n}\n\nexport class CodeLensModel {\n\n\tstatic readonly Empty = new CodeLensModel();\n\n\tlenses: CodeLensItem[] = [];\n\n\tprivate _store: DisposableStore | undefined;\n\n\tdispose(): void {\n\t\tthis._store?.dispose();\n\t}\n\n\tget isDisposed(): boolean {\n\t\treturn this._store?.isDisposed ?? false;\n\t}\n\n\tadd(list: CodeLensList, provider: CodeLensProvider): void {\n\t\tif (isDisposable(list)) {\n\t\t\tthis._store ??= new DisposableStore();\n\t\t\tthis._store.add(list);\n\t\t}\n\t\tfor (const symbol of list.lenses) {\n\t\t\tthis.lenses.push({ symbol, provider });\n\t\t}\n\t}\n}\n\nexport async function getCodeLensModel(registry: LanguageFeatureRegistry<CodeLensProvider>, model: ITextModel, token: CancellationToken): Promise<CodeLensModel> {\n\n\tconst provider = registry.ordered(model);\n\tconst providerRanks = new Map<CodeLensProvider, number>();\n\tconst result = new CodeLensModel();\n\n\tconst promises = provider.map(async (provider, i) => {\n\n\t\tproviderRanks.set(provider, i);\n\n\t\ttry {\n\t\t\tconst list = await Promise.resolve(provider.provideCodeLenses(model, token));\n\t\t\tif (list) {\n\t\t\t\tresult.add(list, provider);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tonUnexpectedExternalError(err);\n\t\t}\n\t});\n\n\tawait Promise.all(promises);\n\n\tif (token.isCancellationRequested) {\n\t\tresult.dispose();\n\t\treturn CodeLensModel.Empty;\n\t}\n\n\tresult.lenses = result.lenses.sort((a, b) => {\n\t\t// sort by lineNumber, provider-rank, and column\n\t\tif (a.symbol.range.startLineNumber < b.symbol.range.startLineNumber) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startLineNumber > b.symbol.range.startLineNumber) {\n\t\t\treturn 1;\n\t\t} else if ((providerRanks.get(a.provider)!) < (providerRanks.get(b.provider)!)) {\n\t\t\treturn -1;\n\t\t} else if ((providerRanks.get(a.provider)!) > (providerRanks.get(b.provider)!)) {\n\t\t\treturn 1;\n\t\t} else if (a.symbol.range.startColumn < b.symbol.range.startColumn) {\n\t\t\treturn -1;\n\t\t} else if (a.symbol.range.startColumn > b.symbol.range.startColumn) {\n\t\t\treturn 1;\n\t\t} else {\n\t\t\treturn 0;\n\t\t}\n\t});\n\treturn result;\n}\n\nCommandsRegistry.registerCommand('_executeCodeLensProvider', function (accessor, ...args: [URI, number | undefined | null]) {\n\tlet [uri, itemResolveCount] = args;\n\tassertType(URI.isUri(uri));\n\tassertType(typeof itemResolveCount === 'number' || !itemResolveCount);\n\n\tconst { codeLensProvider } = accessor.get(ILanguageFeaturesService);\n\n\tconst model = accessor.get(IModelService).getModel(uri);\n\tif (!model) {\n\t\tthrow illegalArgument();\n\t}\n\n\tconst result: CodeLens[] = [];\n\tconst disposables = new DisposableStore();\n\treturn getCodeLensModel(codeLensProvider, model, CancellationToken.None).then(value => {\n\n\t\tdisposables.add(value);\n\t\tconst resolve: Promise<unknown>[] = [];\n\n\t\tfor (const item of value.lenses) {\n\t\t\tif (itemResolveCount === undefined || itemResolveCount === null || Boolean(item.symbol.command)) {\n\t\t\t\tresult.push(item.symbol);\n\t\t\t} else if (itemResolveCount-- > 0 && item.provider.resolveCodeLens) {\n\t\t\t\tresolve.push(Promise.resolve(item.provider.resolveCodeLens(model, item.symbol, CancellationToken.None)).then(symbol => result.push(symbol || item.symbol)));\n\t\t\t}\n\t\t}\n\n\t\treturn Promise.all(resolve);\n\n\t}).then(() => {\n\t\treturn result;\n\t}).finally(() => {\n\t\t// make sure to return results, then (on next tick)\n\t\t// dispose the results\n\t\tsetTimeout(() => disposables.dispose(), 100);\n\t});\n});\n"]}
@@ -404,7 +404,7 @@ registerEditorAction(class ShowLensesInCurrentLine extends EditorAction {
404
404
  super({
405
405
  id: 'codelens.showLensesInCurrentLine',
406
406
  precondition: EditorContextKeys.hasCodeLensProvider,
407
- label: localize2(884, "Show CodeLens Commands for Current Line"),
407
+ label: localize2(890, "Show CodeLens Commands for Current Line"),
408
408
  });
409
409
  }
410
410
  async run(accessor, editor) {
@@ -439,7 +439,7 @@ registerEditorAction(class ShowLensesInCurrentLine extends EditorAction {
439
439
  }
440
440
  const item = await quickInputService.pick(items, {
441
441
  canPickMany: false,
442
- placeHolder: localize(883, "Select a command")
442
+ placeHolder: localize(889, "Select a command")
443
443
  });
444
444
  if (!item) {
445
445
  // Nothing picked
@@ -1 +1 @@
1
- {"version":3,"sources":["vs/editor/contrib/codelens/browser/codelensController.ts"],"names":[],"mappings":"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","file":"codelensController.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\n\nimport { CancelablePromise, createCancelablePromise, disposableTimeout, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { onUnexpectedError, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { StableEditorScrollState } from '../../../browser/stableEditorScroll.js';\nimport { IActiveCodeEditor, ICodeEditor, IViewZoneChangeAccessor, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { EDITOR_FONT_DEFAULTS } from '../../../common/config/fontInfo.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { IModelDecorationsChangeAccessor } from '../../../common/model.js';\nimport { CodeLens, Command } from '../../../common/languages.js';\nimport { CodeLensItem, CodeLensModel, getCodeLensModel } from './codelens.js';\nimport { ICodeLensCache } from './codeLensCache.js';\nimport { CodeLensHelper, CodeLensWidget } from './codelensWidget.js';\nimport { localize, localize2 } from '../../../../nls.js';\nimport { ICommandService } from '../../../../platform/commands/common/commands.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport class CodeLensContribution implements IEditorContribution {\n\n\tstatic readonly ID: string = 'css.editor.codeLens';\n\n\tprivate readonly _disposables = new DisposableStore();\n\tprivate readonly _localToDispose = new DisposableStore();\n\n\tprivate readonly _lenses: CodeLensWidget[] = [];\n\n\tprivate readonly _provideCodeLensDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesScheduler: RunOnceScheduler;\n\n\tprivate _getCodeLensModelPromise: CancelablePromise<CodeLensModel> | undefined;\n\tprivate readonly _oldCodeLensModels = new DisposableStore();\n\tprivate _currentCodeLensModel: CodeLensModel | undefined;\n\tprivate _resolveCodeLensesPromise: CancelablePromise<any> | undefined;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@ILanguageFeatureDebounceService debounceService: ILanguageFeatureDebounceService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@ICodeLensCache private readonly _codeLensCache: ICodeLensCache\n\t) {\n\t\tthis._provideCodeLensDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensProvide', { min: 250 });\n\t\tthis._resolveCodeLensesDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensResolve', { min: 250, salt: 'resolve' });\n\t\tthis._resolveCodeLensesScheduler = new RunOnceScheduler(() => this._resolveCodeLensesInViewport(), this._resolveCodeLensesDebounce.default());\n\n\t\tthis._disposables.add(this._editor.onDidChangeModel(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeModelLanguage(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.fontInfo) || e.hasChanged(EditorOption.codeLensFontSize) || e.hasChanged(EditorOption.codeLensFontFamily)) {\n\t\t\t\tthis._updateLensStyle();\n\t\t\t}\n\t\t\tif (e.hasChanged(EditorOption.codeLens)) {\n\t\t\t\tthis._onModelChange();\n\t\t\t}\n\t\t}));\n\t\tthis._disposables.add(_languageFeaturesService.codeLensProvider.onDidChange(this._onModelChange, this));\n\t\tthis._onModelChange();\n\n\t\tthis._updateLensStyle();\n\t}\n\n\tdispose(): void {\n\t\tthis._localDispose();\n\t\tthis._localToDispose.dispose();\n\t\tthis._disposables.dispose();\n\t\tthis._oldCodeLensModels.dispose();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _getLayoutInfo() {\n\t\tconst lineHeightFactor = Math.max(1.3, this._editor.getOption(EditorOption.lineHeight) / this._editor.getOption(EditorOption.fontSize));\n\t\tlet fontSize = this._editor.getOption(EditorOption.codeLensFontSize);\n\t\tif (!fontSize || fontSize < 5) {\n\t\t\tfontSize = (this._editor.getOption(EditorOption.fontSize) * .9) | 0;\n\t\t}\n\t\treturn {\n\t\t\tfontSize,\n\t\t\tcodeLensHeight: (fontSize * lineHeightFactor) | 0,\n\t\t};\n\t}\n\n\tprivate _updateLensStyle(): void {\n\n\t\tconst { codeLensHeight, fontSize } = this._getLayoutInfo();\n\t\tconst fontFamily = this._editor.getOption(EditorOption.codeLensFontFamily);\n\t\tconst editorFontInfo = this._editor.getOption(EditorOption.fontInfo);\n\n\t\tconst { style } = this._editor.getContainerDomNode();\n\n\t\tstyle.setProperty('--vscode-editorCodeLens-lineHeight', `${codeLensHeight}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontSize', `${fontSize}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontFeatureSettings', editorFontInfo.fontFeatureSettings);\n\n\t\tif (fontFamily) {\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamily', fontFamily);\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamilyDefault', EDITOR_FONT_DEFAULTS.fontFamily);\n\t\t}\n\n\t\t//\n\t\tthis._editor.changeViewZones(accessor => {\n\t\t\tfor (const lens of this._lenses) {\n\t\t\t\tlens.updateHeight(codeLensHeight, accessor);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _localDispose(): void {\n\t\tthis._getCodeLensModelPromise?.cancel();\n\t\tthis._getCodeLensModelPromise = undefined;\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\t\tthis._localToDispose.clear();\n\t\tthis._oldCodeLensModels.clear();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _onModelChange(): void {\n\n\t\tthis._localDispose();\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.codeLens) || model.isTooLargeForTokenization()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst cachedLenses = this._codeLensCache.get(model);\n\t\tif (cachedLenses) {\n\t\t\tthis._renderCodeLensSymbols(cachedLenses);\n\t\t}\n\n\t\tif (!this._languageFeaturesService.codeLensProvider.has(model)) {\n\t\t\t// no provider -> return but check with\n\t\t\t// cached lenses. they expire after 30 seconds\n\t\t\tif (cachedLenses) {\n\t\t\t\tdisposableTimeout(() => {\n\t\t\t\t\tconst cachedLensesNow = this._codeLensCache.get(model);\n\t\t\t\t\tif (cachedLenses === cachedLensesNow) {\n\t\t\t\t\t\tthis._codeLensCache.delete(model);\n\t\t\t\t\t\tthis._onModelChange();\n\t\t\t\t\t}\n\t\t\t\t}, 30 * 1000, this._localToDispose);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const provider of this._languageFeaturesService.codeLensProvider.all(model)) {\n\t\t\tif (typeof provider.onDidChange === 'function') {\n\t\t\t\tconst registration = provider.onDidChange(() => scheduler.schedule());\n\t\t\t\tthis._localToDispose.add(registration);\n\t\t\t}\n\t\t}\n\n\t\tconst scheduler = new RunOnceScheduler(() => {\n\t\t\tconst t1 = Date.now();\n\n\t\t\tthis._getCodeLensModelPromise?.cancel();\n\t\t\tthis._getCodeLensModelPromise = createCancelablePromise(token => getCodeLensModel(this._languageFeaturesService.codeLensProvider, model, token));\n\n\t\t\tthis._getCodeLensModelPromise.then(result => {\n\t\t\t\tif (this._currentCodeLensModel) {\n\t\t\t\t\tthis._oldCodeLensModels.add(this._currentCodeLensModel);\n\t\t\t\t}\n\t\t\t\tthis._currentCodeLensModel = result;\n\n\t\t\t\t// cache model to reduce flicker\n\t\t\t\tthis._codeLensCache.put(model, result);\n\n\t\t\t\t// update moving average\n\t\t\t\tconst newDelay = this._provideCodeLensDebounce.update(model, Date.now() - t1);\n\t\t\t\tscheduler.delay = newDelay;\n\n\t\t\t\t// render lenses\n\t\t\t\tthis._renderCodeLensSymbols(result);\n\t\t\t\t// dom.scheduleAtNextAnimationFrame(() => this._resolveCodeLensesInViewport());\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}, onUnexpectedError);\n\n\t\t}, this._provideCodeLensDebounce.get(model));\n\n\t\tthis._localToDispose.add(scheduler);\n\t\tthis._localToDispose.add(toDisposable(() => this._resolveCodeLensesScheduler.cancel()));\n\t\tthis._localToDispose.add(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\tconst toDispose: CodeLensWidget[] = [];\n\t\t\t\t\tlet lastLensLineNumber: number = -1;\n\n\t\t\t\t\tthis._lenses.forEach((lens) => {\n\t\t\t\t\t\tif (!lens.isValid() || lastLensLineNumber === lens.getLineNumber()) {\n\t\t\t\t\t\t\t// invalid -> lens collapsed, attach range doesn't exist anymore\n\t\t\t\t\t\t\t// line_number -> lenses should never be on the same line\n\t\t\t\t\t\t\ttoDispose.push(lens);\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlens.update(viewZonesAccessor);\n\t\t\t\t\t\t\tlastLensLineNumber = lens.getLineNumber();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\t\ttoDispose.forEach((l) => {\n\t\t\t\t\t\tl.dispose(helper, viewZonesAccessor);\n\t\t\t\t\t\tthis._lenses.splice(this._lenses.indexOf(l), 1);\n\t\t\t\t\t});\n\t\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// Ask for all references again\n\t\t\tscheduler.schedule();\n\n\t\t\t// Cancel pending and active resolve requests\n\t\t\tthis._resolveCodeLensesScheduler.cancel();\n\t\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidFocusEditorText(() => {\n\t\t\tscheduler.schedule();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidBlurEditorText(() => {\n\t\t\tscheduler.cancel();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidScrollChange(e => {\n\t\t\tif (e.scrollTopChanged && this._lenses.length > 0) {\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidLayoutChange(() => {\n\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t}));\n\t\tthis._localToDispose.add(toDisposable(() => {\n\t\t\tif (this._editor.getModel()) {\n\t\t\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\t\tthis._disposeAllLenses(decorationsAccessor, viewZonesAccessor);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tscrollState.restore(this._editor);\n\t\t\t} else {\n\t\t\t\t// No accessors available\n\t\t\t\tthis._disposeAllLenses(undefined, undefined);\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onMouseDown(e => {\n\t\t\tif (e.target.type !== MouseTargetType.CONTENT_WIDGET) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet target = e.target.element;\n\t\t\tif (target?.tagName === 'SPAN') {\n\t\t\t\ttarget = target.parentElement;\n\t\t\t}\n\t\t\tif (target?.tagName === 'A') {\n\t\t\t\tfor (const lens of this._lenses) {\n\t\t\t\t\tconst command = lens.getCommand(target as HTMLLinkElement);\n\t\t\t\t\tif (command) {\n\t\t\t\t\t\tthis._commandService.executeCommand(command.id, ...(command.arguments || [])).catch(err => this._notificationService.error(err));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tscheduler.schedule();\n\t}\n\n\tprivate _disposeAllLenses(decChangeAccessor: IModelDecorationsChangeAccessor | undefined, viewZoneChangeAccessor: IViewZoneChangeAccessor | undefined): void {\n\t\tconst helper = new CodeLensHelper();\n\t\tfor (const lens of this._lenses) {\n\t\t\tlens.dispose(helper, viewZoneChangeAccessor);\n\t\t}\n\t\tif (decChangeAccessor) {\n\t\t\thelper.commit(decChangeAccessor);\n\t\t}\n\t\tthis._lenses.length = 0;\n\t}\n\n\tprivate _renderCodeLensSymbols(symbols: CodeLensModel): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxLineNumber = this._editor.getModel().getLineCount();\n\t\tconst groups: CodeLensItem[][] = [];\n\t\tlet lastGroup: CodeLensItem[] | undefined;\n\n\t\tfor (const symbol of symbols.lenses) {\n\t\t\tconst line = symbol.symbol.range.startLineNumber;\n\t\t\tif (line < 1 || line > maxLineNumber) {\n\t\t\t\t// invalid code lens\n\t\t\t\tcontinue;\n\t\t\t} else if (lastGroup && lastGroup[lastGroup.length - 1].symbol.range.startLineNumber === line) {\n\t\t\t\t// on same line as previous\n\t\t\t\tlastGroup.push(symbol);\n\t\t\t} else {\n\t\t\t\t// on later line as previous\n\t\t\t\tlastGroup = [symbol];\n\t\t\t\tgroups.push(lastGroup);\n\t\t\t}\n\t\t}\n\n\t\tif (!groups.length && !this._lenses.length) {\n\t\t\t// Nothing to change\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\tconst layoutInfo = this._getLayoutInfo();\n\n\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\tthis._editor.changeViewZones(viewZoneAccessor => {\n\n\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\tlet codeLensIndex = 0;\n\t\t\t\tlet groupsIndex = 0;\n\n\t\t\t\twhile (groupsIndex < groups.length && codeLensIndex < this._lenses.length) {\n\n\t\t\t\t\tconst symbolsLineNumber = groups[groupsIndex][0].symbol.range.startLineNumber;\n\t\t\t\t\tconst codeLensLineNumber = this._lenses[codeLensIndex].getLineNumber();\n\n\t\t\t\t\tif (codeLensLineNumber < symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t\t} else if (codeLensLineNumber === symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].updateCodeLensSymbols(groups[groupsIndex], helper);\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 0, new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Delete extra code lenses\n\t\t\t\twhile (codeLensIndex < this._lenses.length) {\n\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t}\n\n\t\t\t\t// Create extra symbols\n\t\t\t\twhile (groupsIndex < groups.length) {\n\t\t\t\t\tthis._lenses.push(new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\tgroupsIndex++;\n\t\t\t\t}\n\n\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t});\n\t\t});\n\n\t\tscrollState.restore(this._editor);\n\t}\n\n\tprivate _resolveCodeLensesInViewportSoon(): void {\n\t\tconst model = this._editor.getModel();\n\t\tif (model) {\n\t\t\tthis._resolveCodeLensesScheduler.schedule();\n\t\t}\n\t}\n\n\tprivate _resolveCodeLensesInViewport(): void {\n\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst toResolve: Array<ReadonlyArray<CodeLensItem>> = [];\n\t\tconst lenses: CodeLensWidget[] = [];\n\t\tthis._lenses.forEach((lens) => {\n\t\t\tconst request = lens.computeIfNecessary(model);\n\t\t\tif (request) {\n\t\t\t\ttoResolve.push(request);\n\t\t\t\tlenses.push(lens);\n\t\t\t}\n\t\t});\n\n\t\tif (toResolve.length === 0) {\n\t\t\tthis._oldCodeLensModels.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst t1 = Date.now();\n\n\t\tconst resolvePromise = createCancelablePromise(token => {\n\n\t\t\tconst promises = toResolve.map((request, i) => {\n\n\t\t\t\tconst resolvedSymbols = new Array<CodeLens | undefined | null>(request.length);\n\t\t\t\tconst promises = request.map((request, i) => {\n\t\t\t\t\tif (!request.symbol.command && typeof request.provider.resolveCodeLens === 'function') {\n\t\t\t\t\t\treturn Promise.resolve(request.provider.resolveCodeLens(model, request.symbol, token)).then(symbol => {\n\t\t\t\t\t\t\tresolvedSymbols[i] = symbol;\n\t\t\t\t\t\t}, onUnexpectedExternalError);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolvedSymbols[i] = request.symbol;\n\t\t\t\t\t\treturn Promise.resolve(undefined);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn Promise.all(promises).then(() => {\n\t\t\t\t\tif (!token.isCancellationRequested && !lenses[i].isDisposed()) {\n\t\t\t\t\t\tlenses[i].updateCommands(resolvedSymbols);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn Promise.all(promises);\n\t\t});\n\t\tthis._resolveCodeLensesPromise = resolvePromise;\n\n\t\tthis._resolveCodeLensesPromise.then(() => {\n\n\t\t\t// update moving average\n\t\t\tconst newDelay = this._resolveCodeLensesDebounce.update(model, Date.now() - t1);\n\t\t\tthis._resolveCodeLensesScheduler.delay = newDelay;\n\n\t\t\tif (this._currentCodeLensModel) { // update the cached state with new resolved items\n\t\t\t\tthis._codeLensCache.put(model, this._currentCodeLensModel);\n\t\t\t}\n\t\t\tthis._oldCodeLensModels.clear(); // dispose old models once we have updated the UI with the current model\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t}, err => {\n\t\t\tonUnexpectedError(err); // can also be cancellation!\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync getModel(): Promise<CodeLensModel | undefined> {\n\t\tawait this._getCodeLensModelPromise;\n\t\tawait this._resolveCodeLensesPromise;\n\t\treturn !this._currentCodeLensModel?.isDisposed\n\t\t\t? this._currentCodeLensModel\n\t\t\t: undefined;\n\t}\n}\n\nregisterEditorContribution(CodeLensContribution.ID, CodeLensContribution, EditorContributionInstantiation.AfterFirstRender);\n\nregisterEditorAction(class ShowLensesInCurrentLine extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'codelens.showLensesInCurrentLine',\n\t\t\tprecondition: EditorContextKeys.hasCodeLensProvider,\n\t\t\tlabel: localize2('showLensOnLine', \"Show CodeLens Commands for Current Line\"),\n\t\t});\n\t}\n\n\tasync run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst commandService = accessor.get(ICommandService);\n\t\tconst notificationService = accessor.get(INotificationService);\n\n\t\tconst lineNumber = editor.getSelection().positionLineNumber;\n\t\tconst codelensController = editor.getContribution<CodeLensContribution>(CodeLensContribution.ID);\n\t\tif (!codelensController) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = await codelensController.getModel();\n\t\tif (!model) {\n\t\t\t// nothing\n\t\t\treturn;\n\t\t}\n\n\t\tconst items: { label: string; command: Command }[] = [];\n\t\tfor (const lens of model.lenses) {\n\t\t\tif (lens.symbol.command && lens.symbol.range.startLineNumber === lineNumber) {\n\t\t\t\titems.push({\n\t\t\t\t\tlabel: lens.symbol.command.title,\n\t\t\t\t\tcommand: lens.symbol.command\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (items.length === 0) {\n\t\t\t// We dont want an empty picker\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = await quickInputService.pick(items, {\n\t\t\tcanPickMany: false,\n\t\t\tplaceHolder: localize('placeHolder', \"Select a command\")\n\t\t});\n\t\tif (!item) {\n\t\t\t// Nothing picked\n\t\t\treturn;\n\t\t}\n\n\t\tlet command = item.command;\n\n\t\tif (model.isDisposed) {\n\t\t\t// try to find the same command again in-case the model has been re-created in the meantime\n\t\t\t// this is a best attempt approach which shouldn't be needed because eager model re-creates\n\t\t\t// shouldn't happen due to focus in/out anymore\n\t\t\tconst newModel = await codelensController.getModel();\n\t\t\tconst newLens = newModel?.lenses.find(lens => lens.symbol.range.startLineNumber === lineNumber && lens.symbol.command?.title === command.title);\n\t\t\tif (!newLens || !newLens.symbol.command) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcommand = newLens.symbol.command;\n\t\t}\n\n\t\ttry {\n\t\t\tawait commandService.executeCommand(command.id, ...(command.arguments || []));\n\t\t} catch (err) {\n\t\t\tnotificationService.error(err);\n\t\t}\n\t}\n});\n"]}
1
+ {"version":3,"sources":["vs/editor/contrib/codelens/browser/codelensController.ts"],"names":[],"mappings":"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","file":"codelensController.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\n\nimport { CancelablePromise, createCancelablePromise, disposableTimeout, RunOnceScheduler } from '../../../../base/common/async.js';\nimport { onUnexpectedError, onUnexpectedExternalError } from '../../../../base/common/errors.js';\nimport { DisposableStore, toDisposable } from '../../../../base/common/lifecycle.js';\nimport { StableEditorScrollState } from '../../../browser/stableEditorScroll.js';\nimport { IActiveCodeEditor, ICodeEditor, IViewZoneChangeAccessor, MouseTargetType } from '../../../browser/editorBrowser.js';\nimport { EditorAction, EditorContributionInstantiation, registerEditorAction, registerEditorContribution, ServicesAccessor } from '../../../browser/editorExtensions.js';\nimport { EditorOption } from '../../../common/config/editorOptions.js';\nimport { EDITOR_FONT_DEFAULTS } from '../../../common/config/fontInfo.js';\nimport { IEditorContribution } from '../../../common/editorCommon.js';\nimport { EditorContextKeys } from '../../../common/editorContextKeys.js';\nimport { IModelDecorationsChangeAccessor } from '../../../common/model.js';\nimport { CodeLens, Command } from '../../../common/languages.js';\nimport { CodeLensItem, CodeLensModel, getCodeLensModel } from './codelens.js';\nimport { ICodeLensCache } from './codeLensCache.js';\nimport { CodeLensHelper, CodeLensWidget } from './codelensWidget.js';\nimport { localize, localize2 } from '../../../../nls.js';\nimport { ICommandService } from '../../../../platform/commands/common/commands.js';\nimport { INotificationService } from '../../../../platform/notification/common/notification.js';\nimport { IQuickInputService } from '../../../../platform/quickinput/common/quickInput.js';\nimport { IFeatureDebounceInformation, ILanguageFeatureDebounceService } from '../../../common/services/languageFeatureDebounce.js';\nimport { ILanguageFeaturesService } from '../../../common/services/languageFeatures.js';\n\nexport class CodeLensContribution implements IEditorContribution {\n\n\tstatic readonly ID: string = 'css.editor.codeLens';\n\n\tprivate readonly _disposables = new DisposableStore();\n\tprivate readonly _localToDispose = new DisposableStore();\n\n\tprivate readonly _lenses: CodeLensWidget[] = [];\n\n\tprivate readonly _provideCodeLensDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesDebounce: IFeatureDebounceInformation;\n\tprivate readonly _resolveCodeLensesScheduler: RunOnceScheduler;\n\n\tprivate _getCodeLensModelPromise: CancelablePromise<CodeLensModel> | undefined;\n\tprivate readonly _oldCodeLensModels = new DisposableStore();\n\tprivate _currentCodeLensModel: CodeLensModel | undefined;\n\tprivate _resolveCodeLensesPromise: CancelablePromise<void[]> | undefined;\n\n\tconstructor(\n\t\tprivate readonly _editor: ICodeEditor,\n\t\t@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,\n\t\t@ILanguageFeatureDebounceService debounceService: ILanguageFeatureDebounceService,\n\t\t@ICommandService private readonly _commandService: ICommandService,\n\t\t@INotificationService private readonly _notificationService: INotificationService,\n\t\t@ICodeLensCache private readonly _codeLensCache: ICodeLensCache\n\t) {\n\t\tthis._provideCodeLensDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensProvide', { min: 250 });\n\t\tthis._resolveCodeLensesDebounce = debounceService.for(_languageFeaturesService.codeLensProvider, 'CodeLensResolve', { min: 250, salt: 'resolve' });\n\t\tthis._resolveCodeLensesScheduler = new RunOnceScheduler(() => this._resolveCodeLensesInViewport(), this._resolveCodeLensesDebounce.default());\n\n\t\tthis._disposables.add(this._editor.onDidChangeModel(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeModelLanguage(() => this._onModelChange()));\n\t\tthis._disposables.add(this._editor.onDidChangeConfiguration((e) => {\n\t\t\tif (e.hasChanged(EditorOption.fontInfo) || e.hasChanged(EditorOption.codeLensFontSize) || e.hasChanged(EditorOption.codeLensFontFamily)) {\n\t\t\t\tthis._updateLensStyle();\n\t\t\t}\n\t\t\tif (e.hasChanged(EditorOption.codeLens)) {\n\t\t\t\tthis._onModelChange();\n\t\t\t}\n\t\t}));\n\t\tthis._disposables.add(_languageFeaturesService.codeLensProvider.onDidChange(this._onModelChange, this));\n\t\tthis._onModelChange();\n\n\t\tthis._updateLensStyle();\n\t}\n\n\tdispose(): void {\n\t\tthis._localDispose();\n\t\tthis._localToDispose.dispose();\n\t\tthis._disposables.dispose();\n\t\tthis._oldCodeLensModels.dispose();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _getLayoutInfo() {\n\t\tconst lineHeightFactor = Math.max(1.3, this._editor.getOption(EditorOption.lineHeight) / this._editor.getOption(EditorOption.fontSize));\n\t\tlet fontSize = this._editor.getOption(EditorOption.codeLensFontSize);\n\t\tif (!fontSize || fontSize < 5) {\n\t\t\tfontSize = (this._editor.getOption(EditorOption.fontSize) * .9) | 0;\n\t\t}\n\t\treturn {\n\t\t\tfontSize,\n\t\t\tcodeLensHeight: (fontSize * lineHeightFactor) | 0,\n\t\t};\n\t}\n\n\tprivate _updateLensStyle(): void {\n\n\t\tconst { codeLensHeight, fontSize } = this._getLayoutInfo();\n\t\tconst fontFamily = this._editor.getOption(EditorOption.codeLensFontFamily);\n\t\tconst editorFontInfo = this._editor.getOption(EditorOption.fontInfo);\n\n\t\tconst { style } = this._editor.getContainerDomNode();\n\n\t\tstyle.setProperty('--vscode-editorCodeLens-lineHeight', `${codeLensHeight}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontSize', `${fontSize}px`);\n\t\tstyle.setProperty('--vscode-editorCodeLens-fontFeatureSettings', editorFontInfo.fontFeatureSettings);\n\n\t\tif (fontFamily) {\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamily', fontFamily);\n\t\t\tstyle.setProperty('--vscode-editorCodeLens-fontFamilyDefault', EDITOR_FONT_DEFAULTS.fontFamily);\n\t\t}\n\n\t\t//\n\t\tthis._editor.changeViewZones(accessor => {\n\t\t\tfor (const lens of this._lenses) {\n\t\t\t\tlens.updateHeight(codeLensHeight, accessor);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _localDispose(): void {\n\t\tthis._getCodeLensModelPromise?.cancel();\n\t\tthis._getCodeLensModelPromise = undefined;\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\t\tthis._localToDispose.clear();\n\t\tthis._oldCodeLensModels.clear();\n\t\tthis._currentCodeLensModel?.dispose();\n\t}\n\n\tprivate _onModelChange(): void {\n\n\t\tthis._localDispose();\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._editor.getOption(EditorOption.codeLens) || model.isTooLargeForTokenization()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst cachedLenses = this._codeLensCache.get(model);\n\t\tif (cachedLenses) {\n\t\t\tthis._renderCodeLensSymbols(cachedLenses);\n\t\t}\n\n\t\tif (!this._languageFeaturesService.codeLensProvider.has(model)) {\n\t\t\t// no provider -> return but check with\n\t\t\t// cached lenses. they expire after 30 seconds\n\t\t\tif (cachedLenses) {\n\t\t\t\tdisposableTimeout(() => {\n\t\t\t\t\tconst cachedLensesNow = this._codeLensCache.get(model);\n\t\t\t\t\tif (cachedLenses === cachedLensesNow) {\n\t\t\t\t\t\tthis._codeLensCache.delete(model);\n\t\t\t\t\t\tthis._onModelChange();\n\t\t\t\t\t}\n\t\t\t\t}, 30 * 1000, this._localToDispose);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tfor (const provider of this._languageFeaturesService.codeLensProvider.all(model)) {\n\t\t\tif (typeof provider.onDidChange === 'function') {\n\t\t\t\tconst registration = provider.onDidChange(() => scheduler.schedule());\n\t\t\t\tthis._localToDispose.add(registration);\n\t\t\t}\n\t\t}\n\n\t\tconst scheduler = new RunOnceScheduler(() => {\n\t\t\tconst t1 = Date.now();\n\n\t\t\tthis._getCodeLensModelPromise?.cancel();\n\t\t\tthis._getCodeLensModelPromise = createCancelablePromise(token => getCodeLensModel(this._languageFeaturesService.codeLensProvider, model, token));\n\n\t\t\tthis._getCodeLensModelPromise.then(result => {\n\t\t\t\tif (this._currentCodeLensModel) {\n\t\t\t\t\tthis._oldCodeLensModels.add(this._currentCodeLensModel);\n\t\t\t\t}\n\t\t\t\tthis._currentCodeLensModel = result;\n\n\t\t\t\t// cache model to reduce flicker\n\t\t\t\tthis._codeLensCache.put(model, result);\n\n\t\t\t\t// update moving average\n\t\t\t\tconst newDelay = this._provideCodeLensDebounce.update(model, Date.now() - t1);\n\t\t\t\tscheduler.delay = newDelay;\n\n\t\t\t\t// render lenses\n\t\t\t\tthis._renderCodeLensSymbols(result);\n\t\t\t\t// dom.scheduleAtNextAnimationFrame(() => this._resolveCodeLensesInViewport());\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}, onUnexpectedError);\n\n\t\t}, this._provideCodeLensDebounce.get(model));\n\n\t\tthis._localToDispose.add(scheduler);\n\t\tthis._localToDispose.add(toDisposable(() => this._resolveCodeLensesScheduler.cancel()));\n\t\tthis._localToDispose.add(this._editor.onDidChangeModelContent(() => {\n\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\tconst toDispose: CodeLensWidget[] = [];\n\t\t\t\t\tlet lastLensLineNumber: number = -1;\n\n\t\t\t\t\tthis._lenses.forEach((lens) => {\n\t\t\t\t\t\tif (!lens.isValid() || lastLensLineNumber === lens.getLineNumber()) {\n\t\t\t\t\t\t\t// invalid -> lens collapsed, attach range doesn't exist anymore\n\t\t\t\t\t\t\t// line_number -> lenses should never be on the same line\n\t\t\t\t\t\t\ttoDispose.push(lens);\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlens.update(viewZonesAccessor);\n\t\t\t\t\t\t\tlastLensLineNumber = lens.getLineNumber();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\t\ttoDispose.forEach((l) => {\n\t\t\t\t\t\tl.dispose(helper, viewZonesAccessor);\n\t\t\t\t\t\tthis._lenses.splice(this._lenses.indexOf(l), 1);\n\t\t\t\t\t});\n\t\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t\t});\n\t\t\t});\n\n\t\t\t// Ask for all references again\n\t\t\tscheduler.schedule();\n\n\t\t\t// Cancel pending and active resolve requests\n\t\t\tthis._resolveCodeLensesScheduler.cancel();\n\t\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidFocusEditorText(() => {\n\t\t\tscheduler.schedule();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidBlurEditorText(() => {\n\t\t\tscheduler.cancel();\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidScrollChange(e => {\n\t\t\tif (e.scrollTopChanged && this._lenses.length > 0) {\n\t\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onDidLayoutChange(() => {\n\t\t\tthis._resolveCodeLensesInViewportSoon();\n\t\t}));\n\t\tthis._localToDispose.add(toDisposable(() => {\n\t\t\tif (this._editor.getModel()) {\n\t\t\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\t\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\t\t\tthis._editor.changeViewZones(viewZonesAccessor => {\n\t\t\t\t\t\tthis._disposeAllLenses(decorationsAccessor, viewZonesAccessor);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t\tscrollState.restore(this._editor);\n\t\t\t} else {\n\t\t\t\t// No accessors available\n\t\t\t\tthis._disposeAllLenses(undefined, undefined);\n\t\t\t}\n\t\t}));\n\t\tthis._localToDispose.add(this._editor.onMouseDown(e => {\n\t\t\tif (e.target.type !== MouseTargetType.CONTENT_WIDGET) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet target = e.target.element;\n\t\t\tif (target?.tagName === 'SPAN') {\n\t\t\t\ttarget = target.parentElement;\n\t\t\t}\n\t\t\tif (target?.tagName === 'A') {\n\t\t\t\tfor (const lens of this._lenses) {\n\t\t\t\t\tconst command = lens.getCommand(target as HTMLLinkElement);\n\t\t\t\t\tif (command) {\n\t\t\t\t\t\tthis._commandService.executeCommand(command.id, ...(command.arguments || [])).catch(err => this._notificationService.error(err));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}));\n\t\tscheduler.schedule();\n\t}\n\n\tprivate _disposeAllLenses(decChangeAccessor: IModelDecorationsChangeAccessor | undefined, viewZoneChangeAccessor: IViewZoneChangeAccessor | undefined): void {\n\t\tconst helper = new CodeLensHelper();\n\t\tfor (const lens of this._lenses) {\n\t\t\tlens.dispose(helper, viewZoneChangeAccessor);\n\t\t}\n\t\tif (decChangeAccessor) {\n\t\t\thelper.commit(decChangeAccessor);\n\t\t}\n\t\tthis._lenses.length = 0;\n\t}\n\n\tprivate _renderCodeLensSymbols(symbols: CodeLensModel): void {\n\t\tif (!this._editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst maxLineNumber = this._editor.getModel().getLineCount();\n\t\tconst groups: CodeLensItem[][] = [];\n\t\tlet lastGroup: CodeLensItem[] | undefined;\n\n\t\tfor (const symbol of symbols.lenses) {\n\t\t\tconst line = symbol.symbol.range.startLineNumber;\n\t\t\tif (line < 1 || line > maxLineNumber) {\n\t\t\t\t// invalid code lens\n\t\t\t\tcontinue;\n\t\t\t} else if (lastGroup && lastGroup[lastGroup.length - 1].symbol.range.startLineNumber === line) {\n\t\t\t\t// on same line as previous\n\t\t\t\tlastGroup.push(symbol);\n\t\t\t} else {\n\t\t\t\t// on later line as previous\n\t\t\t\tlastGroup = [symbol];\n\t\t\t\tgroups.push(lastGroup);\n\t\t\t}\n\t\t}\n\n\t\tif (!groups.length && !this._lenses.length) {\n\t\t\t// Nothing to change\n\t\t\treturn;\n\t\t}\n\n\t\tconst scrollState = StableEditorScrollState.capture(this._editor);\n\t\tconst layoutInfo = this._getLayoutInfo();\n\n\t\tthis._editor.changeDecorations(decorationsAccessor => {\n\t\t\tthis._editor.changeViewZones(viewZoneAccessor => {\n\n\t\t\t\tconst helper = new CodeLensHelper();\n\t\t\t\tlet codeLensIndex = 0;\n\t\t\t\tlet groupsIndex = 0;\n\n\t\t\t\twhile (groupsIndex < groups.length && codeLensIndex < this._lenses.length) {\n\n\t\t\t\t\tconst symbolsLineNumber = groups[groupsIndex][0].symbol.range.startLineNumber;\n\t\t\t\t\tconst codeLensLineNumber = this._lenses[codeLensIndex].getLineNumber();\n\n\t\t\t\t\tif (codeLensLineNumber < symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t\t} else if (codeLensLineNumber === symbolsLineNumber) {\n\t\t\t\t\t\tthis._lenses[codeLensIndex].updateCodeLensSymbols(groups[groupsIndex], helper);\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._lenses.splice(codeLensIndex, 0, new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\t\tcodeLensIndex++;\n\t\t\t\t\t\tgroupsIndex++;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Delete extra code lenses\n\t\t\t\twhile (codeLensIndex < this._lenses.length) {\n\t\t\t\t\tthis._lenses[codeLensIndex].dispose(helper, viewZoneAccessor);\n\t\t\t\t\tthis._lenses.splice(codeLensIndex, 1);\n\t\t\t\t}\n\n\t\t\t\t// Create extra symbols\n\t\t\t\twhile (groupsIndex < groups.length) {\n\t\t\t\t\tthis._lenses.push(new CodeLensWidget(groups[groupsIndex], <IActiveCodeEditor>this._editor, helper, viewZoneAccessor, layoutInfo.codeLensHeight, () => this._resolveCodeLensesInViewportSoon()));\n\t\t\t\t\tgroupsIndex++;\n\t\t\t\t}\n\n\t\t\t\thelper.commit(decorationsAccessor);\n\t\t\t});\n\t\t});\n\n\t\tscrollState.restore(this._editor);\n\t}\n\n\tprivate _resolveCodeLensesInViewportSoon(): void {\n\t\tconst model = this._editor.getModel();\n\t\tif (model) {\n\t\t\tthis._resolveCodeLensesScheduler.schedule();\n\t\t}\n\t}\n\n\tprivate _resolveCodeLensesInViewport(): void {\n\n\t\tthis._resolveCodeLensesPromise?.cancel();\n\t\tthis._resolveCodeLensesPromise = undefined;\n\n\t\tconst model = this._editor.getModel();\n\t\tif (!model) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst toResolve: Array<ReadonlyArray<CodeLensItem>> = [];\n\t\tconst lenses: CodeLensWidget[] = [];\n\t\tthis._lenses.forEach((lens) => {\n\t\t\tconst request = lens.computeIfNecessary(model);\n\t\t\tif (request) {\n\t\t\t\ttoResolve.push(request);\n\t\t\t\tlenses.push(lens);\n\t\t\t}\n\t\t});\n\n\t\tif (toResolve.length === 0) {\n\t\t\tthis._oldCodeLensModels.clear();\n\t\t\treturn;\n\t\t}\n\n\t\tconst t1 = Date.now();\n\n\t\tconst resolvePromise = createCancelablePromise(token => {\n\n\t\t\tconst promises = toResolve.map((request, i) => {\n\n\t\t\t\tconst resolvedSymbols = new Array<CodeLens | undefined | null>(request.length);\n\t\t\t\tconst promises = request.map((request, i) => {\n\t\t\t\t\tif (!request.symbol.command && typeof request.provider.resolveCodeLens === 'function') {\n\t\t\t\t\t\treturn Promise.resolve(request.provider.resolveCodeLens(model, request.symbol, token)).then(symbol => {\n\t\t\t\t\t\t\tresolvedSymbols[i] = symbol;\n\t\t\t\t\t\t}, onUnexpectedExternalError);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolvedSymbols[i] = request.symbol;\n\t\t\t\t\t\treturn Promise.resolve(undefined);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn Promise.all(promises).then(() => {\n\t\t\t\t\tif (!token.isCancellationRequested && !lenses[i].isDisposed()) {\n\t\t\t\t\t\tlenses[i].updateCommands(resolvedSymbols);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn Promise.all(promises);\n\t\t});\n\t\tthis._resolveCodeLensesPromise = resolvePromise;\n\n\t\tthis._resolveCodeLensesPromise.then(() => {\n\n\t\t\t// update moving average\n\t\t\tconst newDelay = this._resolveCodeLensesDebounce.update(model, Date.now() - t1);\n\t\t\tthis._resolveCodeLensesScheduler.delay = newDelay;\n\n\t\t\tif (this._currentCodeLensModel) { // update the cached state with new resolved items\n\t\t\t\tthis._codeLensCache.put(model, this._currentCodeLensModel);\n\t\t\t}\n\t\t\tthis._oldCodeLensModels.clear(); // dispose old models once we have updated the UI with the current model\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t}, err => {\n\t\t\tonUnexpectedError(err); // can also be cancellation!\n\t\t\tif (resolvePromise === this._resolveCodeLensesPromise) {\n\t\t\t\tthis._resolveCodeLensesPromise = undefined;\n\t\t\t}\n\t\t});\n\t}\n\n\tasync getModel(): Promise<CodeLensModel | undefined> {\n\t\tawait this._getCodeLensModelPromise;\n\t\tawait this._resolveCodeLensesPromise;\n\t\treturn !this._currentCodeLensModel?.isDisposed\n\t\t\t? this._currentCodeLensModel\n\t\t\t: undefined;\n\t}\n}\n\nregisterEditorContribution(CodeLensContribution.ID, CodeLensContribution, EditorContributionInstantiation.AfterFirstRender);\n\nregisterEditorAction(class ShowLensesInCurrentLine extends EditorAction {\n\n\tconstructor() {\n\t\tsuper({\n\t\t\tid: 'codelens.showLensesInCurrentLine',\n\t\t\tprecondition: EditorContextKeys.hasCodeLensProvider,\n\t\t\tlabel: localize2('showLensOnLine', \"Show CodeLens Commands for Current Line\"),\n\t\t});\n\t}\n\n\tasync run(accessor: ServicesAccessor, editor: ICodeEditor): Promise<void> {\n\n\t\tif (!editor.hasModel()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst quickInputService = accessor.get(IQuickInputService);\n\t\tconst commandService = accessor.get(ICommandService);\n\t\tconst notificationService = accessor.get(INotificationService);\n\n\t\tconst lineNumber = editor.getSelection().positionLineNumber;\n\t\tconst codelensController = editor.getContribution<CodeLensContribution>(CodeLensContribution.ID);\n\t\tif (!codelensController) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst model = await codelensController.getModel();\n\t\tif (!model) {\n\t\t\t// nothing\n\t\t\treturn;\n\t\t}\n\n\t\tconst items: { label: string; command: Command }[] = [];\n\t\tfor (const lens of model.lenses) {\n\t\t\tif (lens.symbol.command && lens.symbol.range.startLineNumber === lineNumber) {\n\t\t\t\titems.push({\n\t\t\t\t\tlabel: lens.symbol.command.title,\n\t\t\t\t\tcommand: lens.symbol.command\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (items.length === 0) {\n\t\t\t// We dont want an empty picker\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = await quickInputService.pick(items, {\n\t\t\tcanPickMany: false,\n\t\t\tplaceHolder: localize('placeHolder', \"Select a command\")\n\t\t});\n\t\tif (!item) {\n\t\t\t// Nothing picked\n\t\t\treturn;\n\t\t}\n\n\t\tlet command = item.command;\n\n\t\tif (model.isDisposed) {\n\t\t\t// try to find the same command again in-case the model has been re-created in the meantime\n\t\t\t// this is a best attempt approach which shouldn't be needed because eager model re-creates\n\t\t\t// shouldn't happen due to focus in/out anymore\n\t\t\tconst newModel = await codelensController.getModel();\n\t\t\tconst newLens = newModel?.lenses.find(lens => lens.symbol.range.startLineNumber === lineNumber && lens.symbol.command?.title === command.title);\n\t\t\tif (!newLens || !newLens.symbol.command) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcommand = newLens.symbol.command;\n\t\t}\n\n\t\ttry {\n\t\t\tawait commandService.executeCommand(command.id, ...(command.arguments || []));\n\t\t} catch (err) {\n\t\t\tnotificationService.error(err);\n\t\t}\n\t}\n});\n"]}
@@ -22,7 +22,7 @@ export class CloseButton extends Disposable {
22
22
  const innerDiv = document.createElement('div');
23
23
  innerDiv.classList.add('close-button-inner-div');
24
24
  dom.append(this._button, innerDiv);
25
- const closeButton = dom.append(innerDiv, $('.button' + ThemeIcon.asCSSSelector(registerIcon('color-picker-close', Codicon.close, localize(885, 'Icon to close the color picker')))));
25
+ const closeButton = dom.append(innerDiv, $('.button' + ThemeIcon.asCSSSelector(registerIcon('color-picker-close', Codicon.close, localize(891, 'Icon to close the color picker')))));
26
26
  closeButton.classList.add('close-icon');
27
27
  this._register(dom.addDisposableListener(this._button, dom.EventType.CLICK, () => {
28
28
  this._onClicked.fire();
@@ -22,7 +22,7 @@ export class ColorPickerHeader extends Disposable {
22
22
  dom.append(this._pickedColorNode, $('span.codicon.codicon-color-mode'));
23
23
  this._pickedColorPresentation = dom.append(this._pickedColorNode, document.createElement('span'));
24
24
  this._pickedColorPresentation.classList.add('picked-color-presentation');
25
- const tooltip = localize(886, "Click to toggle color options (rgb/hsl/hex)");
25
+ const tooltip = localize(892, "Click to toggle color options (rgb/hsl/hex)");
26
26
  this._pickedColorNode.setAttribute('title', tooltip);
27
27
  this._originalColorNode = dom.append(this._domNode, $('.original-color'));
28
28
  this._originalColorNode.style.backgroundColor = Color.Format.CSS.format(this.model.originalColor) || '';
@@ -127,7 +127,7 @@ let HoverColorPickerParticipant = class HoverColorPickerParticipant {
127
127
  return new RenderedHoverParts([renderedHoverPart]);
128
128
  }
129
129
  getAccessibleContent(hoverPart) {
130
- return nls.localize(887, 'There is a color picker here.');
130
+ return nls.localize(893, 'There is a color picker here.');
131
131
  }
132
132
  handleResize() {
133
133
  this._colorPicker?.layout();