@codingame/monaco-vscode-api 6.0.2 → 7.0.0

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 (450) hide show
  1. package/README.md +93 -73
  2. package/api.js +1 -1
  3. package/debugProtocol.d.ts +10 -1
  4. package/extensions.d.ts +2 -0
  5. package/missing-services.js +21 -2
  6. package/monaco.d.ts +1 -1
  7. package/monaco.js +1 -1
  8. package/package.json +9 -9
  9. package/service-override/extensions.d.ts +1 -2
  10. package/services.js +4 -2
  11. package/vscode/src/vs/base/browser/dnd.js +1 -1
  12. package/vscode/src/vs/base/browser/dom.js +116 -5
  13. package/vscode/src/vs/base/browser/domObservable.js +16 -0
  14. package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
  15. package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
  16. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  17. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  18. package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
  19. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
  20. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  22. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
  24. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
  25. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
  26. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
  28. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
  30. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  31. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
  33. package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
  34. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
  36. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  39. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  40. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
  41. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  42. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  43. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
  44. package/vscode/src/vs/base/common/assert.js +1 -1
  45. package/vscode/src/vs/base/common/collections.js +49 -1
  46. package/vscode/src/vs/base/common/equals.js +55 -5
  47. package/vscode/src/vs/base/common/errors.js +14 -1
  48. package/vscode/src/vs/base/common/event.js +2 -1
  49. package/vscode/src/vs/base/common/history.js +7 -4
  50. package/vscode/src/vs/base/common/iterator.js +9 -1
  51. package/vscode/src/vs/base/common/map.d.ts +41 -0
  52. package/vscode/src/vs/base/common/numbers.js +18 -1
  53. package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
  54. package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
  55. package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
  56. package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
  57. package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
  58. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
  59. package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
  60. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
  61. package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
  62. package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
  63. package/vscode/src/vs/base/common/product.d.ts +1 -0
  64. package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
  65. package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
  66. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  67. package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
  68. package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
  69. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
  70. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
  71. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
  72. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  73. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
  74. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
  75. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  76. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  77. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  88. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
  89. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  90. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
  91. package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
  92. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
  93. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
  94. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
  95. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
  96. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
  97. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  98. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
  99. package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
  100. package/vscode/src/vs/editor/common/languages.d.ts +20 -3
  101. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
  102. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
  103. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
  104. package/vscode/src/vs/editor/common/model/textModel.js +6 -2
  105. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
  106. package/vscode/src/vs/editor/common/model.d.ts +4 -0
  107. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  108. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
  109. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
  110. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
  111. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
  112. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
  113. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  114. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
  116. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
  117. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
  118. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
  119. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
  120. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
  121. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
  122. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
  123. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
  124. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
  125. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
  126. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  127. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
  130. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
  131. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
  132. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
  135. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
  136. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
  137. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
  138. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
  139. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
  140. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
  147. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
  148. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
  149. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  150. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
  151. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
  152. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  153. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
  155. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
  156. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
  157. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
  158. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
  159. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
  160. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
  161. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
  162. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  163. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  164. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
  165. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
  166. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
  167. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  168. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
  169. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
  170. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
  171. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
  172. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
  173. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
  174. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
  175. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
  176. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
  177. package/vscode/src/vs/editor/editor.api.d.ts +31 -5
  178. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
  179. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
  180. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
  181. package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
  182. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  183. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  184. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
  185. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
  186. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  187. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  188. package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
  189. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
  190. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
  191. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
  192. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
  193. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
  194. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
  195. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
  196. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
  197. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
  198. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  199. package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
  200. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
  201. package/vscode/src/vs/platform/files/common/watcher.js +21 -24
  202. package/vscode/src/vs/platform/list/browser/listService.js +2 -1
  203. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  204. package/vscode/src/vs/platform/opener/browser/link.js +1 -1
  205. package/vscode/src/vs/platform/product/common/product.js +1 -1
  206. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  207. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
  208. package/vscode/src/vs/platform/request/common/request.js +18 -8
  209. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
  210. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
  211. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
  212. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
  213. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  214. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
  215. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
  216. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
  217. package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
  218. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
  219. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
  220. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
  221. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
  222. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
  223. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
  224. package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
  225. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
  226. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  227. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  228. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
  229. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
  230. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
  231. package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
  232. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
  233. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  234. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
  235. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
  236. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
  237. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  238. package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
  239. package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
  240. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
  241. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
  242. package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
  243. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
  244. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
  245. package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
  246. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  247. package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
  249. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
  250. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
  251. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
  252. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  253. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
  254. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  255. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
  256. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
  257. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
  258. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
  259. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
  260. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  261. package/vscode/src/vs/workbench/browser/web.api.js +8 -0
  262. package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
  263. package/vscode/src/vs/workbench/common/configuration.js +1 -1
  264. package/vscode/src/vs/workbench/common/contributions.js +8 -1
  265. package/vscode/src/vs/workbench/common/editor.js +5 -1
  266. package/vscode/src/vs/workbench/common/theme.js +79 -454
  267. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
  268. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
  269. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
  282. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
  285. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
  286. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
  287. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
  288. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
  290. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
  291. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  293. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
  294. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  295. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
  296. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
  297. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
  298. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
  299. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
  300. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
  301. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
  302. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
  303. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
  304. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
  305. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
  306. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
  307. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
  308. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
  309. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  310. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
  311. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
  312. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
  313. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
  314. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
  315. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  316. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  317. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
  318. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
  319. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
  320. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
  321. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
  322. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
  323. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
  324. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
  325. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
  326. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
  327. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
  328. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
  329. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  330. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
  331. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
  332. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
  333. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  334. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
  342. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
  343. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  344. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  345. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
  346. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
  347. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  348. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
  349. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
  354. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
  355. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
  356. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
  357. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
  358. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  359. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
  360. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
  361. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
  362. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
  363. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
  364. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
  365. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
  366. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
  380. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
  381. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
  382. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
  383. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
  384. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
  385. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
  386. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
  387. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
  388. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
  389. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
  390. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
  391. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
  392. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
  393. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  394. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
  395. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
  396. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
  397. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
  398. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
  399. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
  400. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
  401. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
  402. package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
  403. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
  404. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
  405. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
  406. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  407. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
  408. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  409. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
  410. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
  411. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  412. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
  413. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
  414. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
  415. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
  416. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
  417. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
  418. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
  419. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
  420. package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
  421. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  422. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
  423. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  424. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
  425. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
  426. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
  427. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
  428. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
  429. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  430. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
  431. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
  432. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
  433. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
  434. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
  435. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
  436. package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
  437. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
  438. package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
  439. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
  440. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
  441. package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
  442. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
  443. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
  444. package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
  445. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
  446. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
  447. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
  448. package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
  449. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
  450. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
@@ -139,7 +139,7 @@ class WordOperations {
139
139
  }
140
140
  return 0;
141
141
  }
142
- static moveWordLeft(wordSeparators, model, position, wordNavigationType) {
142
+ static moveWordLeft(wordSeparators, model, position, wordNavigationType, hasMulticursor) {
143
143
  let lineNumber = position.lineNumber;
144
144
  let column = position.column;
145
145
  if (column === 1) {
@@ -153,7 +153,8 @@ class WordOperations {
153
153
  return ( new Position(lineNumber, prevWordOnLine ? prevWordOnLine.start + 1 : 1));
154
154
  }
155
155
  if (wordNavigationType === WordNavigationType.WordStartFast) {
156
- if (prevWordOnLine
156
+ if (!hasMulticursor
157
+ && prevWordOnLine
157
158
  && prevWordOnLine.wordType === WordType.Separator
158
159
  && prevWordOnLine.end - prevWordOnLine.start === 1
159
160
  && prevWordOnLine.nextCharClass === WordCharacterClass.Regular) {
@@ -678,10 +679,10 @@ class WordPartOperations extends WordOperations {
678
679
  candidates.sort(Range.compareRangesUsingStarts);
679
680
  return candidates[0];
680
681
  }
681
- static moveWordPartLeft(wordSeparators, model, position) {
682
+ static moveWordPartLeft(wordSeparators, model, position, hasMulticursor) {
682
683
  const candidates = enforceDefined([
683
- WordOperations.moveWordLeft(wordSeparators, model, position, WordNavigationType.WordStart),
684
- WordOperations.moveWordLeft(wordSeparators, model, position, WordNavigationType.WordEnd),
684
+ WordOperations.moveWordLeft(wordSeparators, model, position, WordNavigationType.WordStart, hasMulticursor),
685
+ WordOperations.moveWordLeft(wordSeparators, model, position, WordNavigationType.WordEnd, hasMulticursor),
685
686
  WordOperations._moveWordPartLeft(model, position)
686
687
  ]);
687
688
  candidates.sort(Position.compare);
@@ -21,6 +21,7 @@ declare class LanguageFeatureRegistry<T> {
21
21
  register(selector: LanguageSelector, provider: T): IDisposable;
22
22
  has(model: ITextModel): boolean;
23
23
  all(model: ITextModel): T[];
24
+ allNoModel(): T[];
24
25
  ordered(model: ITextModel): T[];
25
26
  orderedGroups(model: ITextModel): T[][];
26
27
  private _orderedForEach;
@@ -73,6 +73,9 @@ class LanguageFeatureRegistry {
73
73
  }
74
74
  return result;
75
75
  }
76
+ allNoModel() {
77
+ return ( this._entries.map(entry => entry.provider));
78
+ }
76
79
  ordered(model) {
77
80
  const result = [];
78
81
  this._orderedForEach(model, entry => result.push(entry.provider));
@@ -253,7 +253,8 @@ function getIndentForEnter(autoIndent, model, range, indentConverter, languageCo
253
253
  afterEnter: afterEnterIndent
254
254
  };
255
255
  }
256
- function getIndentActionForType(autoIndent, model, range, ch, indentConverter, languageConfigurationService) {
256
+ function getIndentActionForType(cursorConfig, model, range, ch, indentConverter, languageConfigurationService) {
257
+ const autoIndent = cursorConfig.autoIndent;
257
258
  if (autoIndent < EditorAutoIndentStrategy.Full) {
258
259
  return null;
259
260
  }
@@ -283,6 +284,27 @@ function getIndentActionForType(autoIndent, model, range, ch, indentConverter, l
283
284
  }
284
285
  return indentation;
285
286
  }
287
+ const previousLineNumber = range.startLineNumber - 1;
288
+ if (previousLineNumber > 0) {
289
+ const previousLine = model.getLineContent(previousLineNumber);
290
+ if (indentRulesSupport.shouldIndentNextLine(previousLine) && indentRulesSupport.shouldIncrease(textAroundRangeWithCharacter)) {
291
+ const inheritedIndentationData = getInheritIndentForLine(autoIndent, model, range.startLineNumber, false, languageConfigurationService);
292
+ const inheritedIndentation = inheritedIndentationData?.indentation;
293
+ if (inheritedIndentation !== undefined) {
294
+ const currentLine = model.getLineContent(range.startLineNumber);
295
+ const actualCurrentIndentation = getLeadingWhitespace(currentLine);
296
+ const inferredCurrentIndentation = indentConverter.shiftIndent(inheritedIndentation);
297
+ const inferredIndentationEqualsActual = inferredCurrentIndentation === actualCurrentIndentation;
298
+ const textAroundRangeContainsOnlyWhitespace = /^\s*$/.test(textAroundRange);
299
+ const autoClosingPairs = cursorConfig.autoClosingPairs.autoClosingPairsOpenByEnd.get(ch);
300
+ const autoClosingPairExists = autoClosingPairs && autoClosingPairs.length > 0;
301
+ const isChFirstNonWhitespaceCharacterAndInAutoClosingPair = autoClosingPairExists && textAroundRangeContainsOnlyWhitespace;
302
+ if (inferredIndentationEqualsActual && isChFirstNonWhitespaceCharacterAndInAutoClosingPair) {
303
+ return inheritedIndentation;
304
+ }
305
+ }
306
+ }
307
+ }
286
308
  return null;
287
309
  }
288
310
  function getIndentMetadata(model, lineNumber, languageConfigurationService) {
@@ -419,6 +419,11 @@ interface InlineCompletionContext {
419
419
  */
420
420
  readonly triggerKind: InlineCompletionTriggerKind;
421
421
  readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
422
+ /**
423
+ * @experimental
424
+ * @internal
425
+ */
426
+ readonly userPrompt?: string | undefined;
422
427
  }
423
428
  declare class SelectedSuggestionInfo {
424
429
  readonly range: IRange;
@@ -478,6 +483,11 @@ interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
478
483
  type InlineCompletionProviderGroupId = string;
479
484
  interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
480
485
  provideInlineCompletions(model: ITextModel, position: Position, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
486
+ /**
487
+ * @experimental
488
+ * @internal
489
+ */
490
+ provideInlineEdits?(model: ITextModel, range: Range, context: InlineCompletionContext, token: CancellationToken): ProviderResult<T>;
481
491
  /**
482
492
  * Will be called when an item is shown.
483
493
  * @param updatedInsertText Is useful to understand bracket completion.
@@ -1348,13 +1358,20 @@ interface DocumentDropEdit {
1348
1358
  };
1349
1359
  additionalEdit?: WorkspaceEdit;
1350
1360
  }
1361
+ /**
1362
+ * @internal
1363
+ */
1364
+ interface DocumentDropEditsSession {
1365
+ edits: readonly DocumentDropEdit[];
1366
+ dispose(): void;
1367
+ }
1351
1368
  /**
1352
1369
  * @internal
1353
1370
  */
1354
1371
  interface DocumentDropEditProvider {
1355
1372
  readonly id?: string;
1356
1373
  readonly dropMimeTypes?: readonly string[];
1357
- provideDocumentDropEdits(model: ITextModel, position: IPosition, dataTransfer: IReadonlyVSDataTransfer, token: CancellationToken): ProviderResult<DocumentDropEdit[]>;
1374
+ provideDocumentDropEdits(model: ITextModel, position: IPosition, dataTransfer: IReadonlyVSDataTransfer, token: CancellationToken): ProviderResult<DocumentDropEditsSession>;
1358
1375
  resolveDocumentDropEdit?(edit: DocumentDropEdit, token: CancellationToken): Promise<DocumentDropEdit>;
1359
1376
  }
1360
1377
  interface DocumentContextItem {
@@ -1372,7 +1389,7 @@ interface MappedEditsProvider {
1372
1389
  *
1373
1390
  * @param document The document to provide mapped edits for.
1374
1391
  * @param codeBlocks Code blocks that come from an LLM's reply.
1375
- * "Insert at cursor" in the panel chat only sends one edit that the user clicks on, but inline chat can send multiple blocks and let the lang server decide what to do with them.
1392
+ * "Apply in Editor" in the panel chat only sends one edit that the user clicks on, but inline chat can send multiple blocks and let the lang server decide what to do with them.
1376
1393
  * @param context The context for providing mapped edits.
1377
1394
  * @param token A cancellation token.
1378
1395
  * @returns A provider result of text edits.
@@ -1397,4 +1414,4 @@ interface InlineEditProvider<T extends IInlineEdit = IInlineEdit> {
1397
1414
  freeInlineEdit(edit: T): void;
1398
1415
  }
1399
1416
 
1400
- export { type CodeAction, type CodeActionContext, type CodeActionList, type CodeActionProvider, CodeActionTriggerType, type CodeLens, type CodeLensList, type CodeLensProvider, Command, type CompletionContext, type CompletionItem, CompletionItemInsertTextRule, CompletionItemKind, type CompletionItemLabel, type CompletionItemProvider, type CompletionItemRanges, CompletionItemTag, type CompletionList, CompletionTriggerKind, type DeclarationProvider, type Definition, type DefinitionProvider, type DocumentColorProvider, type DocumentContextItem, type DocumentDropEdit, type DocumentDropEditProvider, type DocumentFormattingEditProvider, type DocumentHighlight, DocumentHighlightKind, type DocumentHighlightProvider, type DocumentPasteContext, type DocumentPasteEdit, type DocumentPasteEditProvider, type DocumentPasteEditsSession, DocumentPasteTriggerKind, type DocumentRangeFormattingEditProvider, type DocumentRangeSemanticTokensProvider, type DocumentSemanticTokensProvider, type DocumentSymbol, type DocumentSymbolProvider, type DropYieldTo, type EvaluatableExpression, type EvaluatableExpressionProvider, type FoldingContext, type FoldingRange, FoldingRangeKind, type FoldingRangeProvider, type FormattingOptions, type Hover, type HoverContext, type HoverProvider, type HoverVerbosityRequest, type IColor, type IColorInformation, type IColorPresentation, type IInlineEdit, type IInlineEditContext, type IInplaceReplaceSupportResult, type ILanguageIdCodec, type ILink, type ILinksList, type IWorkspaceFileEdit, type IWorkspaceTextEdit, type ImplementationProvider, type InlayHint, InlayHintKind, type InlayHintLabelPart, type InlayHintList, type InlayHintsProvider, type InlineCompletion, type InlineCompletionContext, type InlineCompletionProviderGroupId, InlineCompletionTriggerKind, type InlineCompletions, type InlineCompletionsProvider, type InlineEditProvider, InlineEditTriggerKind, type InlineValue, type InlineValueContext, type InlineValueExpression, type InlineValueText, type InlineValueVariableLookup, type InlineValuesProvider, type LinkProvider, type LinkedEditingRangeProvider, type LinkedEditingRanges, type Location, type LocationLink, type MappedEditsContext, type MappedEditsProvider, type MultiDocumentHighlightProvider, type NewSymbolName, NewSymbolNameTag, NewSymbolNameTriggerKind, type NewSymbolNamesProvider, type OnTypeFormattingEditProvider, type ParameterInformation, type PartialAcceptInfo, PartialAcceptTriggerKind, type ProviderResult, type ReferenceContext, type ReferenceProvider, type Rejection, type RenameLocation, type RenameProvider, SelectedSuggestionInfo, type SelectionRange, type SelectionRangeProvider, type SemanticTokens, type SemanticTokensEdit, type SemanticTokensEdits, type SemanticTokensLegend, type SignatureHelp, type SignatureHelpContext, type SignatureHelpProvider, type SignatureHelpResult, SignatureHelpTriggerKind, type SignatureInformation, SymbolKind, SymbolTag, TextEdit, type TypeDefinitionProvider, type WorkspaceEdit, type WorkspaceEditMetadata, type WorkspaceFileEditOptions };
1417
+ export { type CodeAction, type CodeActionContext, type CodeActionList, type CodeActionProvider, CodeActionTriggerType, type CodeLens, type CodeLensList, type CodeLensProvider, Command, type CompletionContext, type CompletionItem, CompletionItemInsertTextRule, CompletionItemKind, type CompletionItemLabel, type CompletionItemProvider, type CompletionItemRanges, CompletionItemTag, type CompletionList, CompletionTriggerKind, type DeclarationProvider, type Definition, type DefinitionProvider, type DocumentColorProvider, type DocumentContextItem, type DocumentDropEdit, type DocumentDropEditProvider, type DocumentDropEditsSession, type DocumentFormattingEditProvider, type DocumentHighlight, DocumentHighlightKind, type DocumentHighlightProvider, type DocumentPasteContext, type DocumentPasteEdit, type DocumentPasteEditProvider, type DocumentPasteEditsSession, DocumentPasteTriggerKind, type DocumentRangeFormattingEditProvider, type DocumentRangeSemanticTokensProvider, type DocumentSemanticTokensProvider, type DocumentSymbol, type DocumentSymbolProvider, type DropYieldTo, type EvaluatableExpression, type EvaluatableExpressionProvider, type FoldingContext, type FoldingRange, FoldingRangeKind, type FoldingRangeProvider, type FormattingOptions, type Hover, type HoverContext, type HoverProvider, type HoverVerbosityRequest, type IColor, type IColorInformation, type IColorPresentation, type IInlineEdit, type IInlineEditContext, type IInplaceReplaceSupportResult, type ILanguageIdCodec, type ILink, type ILinksList, type IWorkspaceFileEdit, type IWorkspaceTextEdit, type ImplementationProvider, type InlayHint, InlayHintKind, type InlayHintLabelPart, type InlayHintList, type InlayHintsProvider, type InlineCompletion, type InlineCompletionContext, type InlineCompletionProviderGroupId, InlineCompletionTriggerKind, type InlineCompletions, type InlineCompletionsProvider, type InlineEditProvider, InlineEditTriggerKind, type InlineValue, type InlineValueContext, type InlineValueExpression, type InlineValueText, type InlineValueVariableLookup, type InlineValuesProvider, type LinkProvider, type LinkedEditingRangeProvider, type LinkedEditingRanges, type Location, type LocationLink, type MappedEditsContext, type MappedEditsProvider, type MultiDocumentHighlightProvider, type NewSymbolName, NewSymbolNameTag, NewSymbolNameTriggerKind, type NewSymbolNamesProvider, type OnTypeFormattingEditProvider, type ParameterInformation, type PartialAcceptInfo, PartialAcceptTriggerKind, type ProviderResult, type ReferenceContext, type ReferenceProvider, type Rejection, type RenameLocation, type RenameProvider, SelectedSuggestionInfo, type SelectionRange, type SelectionRangeProvider, type SemanticTokens, type SemanticTokensEdit, type SemanticTokensEdits, type SemanticTokensLegend, type SignatureHelp, type SignatureHelpContext, type SignatureHelpProvider, type SignatureHelpResult, SignatureHelpTriggerKind, type SignatureInformation, SymbolKind, SymbolTag, TextEdit, type TypeDefinitionProvider, type WorkspaceEdit, type WorkspaceEditMetadata, type WorkspaceFileEditOptions };
@@ -18,12 +18,12 @@ class BracketPairsTextModelPart extends Disposable {
18
18
  this.onDidChangeEmitter = ( new Emitter());
19
19
  this.onDidChange = this.onDidChangeEmitter.event;
20
20
  this.bracketsRequested = false;
21
- this._register(this.languageConfigurationService.onDidChange(e => {
22
- if (!e.languageId || this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)) {
23
- this.bracketPairsTree.clear();
24
- this.updateBracketPairsTree();
25
- }
26
- }));
21
+ }
22
+ handleLanguageConfigurationServiceChange(e) {
23
+ if (!e.languageId || this.bracketPairsTree.value?.object.didLanguageChange(e.languageId)) {
24
+ this.bracketPairsTree.clear();
25
+ this.updateBracketPairsTree();
26
+ }
27
27
  }
28
28
  handleDidChangeOptions(e) {
29
29
  this.bracketPairsTree.clear();
@@ -506,6 +506,25 @@ class PieceTreeBase {
506
506
  const nodePos = this.nodeAt(offset);
507
507
  return this._getCharCode(nodePos);
508
508
  }
509
+ getNearestChunk(offset) {
510
+ const nodePos = this.nodeAt(offset);
511
+ if (nodePos.remainder === nodePos.node.piece.length) {
512
+ const matchingNode = nodePos.node.next();
513
+ if (!matchingNode || matchingNode === SENTINEL) {
514
+ return '';
515
+ }
516
+ const buffer = this._buffers[matchingNode.piece.bufferIndex];
517
+ const startOffset = this.offsetInBuffer(matchingNode.piece.bufferIndex, matchingNode.piece.start);
518
+ return buffer.buffer.substring(startOffset, startOffset + matchingNode.piece.length);
519
+ }
520
+ else {
521
+ const buffer = this._buffers[nodePos.node.piece.bufferIndex];
522
+ const startOffset = this.offsetInBuffer(nodePos.node.piece.bufferIndex, nodePos.node.piece.start);
523
+ const targetOffset = startOffset + nodePos.remainder;
524
+ const targetEnd = startOffset + nodePos.node.piece.length;
525
+ return buffer.buffer.substring(targetOffset, targetEnd);
526
+ }
527
+ }
509
528
  findMatchesInNode(node, searcher, startLineNumber, startColumn, startCursor, endCursor, searchData, captureMatches, limitResultCount, resultLen, result) {
510
529
  const buffer = this._buffers[node.piece.bufferIndex];
511
530
  const startOffsetInBuffer = this.offsetInBuffer(node.piece.bufferIndex, node.piece.start);
@@ -117,6 +117,9 @@ class PieceTreeTextBuffer extends Disposable {
117
117
  }
118
118
  return this.getValueLengthInRange(range, eol);
119
119
  }
120
+ getNearestChunk(offset) {
121
+ return this._pieceTree.getNearestChunk(offset);
122
+ }
120
123
  getLength() {
121
124
  return this._pieceTree.getLength();
122
125
  }
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
2
  import { pushMany, ArrayQueue } from '../../../base/common/arrays.js';
3
3
  import { Color } from '../../../base/common/color.js';
4
- import { illegalArgument, BugIndicatingError, onUnexpectedError } from '../../../base/common/errors.js';
4
+ import { BugIndicatingError, illegalArgument, onUnexpectedError } from '../../../base/common/errors.js';
5
5
  import { Emitter } from '../../../base/common/event.js';
6
6
  import { Disposable, combinedDisposable, MutableDisposable } from '../../../base/common/lifecycle.js';
7
7
  import { listenStream } from '../../../base/common/stream.js';
@@ -246,6 +246,10 @@ let TextModel = class TextModel extends Disposable {
246
246
  this._onDidChangeDecorations.endDeferredEmit();
247
247
  }));
248
248
  this._languageService.requestRichLanguageFeatures(languageId);
249
+ this._register(this._languageConfigurationService.onDidChange(e => {
250
+ this._bracketPairs.handleLanguageConfigurationServiceChange(e);
251
+ this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(e);
252
+ }));
249
253
  }
250
254
  dispose() {
251
255
  this.__isDisposing = true;
@@ -271,7 +275,7 @@ let TextModel = class TextModel extends Disposable {
271
275
  }
272
276
  _assertNotDisposed() {
273
277
  if (this._isDisposed) {
274
- throw ( new Error('Model is disposed!'));
278
+ throw ( new BugIndicatingError('Model is disposed!'));
275
279
  }
276
280
  }
277
281
  equalsTextBuffer(other) {
@@ -38,11 +38,6 @@ class TokenizationTextModelPart extends TextModelPart {
38
38
  () => this._languageId,
39
39
  this._attachedViews
40
40
  )));
41
- this._register(this._languageConfigurationService.onDidChange(e => {
42
- if (e.affects(this._languageId)) {
43
- this._onDidChangeLanguageConfiguration.fire({});
44
- }
45
- }));
46
41
  this._register(this.grammarTokens.onDidChangeTokens(e => {
47
42
  this._emitModelTokensChangedEvent(e);
48
43
  }));
@@ -55,6 +50,11 @@ class TokenizationTextModelPart extends TextModelPart {
55
50
  || this._onDidChangeLanguageConfiguration.hasListeners()
56
51
  || this._onDidChangeTokens.hasListeners());
57
52
  }
53
+ handleLanguageConfigurationServiceChange(e) {
54
+ if (e.affects(this._languageId)) {
55
+ this._onDidChangeLanguageConfiguration.fire({});
56
+ }
57
+ }
58
58
  handleDidChangeContent(e) {
59
59
  if (e.isFlush) {
60
60
  this._semanticTokens.flush();
@@ -510,6 +510,10 @@ interface IReadonlyTextBuffer {
510
510
  getLineFirstNonWhitespaceColumn(lineNumber: number): number;
511
511
  getLineLastNonWhitespaceColumn(lineNumber: number): number;
512
512
  findMatchesLineByLine(searchRange: Range, searchData: SearchData, captureMatches: boolean, limitResultCount: number): FindMatch[];
513
+ /**
514
+ * Get nearest chunk of text after `offset` in the text buffer.
515
+ */
516
+ getNearestChunk(offset: number): string;
513
517
  }
514
518
  /**
515
519
  * @internal
@@ -84,6 +84,6 @@ function detectLanguageId(modelService, languageService, resource) {
84
84
  return languageService.guessLanguageIdByFilepathOrFirstLine(resource);
85
85
  }
86
86
  function cssEscape(str) {
87
- return str.replace(/[\11\12\14\15\40]/g, '/');
87
+ return str.replace(/[\x11\x12\x14\x15\x40]/g, '/');
88
88
  }
89
89
  export { getIconClasses, getIconClassesForLanguageId };
@@ -1,7 +1,7 @@
1
1
  import { __decorate, __param } from '../../../../../../external/tslib/tslib.es6.js';
2
- import { TokenMetadata, MetadataConsts, FontStyle } from '../encodedTokenAttributes.js';
2
+ import { MetadataConsts, FontStyle } from '../encodedTokenAttributes.js';
3
3
  import { IThemeService } from '../../../platform/theme/common/themeService.service.js';
4
- import { LogLevel } from '../../../platform/log/common/log.js';
4
+ import '../../../platform/log/common/log.js';
5
5
  import { ILogService } from '../../../platform/log/common/log.service.js';
6
6
  import { SparseMultilineTokens } from '../tokens/sparseMultilineTokens.js';
7
7
  import { ILanguageService } from '../languages/language.js';
@@ -28,9 +28,6 @@ let SemanticTokensProviderStyling = class SemanticTokensProviderStyling {
28
28
  let metadata;
29
29
  if (entry) {
30
30
  metadata = entry.metadata;
31
- if (this._logService.getLevel() === LogLevel.Trace) {
32
- this._logService.trace(`SemanticTokensProviderStyling [CACHED] ${tokenTypeIndex} / ${tokenModifierSet}: foreground ${TokenMetadata.getForeground(metadata)}, fontStyle ${( TokenMetadata.getFontStyle(metadata).toString(2))}`);
33
- }
34
31
  }
35
32
  else {
36
33
  let tokenType = this._legend.tokenTypes[tokenTypeIndex];
@@ -43,10 +40,6 @@ let SemanticTokensProviderStyling = class SemanticTokensProviderStyling {
43
40
  }
44
41
  modifierSet = modifierSet >> 1;
45
42
  }
46
- if (modifierSet > 0 && this._logService.getLevel() === LogLevel.Trace) {
47
- this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${( tokenModifierSet.toString(2))} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`);
48
- tokenModifiers.push('not-in-legend');
49
- }
50
43
  const tokenStyle = this._themeService.getColorTheme().getTokenStyleMetadata(tokenType, tokenModifiers, languageId);
51
44
  if (typeof tokenStyle === 'undefined') {
52
45
  metadata = SemanticTokensProviderStylingConstants.NO_STYLING;
@@ -79,16 +72,10 @@ let SemanticTokensProviderStyling = class SemanticTokensProviderStyling {
79
72
  }
80
73
  }
81
74
  else {
82
- if (this._logService.getLevel() === LogLevel.Trace) {
83
- this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${tokenTypeIndex} for legend: ${JSON.stringify(this._legend.tokenTypes)}`);
84
- }
85
75
  metadata = SemanticTokensProviderStylingConstants.NO_STYLING;
86
76
  tokenType = 'not-in-legend';
87
77
  }
88
78
  this._hashTable.add(tokenTypeIndex, tokenModifierSet, encodedLanguageId, metadata);
89
- if (this._logService.getLevel() === LogLevel.Trace) {
90
- this._logService.trace(`SemanticTokensProviderStyling ${tokenTypeIndex} (${tokenType}) / ${tokenModifierSet} (${tokenModifiers.join(' ')}): foreground ${TokenMetadata.getForeground(metadata)}, fontStyle ${( TokenMetadata.getFontStyle(metadata).toString(2))}`);
91
- }
92
79
  }
93
80
  return metadata;
94
81
  }
@@ -181,68 +181,69 @@ var EditorOption;
181
181
  EditorOption[EditorOption["pasteAs"] = 85] = "pasteAs";
182
182
  EditorOption[EditorOption["parameterHints"] = 86] = "parameterHints";
183
183
  EditorOption[EditorOption["peekWidgetDefaultFocus"] = 87] = "peekWidgetDefaultFocus";
184
- EditorOption[EditorOption["definitionLinkOpensInPeek"] = 88] = "definitionLinkOpensInPeek";
185
- EditorOption[EditorOption["quickSuggestions"] = 89] = "quickSuggestions";
186
- EditorOption[EditorOption["quickSuggestionsDelay"] = 90] = "quickSuggestionsDelay";
187
- EditorOption[EditorOption["readOnly"] = 91] = "readOnly";
188
- EditorOption[EditorOption["readOnlyMessage"] = 92] = "readOnlyMessage";
189
- EditorOption[EditorOption["renameOnType"] = 93] = "renameOnType";
190
- EditorOption[EditorOption["renderControlCharacters"] = 94] = "renderControlCharacters";
191
- EditorOption[EditorOption["renderFinalNewline"] = 95] = "renderFinalNewline";
192
- EditorOption[EditorOption["renderLineHighlight"] = 96] = "renderLineHighlight";
193
- EditorOption[EditorOption["renderLineHighlightOnlyWhenFocus"] = 97] = "renderLineHighlightOnlyWhenFocus";
194
- EditorOption[EditorOption["renderValidationDecorations"] = 98] = "renderValidationDecorations";
195
- EditorOption[EditorOption["renderWhitespace"] = 99] = "renderWhitespace";
196
- EditorOption[EditorOption["revealHorizontalRightPadding"] = 100] = "revealHorizontalRightPadding";
197
- EditorOption[EditorOption["roundedSelection"] = 101] = "roundedSelection";
198
- EditorOption[EditorOption["rulers"] = 102] = "rulers";
199
- EditorOption[EditorOption["scrollbar"] = 103] = "scrollbar";
200
- EditorOption[EditorOption["scrollBeyondLastColumn"] = 104] = "scrollBeyondLastColumn";
201
- EditorOption[EditorOption["scrollBeyondLastLine"] = 105] = "scrollBeyondLastLine";
202
- EditorOption[EditorOption["scrollPredominantAxis"] = 106] = "scrollPredominantAxis";
203
- EditorOption[EditorOption["selectionClipboard"] = 107] = "selectionClipboard";
204
- EditorOption[EditorOption["selectionHighlight"] = 108] = "selectionHighlight";
205
- EditorOption[EditorOption["selectOnLineNumbers"] = 109] = "selectOnLineNumbers";
206
- EditorOption[EditorOption["showFoldingControls"] = 110] = "showFoldingControls";
207
- EditorOption[EditorOption["showUnused"] = 111] = "showUnused";
208
- EditorOption[EditorOption["snippetSuggestions"] = 112] = "snippetSuggestions";
209
- EditorOption[EditorOption["smartSelect"] = 113] = "smartSelect";
210
- EditorOption[EditorOption["smoothScrolling"] = 114] = "smoothScrolling";
211
- EditorOption[EditorOption["stickyScroll"] = 115] = "stickyScroll";
212
- EditorOption[EditorOption["stickyTabStops"] = 116] = "stickyTabStops";
213
- EditorOption[EditorOption["stopRenderingLineAfter"] = 117] = "stopRenderingLineAfter";
214
- EditorOption[EditorOption["suggest"] = 118] = "suggest";
215
- EditorOption[EditorOption["suggestFontSize"] = 119] = "suggestFontSize";
216
- EditorOption[EditorOption["suggestLineHeight"] = 120] = "suggestLineHeight";
217
- EditorOption[EditorOption["suggestOnTriggerCharacters"] = 121] = "suggestOnTriggerCharacters";
218
- EditorOption[EditorOption["suggestSelection"] = 122] = "suggestSelection";
219
- EditorOption[EditorOption["tabCompletion"] = 123] = "tabCompletion";
220
- EditorOption[EditorOption["tabIndex"] = 124] = "tabIndex";
221
- EditorOption[EditorOption["unicodeHighlighting"] = 125] = "unicodeHighlighting";
222
- EditorOption[EditorOption["unusualLineTerminators"] = 126] = "unusualLineTerminators";
223
- EditorOption[EditorOption["useShadowDOM"] = 127] = "useShadowDOM";
224
- EditorOption[EditorOption["useTabStops"] = 128] = "useTabStops";
225
- EditorOption[EditorOption["wordBreak"] = 129] = "wordBreak";
226
- EditorOption[EditorOption["wordSegmenterLocales"] = 130] = "wordSegmenterLocales";
227
- EditorOption[EditorOption["wordSeparators"] = 131] = "wordSeparators";
228
- EditorOption[EditorOption["wordWrap"] = 132] = "wordWrap";
229
- EditorOption[EditorOption["wordWrapBreakAfterCharacters"] = 133] = "wordWrapBreakAfterCharacters";
230
- EditorOption[EditorOption["wordWrapBreakBeforeCharacters"] = 134] = "wordWrapBreakBeforeCharacters";
231
- EditorOption[EditorOption["wordWrapColumn"] = 135] = "wordWrapColumn";
232
- EditorOption[EditorOption["wordWrapOverride1"] = 136] = "wordWrapOverride1";
233
- EditorOption[EditorOption["wordWrapOverride2"] = 137] = "wordWrapOverride2";
234
- EditorOption[EditorOption["wrappingIndent"] = 138] = "wrappingIndent";
235
- EditorOption[EditorOption["wrappingStrategy"] = 139] = "wrappingStrategy";
236
- EditorOption[EditorOption["showDeprecated"] = 140] = "showDeprecated";
237
- EditorOption[EditorOption["inlayHints"] = 141] = "inlayHints";
238
- EditorOption[EditorOption["editorClassName"] = 142] = "editorClassName";
239
- EditorOption[EditorOption["pixelRatio"] = 143] = "pixelRatio";
240
- EditorOption[EditorOption["tabFocusMode"] = 144] = "tabFocusMode";
241
- EditorOption[EditorOption["layoutInfo"] = 145] = "layoutInfo";
242
- EditorOption[EditorOption["wrappingInfo"] = 146] = "wrappingInfo";
243
- EditorOption[EditorOption["defaultColorDecorators"] = 147] = "defaultColorDecorators";
244
- EditorOption[EditorOption["colorDecoratorsActivatedOn"] = 148] = "colorDecoratorsActivatedOn";
245
- EditorOption[EditorOption["inlineCompletionsAccessibilityVerbose"] = 149] = "inlineCompletionsAccessibilityVerbose";
184
+ EditorOption[EditorOption["placeholder"] = 88] = "placeholder";
185
+ EditorOption[EditorOption["definitionLinkOpensInPeek"] = 89] = "definitionLinkOpensInPeek";
186
+ EditorOption[EditorOption["quickSuggestions"] = 90] = "quickSuggestions";
187
+ EditorOption[EditorOption["quickSuggestionsDelay"] = 91] = "quickSuggestionsDelay";
188
+ EditorOption[EditorOption["readOnly"] = 92] = "readOnly";
189
+ EditorOption[EditorOption["readOnlyMessage"] = 93] = "readOnlyMessage";
190
+ EditorOption[EditorOption["renameOnType"] = 94] = "renameOnType";
191
+ EditorOption[EditorOption["renderControlCharacters"] = 95] = "renderControlCharacters";
192
+ EditorOption[EditorOption["renderFinalNewline"] = 96] = "renderFinalNewline";
193
+ EditorOption[EditorOption["renderLineHighlight"] = 97] = "renderLineHighlight";
194
+ EditorOption[EditorOption["renderLineHighlightOnlyWhenFocus"] = 98] = "renderLineHighlightOnlyWhenFocus";
195
+ EditorOption[EditorOption["renderValidationDecorations"] = 99] = "renderValidationDecorations";
196
+ EditorOption[EditorOption["renderWhitespace"] = 100] = "renderWhitespace";
197
+ EditorOption[EditorOption["revealHorizontalRightPadding"] = 101] = "revealHorizontalRightPadding";
198
+ EditorOption[EditorOption["roundedSelection"] = 102] = "roundedSelection";
199
+ EditorOption[EditorOption["rulers"] = 103] = "rulers";
200
+ EditorOption[EditorOption["scrollbar"] = 104] = "scrollbar";
201
+ EditorOption[EditorOption["scrollBeyondLastColumn"] = 105] = "scrollBeyondLastColumn";
202
+ EditorOption[EditorOption["scrollBeyondLastLine"] = 106] = "scrollBeyondLastLine";
203
+ EditorOption[EditorOption["scrollPredominantAxis"] = 107] = "scrollPredominantAxis";
204
+ EditorOption[EditorOption["selectionClipboard"] = 108] = "selectionClipboard";
205
+ EditorOption[EditorOption["selectionHighlight"] = 109] = "selectionHighlight";
206
+ EditorOption[EditorOption["selectOnLineNumbers"] = 110] = "selectOnLineNumbers";
207
+ EditorOption[EditorOption["showFoldingControls"] = 111] = "showFoldingControls";
208
+ EditorOption[EditorOption["showUnused"] = 112] = "showUnused";
209
+ EditorOption[EditorOption["snippetSuggestions"] = 113] = "snippetSuggestions";
210
+ EditorOption[EditorOption["smartSelect"] = 114] = "smartSelect";
211
+ EditorOption[EditorOption["smoothScrolling"] = 115] = "smoothScrolling";
212
+ EditorOption[EditorOption["stickyScroll"] = 116] = "stickyScroll";
213
+ EditorOption[EditorOption["stickyTabStops"] = 117] = "stickyTabStops";
214
+ EditorOption[EditorOption["stopRenderingLineAfter"] = 118] = "stopRenderingLineAfter";
215
+ EditorOption[EditorOption["suggest"] = 119] = "suggest";
216
+ EditorOption[EditorOption["suggestFontSize"] = 120] = "suggestFontSize";
217
+ EditorOption[EditorOption["suggestLineHeight"] = 121] = "suggestLineHeight";
218
+ EditorOption[EditorOption["suggestOnTriggerCharacters"] = 122] = "suggestOnTriggerCharacters";
219
+ EditorOption[EditorOption["suggestSelection"] = 123] = "suggestSelection";
220
+ EditorOption[EditorOption["tabCompletion"] = 124] = "tabCompletion";
221
+ EditorOption[EditorOption["tabIndex"] = 125] = "tabIndex";
222
+ EditorOption[EditorOption["unicodeHighlighting"] = 126] = "unicodeHighlighting";
223
+ EditorOption[EditorOption["unusualLineTerminators"] = 127] = "unusualLineTerminators";
224
+ EditorOption[EditorOption["useShadowDOM"] = 128] = "useShadowDOM";
225
+ EditorOption[EditorOption["useTabStops"] = 129] = "useTabStops";
226
+ EditorOption[EditorOption["wordBreak"] = 130] = "wordBreak";
227
+ EditorOption[EditorOption["wordSegmenterLocales"] = 131] = "wordSegmenterLocales";
228
+ EditorOption[EditorOption["wordSeparators"] = 132] = "wordSeparators";
229
+ EditorOption[EditorOption["wordWrap"] = 133] = "wordWrap";
230
+ EditorOption[EditorOption["wordWrapBreakAfterCharacters"] = 134] = "wordWrapBreakAfterCharacters";
231
+ EditorOption[EditorOption["wordWrapBreakBeforeCharacters"] = 135] = "wordWrapBreakBeforeCharacters";
232
+ EditorOption[EditorOption["wordWrapColumn"] = 136] = "wordWrapColumn";
233
+ EditorOption[EditorOption["wordWrapOverride1"] = 137] = "wordWrapOverride1";
234
+ EditorOption[EditorOption["wordWrapOverride2"] = 138] = "wordWrapOverride2";
235
+ EditorOption[EditorOption["wrappingIndent"] = 139] = "wrappingIndent";
236
+ EditorOption[EditorOption["wrappingStrategy"] = 140] = "wrappingStrategy";
237
+ EditorOption[EditorOption["showDeprecated"] = 141] = "showDeprecated";
238
+ EditorOption[EditorOption["inlayHints"] = 142] = "inlayHints";
239
+ EditorOption[EditorOption["editorClassName"] = 143] = "editorClassName";
240
+ EditorOption[EditorOption["pixelRatio"] = 144] = "pixelRatio";
241
+ EditorOption[EditorOption["tabFocusMode"] = 145] = "tabFocusMode";
242
+ EditorOption[EditorOption["layoutInfo"] = 146] = "layoutInfo";
243
+ EditorOption[EditorOption["wrappingInfo"] = 147] = "wrappingInfo";
244
+ EditorOption[EditorOption["defaultColorDecorators"] = 148] = "defaultColorDecorators";
245
+ EditorOption[EditorOption["colorDecoratorsActivatedOn"] = 149] = "colorDecoratorsActivatedOn";
246
+ EditorOption[EditorOption["inlineCompletionsAccessibilityVerbose"] = 150] = "inlineCompletionsAccessibilityVerbose";
246
247
  })(EditorOption || (EditorOption = {})));
247
248
  var EndOfLinePreference;
248
249
  ( (function(EndOfLinePreference) {
@@ -26,11 +26,12 @@ import { ViewModelEventDispatcher, ScrollChangedEvent, FocusChangedEvent, ModelC
26
26
  import { ViewModelLinesFromModelAsIs, ViewModelLinesFromProjectedModel } from './viewModelLines.js';
27
27
  import { GlyphMarginLanesModel } from './glyphLanesModel.js';
28
28
  class ViewModel extends Disposable {
29
- constructor(editorId, configuration, model, domLineBreaksComputerFactory, monospaceLineBreaksComputerFactory, scheduleAtNextAnimationFrame, languageConfigurationService, _themeService, _attachedView) {
29
+ constructor(editorId, configuration, model, domLineBreaksComputerFactory, monospaceLineBreaksComputerFactory, scheduleAtNextAnimationFrame, languageConfigurationService, _themeService, _attachedView, _transactionalTarget) {
30
30
  super();
31
31
  this.languageConfigurationService = languageConfigurationService;
32
32
  this._themeService = _themeService;
33
33
  this._attachedView = _attachedView;
34
+ this._transactionalTarget = _transactionalTarget;
34
35
  this.hiddenAreasModel = ( new HiddenAreasModel());
35
36
  this.previousHiddenAreas = [];
36
37
  this._editorId = editorId;
@@ -962,13 +963,15 @@ class ViewModel extends Disposable {
962
963
  }
963
964
  }
964
965
  _withViewEventsCollector(callback) {
965
- try {
966
- const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
967
- return callback(eventsCollector);
968
- }
969
- finally {
970
- this._eventDispatcher.endEmitViewEvents();
971
- }
966
+ return this._transactionalTarget.batchChanges(() => {
967
+ try {
968
+ const eventsCollector = this._eventDispatcher.beginEmitViewEvents();
969
+ return callback(eventsCollector);
970
+ }
971
+ finally {
972
+ this._eventDispatcher.endEmitViewEvents();
973
+ }
974
+ });
972
975
  }
973
976
  batchEvents(callback) {
974
977
  this._withViewEventsCollector(() => { callback(); });
@@ -26,7 +26,7 @@ import '../../../../platform/theme/common/colors/quickpickColors.js';
26
26
  import '../../../../platform/theme/common/colors/searchColors.js';
27
27
  import { themeColorFromId } from '../../../../platform/theme/common/themeService.js';
28
28
  const _moduleId = "vs/editor/contrib/bracketMatching/browser/bracketMatching";
29
- const overviewRulerBracketMatchForeground = registerColor('editorOverviewRuler.bracketMatchForeground', { dark: '#A0A0A0', light: '#A0A0A0', hcDark: '#A0A0A0', hcLight: '#A0A0A0' }, ( localizeWithPath(_moduleId, 0, 'Overview ruler marker color for matching brackets.')));
29
+ const overviewRulerBracketMatchForeground = registerColor('editorOverviewRuler.bracketMatchForeground', '#A0A0A0', ( localizeWithPath(_moduleId, 0, 'Overview ruler marker color for matching brackets.')));
30
30
  class JumpToBracketAction extends EditorAction {
31
31
  constructor() {
32
32
  super({
@@ -38,7 +38,6 @@ import { registerThemingParticipant } from '../../../../platform/theme/common/th
38
38
  import { CodeActionTriggerSource, CodeActionAutoApply, CodeActionKind } from '../common/types.js';
39
39
  import { CodeActionModel, CodeActionsState } from './codeActionModel.js';
40
40
  import { HierarchicalKind } from '../../../../base/common/hierarchicalKind.js';
41
- import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.service.js';
42
41
  var CodeActionController_1;
43
42
  const _moduleId = "vs/editor/contrib/codeAction/browser/codeActionController";
44
43
  const DECORATION_CLASS_NAME = 'quickfix-edit-highlight';
@@ -48,13 +47,12 @@ let CodeActionController = class CodeActionController extends Disposable {
48
47
  static get(editor) {
49
48
  return editor.getContribution(CodeActionController_1.ID);
50
49
  }
51
- constructor(editor, markerService, contextKeyService, instantiationService, languageFeaturesService, progressService, _commandService, _configurationService, _actionWidgetService, _instantiationService, _telemetryService) {
50
+ constructor(editor, markerService, contextKeyService, instantiationService, languageFeaturesService, progressService, _commandService, _configurationService, _actionWidgetService, _instantiationService) {
52
51
  super();
53
52
  this._commandService = _commandService;
54
53
  this._configurationService = _configurationService;
55
54
  this._actionWidgetService = _actionWidgetService;
56
55
  this._instantiationService = _instantiationService;
57
- this._telemetryService = _telemetryService;
58
56
  this._activeCodeActions = this._register(( (new MutableDisposable())));
59
57
  this._showDisabled = false;
60
58
  this._disposed = false;
@@ -83,11 +81,6 @@ let CodeActionController = class CodeActionController extends Disposable {
83
81
  super.dispose();
84
82
  }
85
83
  async showCodeActionsFromLightbulb(actions, at) {
86
- this._telemetryService.publicLog2('codeAction.showCodeActionsFromLightbulb', {
87
- codeActionListLength: actions.validActions.length,
88
- codeActions: ( (actions.validActions.map(action => action.action.title))),
89
- codeActionProviders: ( (actions.validActions.map(action => action.provider?.displayName ?? ''))),
90
- });
91
84
  if (actions.allAIFixes && actions.validActions.length === 1) {
92
85
  const actionItem = actions.validActions[0];
93
86
  const command = actionItem.action.command;
@@ -235,13 +228,6 @@ let CodeActionController = class CodeActionController extends Disposable {
235
228
  onHide: (didCancel) => {
236
229
  this._editor?.focus();
237
230
  currentDecorations.clear();
238
- if (options.fromLightbulb && didCancel !== undefined) {
239
- this._telemetryService.publicLog2('codeAction.showCodeActionList.onHide', {
240
- codeActionListLength: actions.validActions.length,
241
- didCancel: didCancel,
242
- codeActions: ( (actions.validActions.map(action => action.action.title))),
243
- });
244
- }
245
231
  },
246
232
  onHover: async (action, token) => {
247
233
  if (token.isCancellationRequested) {
@@ -364,8 +350,7 @@ CodeActionController = CodeActionController_1 = ( (__decorate([
364
350
  ( (__param(6, ICommandService))),
365
351
  ( (__param(7, IConfigurationService))),
366
352
  ( (__param(8, IActionWidgetService))),
367
- ( (__param(9, IInstantiationService))),
368
- ( (__param(10, ITelemetryService)))
353
+ ( (__param(9, IInstantiationService)))
369
354
  ], CodeActionController)));
370
355
  registerThemingParticipant((theme, collector) => {
371
356
  const addBackgroundColorRule = (selector, color) => {
@@ -1,4 +1,4 @@
1
1
  import n from '../../../../../../../external/rollup-plugin-styles/dist/runtime/inject-css.js';
2
- var css = ".monaco-editor .lightBulbWidget{align-items:center;display:flex;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{background-color:var(--vscode-editor-background);content:\"\";display:block;height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:1}";
2
+ var css = ".monaco-editor .lightBulbWidget{align-items:center;display:flex;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{content:\"\";display:block;height:100%;left:0;opacity:.3;position:absolute;top:0;width:100%;z-index:1}";
3
3
  n(css,{});
4
4
  export { css, css as default };