@codingame/monaco-vscode-api 6.0.3 → 7.0.1

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 (447) hide show
  1. package/README.md +150 -117
  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/package.json +9 -9
  7. package/service-override/extensions.d.ts +1 -2
  8. package/services.js +4 -2
  9. package/vscode/src/vs/base/browser/dnd.js +1 -1
  10. package/vscode/src/vs/base/browser/dom.js +116 -5
  11. package/vscode/src/vs/base/browser/domObservable.js +16 -0
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +5 -3
  13. package/vscode/src/vs/base/browser/trustedTypes.js +1 -2
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +1 -1
  15. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  16. package/vscode/src/vs/base/browser/ui/button/button.js +2 -2
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -4
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +1 -1
  19. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +1 -1
  20. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +1 -1
  21. package/vscode/src/vs/base/browser/ui/hover/hover.d.ts +32 -16
  22. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate.d.ts +2 -2
  23. package/vscode/src/vs/base/browser/ui/hover/hoverDelegate2.js +2 -2
  24. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  25. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +2 -0
  26. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +1 -1
  27. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +1 -1
  28. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +1 -1
  29. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +1 -1
  30. package/vscode/src/vs/base/browser/ui/list/listView.js +3 -5
  31. package/vscode/src/vs/base/browser/ui/list/rowCache.js +1 -8
  32. package/vscode/src/vs/base/browser/ui/sash/sash.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +7 -11
  34. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/splitview/splitview.js +1 -1
  36. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  37. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +1 -1
  38. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +8 -1
  39. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  40. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +1 -1
  41. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +0 -3
  42. package/vscode/src/vs/base/common/assert.js +1 -1
  43. package/vscode/src/vs/base/common/collections.js +49 -1
  44. package/vscode/src/vs/base/common/equals.js +55 -5
  45. package/vscode/src/vs/base/common/errors.js +14 -1
  46. package/vscode/src/vs/base/common/event.js +2 -1
  47. package/vscode/src/vs/base/common/history.js +7 -4
  48. package/vscode/src/vs/base/common/iterator.js +9 -1
  49. package/vscode/src/vs/base/common/map.d.ts +41 -0
  50. package/vscode/src/vs/base/common/numbers.js +18 -1
  51. package/vscode/src/vs/base/common/observableInternal/api.js +11 -0
  52. package/vscode/src/vs/base/common/observableInternal/autorun.js +18 -1
  53. package/vscode/src/vs/base/common/observableInternal/base.d.ts +8 -1
  54. package/vscode/src/vs/base/common/observableInternal/base.js +2 -5
  55. package/vscode/src/vs/base/common/observableInternal/derived.js +13 -3
  56. package/vscode/src/vs/base/common/observableInternal/lazyObservableValue.js +109 -0
  57. package/vscode/src/vs/base/common/observableInternal/promise.js +3 -0
  58. package/vscode/src/vs/base/common/observableInternal/utils.d.ts +7 -0
  59. package/vscode/src/vs/base/common/observableInternal/utils.js +64 -12
  60. package/vscode/src/vs/base/common/prefixTree.d.ts +52 -0
  61. package/vscode/src/vs/base/common/product.d.ts +1 -0
  62. package/vscode/src/vs/base/parts/ipc/common/ipc.js +1 -1
  63. package/vscode/src/vs/editor/browser/config/charWidthReader.js +1 -1
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +1 -1
  65. package/vscode/src/vs/editor/browser/coreCommands.js +2 -1
  66. package/vscode/src/vs/editor/browser/observableCodeEditor.js +230 -0
  67. package/vscode/src/vs/editor/browser/services/abstractCodeEditorService.js +1 -1
  68. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.js +26 -26
  69. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -2
  70. package/vscode/src/vs/editor/browser/view/domLineBreaksComputer.js +1 -1
  71. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -12
  72. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +1 -1
  73. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +1 -1
  74. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  75. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +15 -4
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +8 -8
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +4 -4
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +1 -1
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +1 -1
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +14 -2
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +1 -1
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +2 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +2 -2
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +3 -3
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +2 -2
  86. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +2 -2
  88. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +5 -0
  89. package/vscode/src/vs/editor/common/config/editorOptions.js +83 -65
  90. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +43 -43
  91. package/vscode/src/vs/editor/common/cursor/cursor.js +3 -2
  92. package/vscode/src/vs/editor/common/cursor/cursorTypeEditOperations.js +911 -0
  93. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +36 -799
  94. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +6 -5
  95. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  96. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +3 -0
  97. package/vscode/src/vs/editor/common/languages/autoIndent.js +23 -1
  98. package/vscode/src/vs/editor/common/languages.d.ts +20 -3
  99. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +6 -6
  100. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeBase.js +19 -0
  101. package/vscode/src/vs/editor/common/model/pieceTreeTextBuffer/pieceTreeTextBuffer.js +3 -0
  102. package/vscode/src/vs/editor/common/model/textModel.js +6 -2
  103. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +5 -5
  104. package/vscode/src/vs/editor/common/model.d.ts +4 -0
  105. package/vscode/src/vs/editor/common/services/getIconClasses.js +1 -1
  106. package/vscode/src/vs/editor/common/services/semanticTokensProviderStyling.js +2 -15
  107. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +63 -62
  108. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +11 -8
  109. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +1 -1
  110. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +2 -17
  111. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  112. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +18 -5
  113. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +55 -27
  114. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +7 -4
  115. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerWidget.js +9 -9
  116. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +1 -1
  117. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +103 -47
  118. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +8 -2
  119. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +18 -10
  120. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +2 -4
  121. package/vscode/src/vs/editor/contrib/folding/browser/folding.css.js +1 -1
  122. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +33 -13
  123. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -7
  124. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +1 -1
  125. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +2 -2
  126. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverController.js +161 -185
  127. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +321 -0
  128. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverStatusBar.js +4 -1
  129. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverTypes.js +6 -21
  130. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverWidget.js +39 -40
  131. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +55 -46
  132. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +12 -2
  133. package/vscode/src/vs/editor/contrib/hover/browser/hoverController.js +15 -9
  134. package/vscode/src/vs/editor/contrib/hover/browser/hoverTypes.js +11 -1
  135. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +141 -93
  136. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +24 -7
  137. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +36 -1
  138. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -3
  139. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +1 -1
  140. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +25 -12
  141. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +88 -118
  142. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +1 -1
  143. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +34 -33
  144. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +2 -2
  145. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +11 -4
  146. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +10 -19
  147. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +1 -1
  148. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +45 -27
  149. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +4 -4
  150. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  151. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +126 -0
  152. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +9 -0
  153. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEdits.contribution.js +9 -0
  154. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +82 -0
  155. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsModel.js +240 -0
  156. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.css.js +4 -0
  157. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +322 -0
  158. package/vscode/src/vs/editor/contrib/inlineProgress/browser/inlineProgress.js +8 -4
  159. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +3 -2
  160. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +1 -1
  161. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +2 -2
  162. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +60 -0
  163. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +4 -0
  164. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +1 -1
  165. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css.js +1 -1
  166. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +38 -20
  167. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +3 -0
  168. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +9 -9
  169. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetStatus.js +10 -32
  170. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +23 -138
  171. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +3 -0
  172. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +5 -5
  173. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +13 -12
  174. package/vscode/src/vs/editor/contrib/wordPartOperations/browser/wordPartOperations.js +3 -3
  175. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +21 -0
  176. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +5 -6
  177. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +1 -1
  178. package/vscode/src/vs/platform/actions/browser/buttonbar.js +27 -6
  179. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  180. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.css.js +1 -1
  181. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +33 -3
  182. package/vscode/src/vs/platform/actions/browser/toolbar.js +2 -1
  183. package/vscode/src/vs/platform/actions/common/actions.d.ts +3 -0
  184. package/vscode/src/vs/platform/actions/common/actions.js +3 -0
  185. package/vscode/src/vs/platform/actions/common/menuService.js +3 -2
  186. package/vscode/src/vs/platform/clipboard/browser/clipboardService.js +1 -1
  187. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +7 -5
  188. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +109 -13
  189. package/vscode/src/vs/platform/diagnostics/common/diagnostics.d.ts +2 -0
  190. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +12 -6
  191. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +2 -0
  192. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -3
  193. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +20 -10
  194. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +46 -8
  195. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -1
  196. package/vscode/src/vs/platform/extensions/common/extensions.js +12 -3
  197. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +368 -0
  198. package/vscode/src/vs/platform/files/common/watcher.js +21 -24
  199. package/vscode/src/vs/platform/list/browser/listService.js +2 -1
  200. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +2 -2
  201. package/vscode/src/vs/platform/opener/browser/link.js +1 -1
  202. package/vscode/src/vs/platform/product/common/product.js +1 -1
  203. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1 -1
  204. package/vscode/src/vs/platform/remote/common/remoteExtensionsScanner.service.d.ts +0 -2
  205. package/vscode/src/vs/platform/request/common/request.js +18 -8
  206. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +2 -6
  207. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetection/promptInputModel.d.ts +8 -1
  208. package/vscode/src/vs/platform/theme/common/colorUtils.d.ts +1 -1
  209. package/vscode/src/vs/platform/theme/common/colorUtils.js +25 -5
  210. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +1 -1
  211. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +6 -6
  212. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +35 -35
  213. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +9 -9
  214. package/vscode/src/vs/platform/theme/common/colors/listColors.js +11 -11
  215. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +4 -4
  216. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +5 -5
  217. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +1 -1
  218. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +5 -5
  219. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -1
  220. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +75 -19
  221. package/vscode/src/vs/platform/window/common/window.d.ts +2 -2
  222. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +32 -25
  223. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +2 -0
  224. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +2 -0
  225. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +5 -11
  226. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +5 -15
  227. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +2 -5
  228. package/vscode/src/vs/workbench/api/common/extHostComments.js +9 -3
  229. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +32 -22
  230. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +3 -3
  231. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +109 -40
  232. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +46 -0
  233. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +84 -35
  234. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  235. package/vscode/src/vs/workbench/api/common/extHostSCM.js +50 -41
  236. package/vscode/src/vs/workbench/api/common/extHostSearch.js +2 -2
  237. package/vscode/src/vs/workbench/api/common/extHostSecrets.js +11 -8
  238. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +7 -6
  239. package/vscode/src/vs/workbench/api/common/extHostTesting.js +63 -70
  240. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +5 -3
  241. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +75 -16
  242. package/vscode/src/vs/workbench/api/common/extHostTypes.js +29 -4
  243. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +1 -1
  244. package/vscode/src/vs/workbench/browser/actions/developerActions.js +1 -1
  245. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +127 -107
  246. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +2 -2
  247. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +1 -1
  248. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +33 -21
  249. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  250. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +5 -5
  251. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +1 -1
  252. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +2 -2
  253. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -2
  254. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +23 -6
  255. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +3 -1
  256. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +3 -3
  257. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +1 -1
  258. package/vscode/src/vs/workbench/browser/web.api.js +8 -0
  259. package/vscode/src/vs/workbench/browser/workbench.contribution.js +199 -194
  260. package/vscode/src/vs/workbench/common/configuration.js +1 -1
  261. package/vscode/src/vs/workbench/common/contributions.js +8 -1
  262. package/vscode/src/vs/workbench/common/editor.js +5 -1
  263. package/vscode/src/vs/workbench/common/theme.js +79 -454
  264. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +221 -239
  265. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +17 -15
  266. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +1 -0
  267. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +4 -0
  268. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCollections.js +27 -0
  269. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +35 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +51 -0
  271. package/vscode/src/vs/workbench/contrib/chat/browser/{chatConfirmationWidget.js → chatContentParts/chatConfirmationWidget.js} +9 -9
  272. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatMarkdownContentPart.js +131 -0
  273. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatProgressContentPart.js +37 -0
  274. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +263 -0
  275. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +37 -0
  276. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +160 -0
  277. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +171 -0
  278. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatWarningContentPart.js +34 -0
  279. package/vscode/src/vs/workbench/contrib/chat/browser/{media → chatContentParts/media}/chatConfirmationWidget.css.js +1 -1
  280. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +91 -44
  281. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +292 -1019
  282. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +2 -2
  283. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +1 -1
  284. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +22 -7
  285. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.css.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +61 -54
  287. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +23 -16
  288. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatAgentHover.css.js +1 -1
  290. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +8 -0
  291. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +1 -1
  292. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +3 -3
  293. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +5 -4
  294. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +16 -0
  295. package/vscode/src/vs/workbench/contrib/chat/common/languageModelToolsService.service.js +3 -0
  296. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +2 -2
  297. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +43 -16
  298. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +1 -1
  299. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +1 -3
  300. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +1 -1
  301. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +7 -5
  302. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +7 -7
  303. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +3 -3
  304. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +3 -3
  305. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +2 -2
  306. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +1 -1
  307. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +2 -1
  308. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +2 -1
  309. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +1 -1
  310. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +8 -5
  311. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +1 -1
  312. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  313. package/vscode/src/vs/workbench/contrib/comments/browser/media/review.css.js +1 -1
  314. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +1 -1
  315. package/vscode/src/vs/workbench/contrib/contextmenu/browser/contextmenu.contribution.js +5 -5
  316. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +14 -7
  317. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +4 -4
  318. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +8 -7
  319. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +19 -16
  320. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -12
  321. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +19 -2
  322. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +9 -4
  323. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +10 -5
  324. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +4 -4
  325. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +235 -173
  326. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +1 -1
  327. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +2 -1
  328. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +17 -5
  329. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +62 -44
  330. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  331. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +2 -2
  332. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +114 -107
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +33 -25
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +71 -101
  335. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +38 -43
  336. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -33
  337. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +3 -4
  338. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +49 -86
  339. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +60 -71
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +1 -1
  342. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +116 -113
  343. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +6 -10
  344. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +2 -2
  345. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +1 -0
  346. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +2 -2
  347. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +12 -23
  348. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +0 -2
  349. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +7 -9
  350. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +88 -61
  351. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +1 -3
  352. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +39 -3
  353. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +2 -1
  354. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +12 -11
  355. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookCellChat.css.js +1 -1
  356. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +1 -1
  357. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookBrowser.js +3 -2
  358. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +40 -105
  359. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +27 -26
  360. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookOptions.js +14 -5
  361. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +1 -1
  362. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +43 -46
  363. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellDnd.js +1 -1
  364. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +4 -4
  365. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +12 -9
  366. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +19 -14
  367. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  368. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +9 -6
  369. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  370. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -3
  371. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +3 -3
  372. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +1 -1
  373. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +16 -6
  374. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +8 -8
  375. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineDataSourceFactory.service.js +3 -0
  376. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +11 -12
  377. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +12 -13
  378. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +1 -1
  379. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +5 -3
  380. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -2
  381. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +37 -36
  382. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +18 -8
  383. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +1 -1
  384. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +14 -5
  385. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +17 -22
  386. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +1 -1
  387. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +7 -10
  388. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +7 -27
  389. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +3 -4
  390. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +2 -2
  391. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +4 -0
  392. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +3 -3
  393. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +3 -0
  394. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +0 -1
  395. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +13 -37
  396. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.d.ts +88 -0
  397. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +48 -31
  398. package/vscode/src/vs/workbench/contrib/testing/common/testId.d.ts +115 -0
  399. package/vscode/src/vs/workbench/contrib/testing/common/testResult.d.ts +226 -0
  400. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +319 -0
  401. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +2 -3
  402. package/vscode/src/vs/workbench/contrib/testing/common/testingStates.d.ts +10 -0
  403. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  404. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewIconManager.js +7 -8
  405. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +3 -3
  406. package/vscode/src/vs/workbench/services/authentication/common/authentication.d.ts +10 -5
  407. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +54 -21
  408. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.service.d.ts +1 -0
  409. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.d.ts +1 -2
  410. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +2 -4
  411. package/vscode/src/vs/workbench/services/extensions/common/extensions.js +5 -3
  412. package/vscode/src/vs/workbench/services/extensions/common/extensions.service.d.ts +3 -1
  413. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +59 -41
  414. package/vscode/src/vs/workbench/services/extensions/common/rpcProtocol.js +1 -1
  415. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +3 -2
  416. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +1 -0
  417. package/vscode/src/vs/workbench/services/language/common/languageService.js +7 -0
  418. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +1 -1
  419. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +2 -2
  420. package/vscode/src/vs/workbench/services/search/common/search.js +2 -1
  421. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +2 -2
  422. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +2 -2
  423. package/vscode/src/vs/workbench/services/textfile/common/encoding.js +69 -26
  424. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +23 -4
  425. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +5 -1
  426. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  427. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +12 -5
  428. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +38 -19
  429. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyFileService.service.d.ts +2 -1
  430. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +0 -196
  431. package/vscode-dts/vscode.proposed.attributableCoverage.d.ts +28 -10
  432. package/vscode-dts/vscode.proposed.authGetSessions.d.ts +30 -22
  433. package/vscode-dts/vscode.proposed.chatProvider.d.ts +17 -8
  434. package/vscode-dts/vscode.proposed.chatVariableResolver.d.ts +0 -9
  435. package/vscode-dts/vscode.proposed.commentReveal.d.ts +32 -0
  436. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +10 -0
  437. package/vscode-dts/vscode.proposed.createFileSystemWatcher.d.ts +1 -1
  438. package/vscode-dts/vscode.proposed.fileComments.d.ts +12 -53
  439. package/vscode-dts/vscode.proposed.fileSearchProvider.d.ts +6 -0
  440. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +6 -0
  441. package/vscode-dts/vscode.proposed.lmTools.d.ts +91 -0
  442. package/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts +1 -1
  443. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +10 -6
  444. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +38 -13
  445. package/vscode/src/vs/editor/browser/observableUtilities.js +0 -58
  446. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProviderFactory.service.js +0 -3
  447. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +0 -122
@@ -17,6 +17,7 @@ import { Registry } from '../../../../platform/registry/common/platform.js';
17
17
  import { SyncDescriptor } from '../../../../platform/instantiation/common/descriptors.js';
18
18
  import { index } from '../../../../base/common/arrays.js';
19
19
  import { MarkdownString } from '../../../../base/common/htmlContent.js';
20
+ import { isString } from '../../../../base/common/types.js';
20
21
  const _moduleId = "vs/workbench/services/language/common/languageService";
21
22
  const languagesExtPoint = ExtensionsRegistry.registerExtensionPoint({
22
23
  extensionPoint: 'languages',
@@ -139,6 +140,9 @@ class LanguageTableRenderer extends Disposable {
139
140
  const byId = index(languages, l => l.id);
140
141
  const grammars = contributes?.grammars || [];
141
142
  grammars.forEach(grammar => {
143
+ if (!isString(grammar.language)) {
144
+ return;
145
+ }
142
146
  let language = byId[grammar.language];
143
147
  if (language) {
144
148
  language.hasGrammar = true;
@@ -151,6 +155,9 @@ class LanguageTableRenderer extends Disposable {
151
155
  });
152
156
  const snippets = contributes?.snippets || [];
153
157
  snippets.forEach(snippet => {
158
+ if (!isString(snippet.language)) {
159
+ return;
160
+ }
154
161
  let language = byId[snippet.language];
155
162
  if (language) {
156
163
  language.hasSnippets = true;
@@ -97,7 +97,7 @@ function panelOpensMaximizedFromString(str) {
97
97
  }
98
98
  function shouldShowCustomTitleBar(configurationService, window, menuBarToggled, zenModeActive) {
99
99
  if (zenModeActive) {
100
- return false;
100
+ return !configurationService.getValue(ZenModeSettings.FULLSCREEN);
101
101
  }
102
102
  const inFullscreen = isFullscreen(window);
103
103
  const nativeTitleBarEnabled = hasNativeTitlebar(configurationService);
@@ -4,7 +4,7 @@ import { IJSONSchemaMap, IJSONSchema } from '../../../../base/common/jsonSchema.
4
4
  import { URI } from '../../../../base/common/uri.js';
5
5
  import { IRange } from '../../../../editor/common/core/range.js';
6
6
  import '../../../../editor/editor.api.js';
7
- import { ConfigurationScope, IExtensionInfo, EditPresentationTypes } from '../../../../platform/configuration/common/configurationRegistry.js';
7
+ import { ConfigurationScope, IExtensionInfo, EditPresentationTypes, ConfigurationDefaultValueSource } from '../../../../platform/configuration/common/configurationRegistry.js';
8
8
  import { ConfigurationTarget } from '../../../../platform/configuration/common/configuration.js';
9
9
  import { IEditorOptions } from '../../../../platform/editor/common/editor.js';
10
10
 
@@ -54,7 +54,7 @@ interface ISetting {
54
54
  enumItemLabels?: string[];
55
55
  allKeysAreBoolean?: boolean;
56
56
  editPresentation?: EditPresentationTypes;
57
- nonLanguageSpecificDefaultValueSource?: string | IExtensionInfo;
57
+ nonLanguageSpecificDefaultValueSource?: ConfigurationDefaultValueSource;
58
58
  isLanguageTagSetting?: boolean;
59
59
  categoryLabel?: string;
60
60
  displayExtensionId?: string;
@@ -11,6 +11,7 @@ const VIEWLET_ID = 'workbench.view.search';
11
11
  const VIEW_ID = 'workbench.view.search';
12
12
  const SEARCH_RESULT_LANGUAGE_ID = 'search-result';
13
13
  const SEARCH_EXCLUDE_CONFIG = 'search.exclude';
14
+ const DEFAULT_MAX_SEARCH_RESULTS = 20000;
14
15
  const SEARCH_ELIDED_PREFIX = '⟪ ';
15
16
  const SEARCH_ELIDED_SUFFIX = ' characters skipped ⟫';
16
17
  const SEARCH_ELIDED_MIN_LEN = (SEARCH_ELIDED_PREFIX.length + SEARCH_ELIDED_SUFFIX.length + 5) * 2;
@@ -303,4 +304,4 @@ function listToMap(list) {
303
304
  }
304
305
  return map;
305
306
  }
306
- export { FileMatch, OneLineRange, QueryGlobTester, QueryType, SEARCH_EXCLUDE_CONFIG, SEARCH_RESULT_LANGUAGE_ID, SearchCompletionExitCode, SearchError, SearchErrorCode, SearchProviderType, SearchRange, SearchSortOrder, TextSearchMatch, VIEWLET_ID, VIEW_ID, ViewMode, deserializeSearchError, getExcludes, hasSiblingFn, hasSiblingPromiseFn, isFileMatch, isProgressMessage, pathIncludedInQuery, resolvePatternsForProvider, resultIsMatch };
307
+ export { DEFAULT_MAX_SEARCH_RESULTS, FileMatch, OneLineRange, QueryGlobTester, QueryType, SEARCH_EXCLUDE_CONFIG, SEARCH_RESULT_LANGUAGE_ID, SearchCompletionExitCode, SearchError, SearchErrorCode, SearchProviderType, SearchRange, SearchSortOrder, TextSearchMatch, VIEWLET_ID, VIEW_ID, ViewMode, deserializeSearchError, getExcludes, hasSiblingFn, hasSiblingPromiseFn, isFileMatch, isProgressMessage, pathIncludedInQuery, resolvePatternsForProvider, resultIsMatch };
@@ -6,7 +6,7 @@ import { Schemas } from '../../../../base/common/network.js';
6
6
  import { basename } from '../../../../base/common/path.js';
7
7
  import { isEqual, relativePath, dirname } from '../../../../base/common/resources.js';
8
8
  import { URI } from '../../../../base/common/uri.js';
9
- import { QueryType, resolvePatternsForProvider, QueryGlobTester, hasSiblingPromiseFn } from './search.js';
9
+ import { QueryType, resolvePatternsForProvider, DEFAULT_MAX_SEARCH_RESULTS, QueryGlobTester, hasSiblingPromiseFn } from './search.js';
10
10
  class TextSearchManager {
11
11
  constructor(queryProviderPair, fileUtils, processType) {
12
12
  this.queryProviderPair = queryProviderPair;
@@ -172,7 +172,7 @@ class TextSearchManager {
172
172
  followSymlinks: !fq.ignoreSymlinks,
173
173
  encoding: fq.fileEncoding && this.fileUtils.toCanonicalName(fq.fileEncoding),
174
174
  maxFileSize: this.query.maxFileSize,
175
- maxResults: this.query.maxResults ?? Number.MAX_SAFE_INTEGER,
175
+ maxResults: this.query.maxResults ?? DEFAULT_MAX_SEARCH_RESULTS,
176
176
  previewOptions: this.query.previewOptions,
177
177
  afterContext: this.query.afterContext,
178
178
  beforeContext: this.query.beforeContext
@@ -107,9 +107,9 @@ interface IStatusbarEntry {
107
107
  readonly showBeak?: boolean;
108
108
  /**
109
109
  * Will enable a spinning icon in front of the text to indicate progress. When `true` is
110
- * specified, `syncing` will be used.
110
+ * specified, `loading` will be used.
111
111
  */
112
- readonly showProgress?: boolean | 'syncing' | 'loading';
112
+ readonly showProgress?: boolean | 'loading' | 'syncing';
113
113
  /**
114
114
  * The kind of status bar entry. This applies different colors to the entry.
115
115
  */
@@ -1,6 +1,7 @@
1
1
  import { listenStream, newWriteableStream } from '../../../../base/common/stream.js';
2
2
  import { VSBuffer } from '../../../../base/common/buffer.js';
3
3
  import { CancellationTokenSource } from '../../../../base/common/cancellation.js';
4
+ import { coalesce } from '../../../../base/common/arrays.js';
4
5
  const UTF8 = 'utf8';
5
6
  const UTF8_with_bom = 'utf8bom';
6
7
  const UTF16be = 'utf16be';
@@ -67,7 +68,7 @@ function toDecodeStream(source, options) {
67
68
  const detected = await detectEncodingFromBuffer({
68
69
  buffer: VSBuffer.concat(bufferedChunks),
69
70
  bytesRead: bytesBuffered
70
- }, options.guessEncoding);
71
+ }, options.guessEncoding, options.candidateGuessEncodings);
71
72
  if (detected.seemsBinary && options.acceptTextOnly) {
72
73
  throw ( new DecodeStreamError(
73
74
  'Stream is binary but only text is accepted for decoding',
@@ -184,11 +185,17 @@ function detectEncodingByBOMFromBuffer(buffer, bytesRead) {
184
185
  return null;
185
186
  }
186
187
  const IGNORE_ENCODINGS = ['ascii', 'utf-16', 'utf-32'];
187
- async function guessEncodingByBuffer(buffer) {
188
+ async function guessEncodingByBuffer(buffer, candidateGuessEncodings) {
188
189
  const jschardet = await import('jschardet').then(module => module.default ?? module);
189
190
  const limitedBuffer = buffer.slice(0, AUTO_ENCODING_GUESS_MAX_BYTES);
190
191
  const binaryString = encodeLatin1(limitedBuffer.buffer);
191
- const guessed = jschardet.detect(binaryString);
192
+ if (candidateGuessEncodings) {
193
+ candidateGuessEncodings = coalesce(( candidateGuessEncodings.map(e => toJschardetEncoding(e))));
194
+ if (candidateGuessEncodings.length === 0) {
195
+ candidateGuessEncodings = undefined;
196
+ }
197
+ }
198
+ const guessed = jschardet.detect(binaryString, candidateGuessEncodings ? { detectEncodings: candidateGuessEncodings } : undefined);
192
199
  if (!guessed || !guessed.encoding) {
193
200
  return null;
194
201
  }
@@ -202,11 +209,19 @@ const JSCHARDET_TO_ICONV_ENCODINGS = {
202
209
  'ibm866': 'cp866',
203
210
  'big5': 'cp950'
204
211
  };
212
+ function normalizeEncoding(encodingName) {
213
+ return encodingName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
214
+ }
205
215
  function toIconvLiteEncoding(encodingName) {
206
- const normalizedEncodingName = encodingName.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
216
+ const normalizedEncodingName = normalizeEncoding(encodingName);
207
217
  const mapped = JSCHARDET_TO_ICONV_ENCODINGS[normalizedEncodingName];
208
218
  return mapped || normalizedEncodingName;
209
219
  }
220
+ function toJschardetEncoding(encodingName) {
221
+ const normalizedEncodingName = normalizeEncoding(encodingName);
222
+ const mapped = GUESSABLE_ENCODINGS[normalizedEncodingName];
223
+ return mapped.guessableName;
224
+ }
210
225
  function encodeLatin1(buffer) {
211
226
  let result = '';
212
227
  for (let i = 0; i < buffer.length; i++) {
@@ -214,7 +229,7 @@ function encodeLatin1(buffer) {
214
229
  }
215
230
  return result;
216
231
  }
217
- function detectEncodingFromBuffer({ buffer, bytesRead }, autoGuessEncoding) {
232
+ function detectEncodingFromBuffer({ buffer, bytesRead }, autoGuessEncoding, candidateGuessEncodings) {
218
233
  let encoding = detectEncodingByBOMFromBuffer(buffer, bytesRead);
219
234
  let seemsBinary = false;
220
235
  if (encoding !== UTF16be && encoding !== UTF16le && buffer) {
@@ -250,7 +265,7 @@ function detectEncodingFromBuffer({ buffer, bytesRead }, autoGuessEncoding) {
250
265
  }
251
266
  }
252
267
  if (autoGuessEncoding && !seemsBinary && !encoding && buffer) {
253
- return guessEncodingByBuffer(buffer.slice(0, bytesRead)).then(guessedEncoding => {
268
+ return guessEncodingByBuffer(buffer.slice(0, bytesRead), candidateGuessEncodings).then(guessedEncoding => {
254
269
  return {
255
270
  seemsBinary: false,
256
271
  encoding: guessedEncoding
@@ -264,7 +279,8 @@ const SUPPORTED_ENCODINGS = {
264
279
  labelLong: 'UTF-8',
265
280
  labelShort: 'UTF-8',
266
281
  order: 1,
267
- alias: 'utf8bom'
282
+ alias: 'utf8bom',
283
+ guessableName: 'UTF-8'
268
284
  },
269
285
  utf8bom: {
270
286
  labelLong: 'UTF-8 with BOM',
@@ -276,17 +292,20 @@ const SUPPORTED_ENCODINGS = {
276
292
  utf16le: {
277
293
  labelLong: 'UTF-16 LE',
278
294
  labelShort: 'UTF-16 LE',
279
- order: 3
295
+ order: 3,
296
+ guessableName: 'UTF-16LE'
280
297
  },
281
298
  utf16be: {
282
299
  labelLong: 'UTF-16 BE',
283
300
  labelShort: 'UTF-16 BE',
284
- order: 4
301
+ order: 4,
302
+ guessableName: 'UTF-16BE'
285
303
  },
286
304
  windows1252: {
287
305
  labelLong: 'Western (Windows 1252)',
288
306
  labelShort: 'Windows 1252',
289
- order: 5
307
+ order: 5,
308
+ guessableName: 'windows-1252'
290
309
  },
291
310
  iso88591: {
292
311
  labelLong: 'Western (ISO 8859-1)',
@@ -341,12 +360,14 @@ const SUPPORTED_ENCODINGS = {
341
360
  windows1250: {
342
361
  labelLong: 'Central European (Windows 1250)',
343
362
  labelShort: 'Windows 1250',
344
- order: 16
363
+ order: 16,
364
+ guessableName: 'windows-1250'
345
365
  },
346
366
  iso88592: {
347
367
  labelLong: 'Central European (ISO 8859-2)',
348
368
  labelShort: 'ISO 8859-2',
349
- order: 17
369
+ order: 17,
370
+ guessableName: 'ISO-8859-2'
350
371
  },
351
372
  cp852: {
352
373
  labelLong: 'Central European (CP 852)',
@@ -356,22 +377,26 @@ const SUPPORTED_ENCODINGS = {
356
377
  windows1251: {
357
378
  labelLong: 'Cyrillic (Windows 1251)',
358
379
  labelShort: 'Windows 1251',
359
- order: 19
380
+ order: 19,
381
+ guessableName: 'windows-1251'
360
382
  },
361
383
  cp866: {
362
384
  labelLong: 'Cyrillic (CP 866)',
363
385
  labelShort: 'CP 866',
364
- order: 20
386
+ order: 20,
387
+ guessableName: 'IBM866'
365
388
  },
366
389
  iso88595: {
367
390
  labelLong: 'Cyrillic (ISO 8859-5)',
368
391
  labelShort: 'ISO 8859-5',
369
- order: 21
392
+ order: 21,
393
+ guessableName: 'ISO-8859-5'
370
394
  },
371
395
  koi8r: {
372
396
  labelLong: 'Cyrillic (KOI8-R)',
373
397
  labelShort: 'KOI8-R',
374
- order: 22
398
+ order: 22,
399
+ guessableName: 'KOI8-R'
375
400
  },
376
401
  koi8u: {
377
402
  labelLong: 'Cyrillic (KOI8-U)',
@@ -386,22 +411,26 @@ const SUPPORTED_ENCODINGS = {
386
411
  windows1253: {
387
412
  labelLong: 'Greek (Windows 1253)',
388
413
  labelShort: 'Windows 1253',
389
- order: 25
414
+ order: 25,
415
+ guessableName: 'windows-1253'
390
416
  },
391
417
  iso88597: {
392
418
  labelLong: 'Greek (ISO 8859-7)',
393
419
  labelShort: 'ISO 8859-7',
394
- order: 26
420
+ order: 26,
421
+ guessableName: 'ISO-8859-7'
395
422
  },
396
423
  windows1255: {
397
424
  labelLong: 'Hebrew (Windows 1255)',
398
425
  labelShort: 'Windows 1255',
399
- order: 27
426
+ order: 27,
427
+ guessableName: 'windows-1255'
400
428
  },
401
429
  iso88598: {
402
430
  labelLong: 'Hebrew (ISO 8859-8)',
403
431
  labelShort: 'ISO 8859-8',
404
- order: 28
432
+ order: 28,
433
+ guessableName: 'ISO-8859-8'
405
434
  },
406
435
  iso885910: {
407
436
  labelLong: 'Nordic (ISO 8859-10)',
@@ -441,7 +470,8 @@ const SUPPORTED_ENCODINGS = {
441
470
  cp950: {
442
471
  labelLong: 'Traditional Chinese (Big5)',
443
472
  labelShort: 'Big5',
444
- order: 36
473
+ order: 36,
474
+ guessableName: 'Big5'
445
475
  },
446
476
  big5hkscs: {
447
477
  labelLong: 'Traditional Chinese (Big5-HKSCS)',
@@ -451,17 +481,20 @@ const SUPPORTED_ENCODINGS = {
451
481
  shiftjis: {
452
482
  labelLong: 'Japanese (Shift JIS)',
453
483
  labelShort: 'Shift JIS',
454
- order: 38
484
+ order: 38,
485
+ guessableName: 'SHIFT_JIS'
455
486
  },
456
487
  eucjp: {
457
488
  labelLong: 'Japanese (EUC-JP)',
458
489
  labelShort: 'EUC-JP',
459
- order: 39
490
+ order: 39,
491
+ guessableName: 'EUC-JP'
460
492
  },
461
493
  euckr: {
462
494
  labelLong: 'Korean (EUC-KR)',
463
495
  labelShort: 'EUC-KR',
464
- order: 40
496
+ order: 40,
497
+ guessableName: 'EUC-KR'
465
498
  },
466
499
  windows874: {
467
500
  labelLong: 'Thai (Windows 874)',
@@ -486,7 +519,8 @@ const SUPPORTED_ENCODINGS = {
486
519
  gb2312: {
487
520
  labelLong: 'Simplified Chinese (GB 2312)',
488
521
  labelShort: 'GB 2312',
489
- order: 45
522
+ order: 45,
523
+ guessableName: 'GB2312'
490
524
  },
491
525
  cp865: {
492
526
  labelLong: 'Nordic DOS (CP 865)',
@@ -499,4 +533,13 @@ const SUPPORTED_ENCODINGS = {
499
533
  order: 47
500
534
  }
501
535
  };
502
- export { DecodeStreamError, DecodeStreamErrorKind, SUPPORTED_ENCODINGS, UTF16be, UTF16be_BOM, UTF16le, UTF16le_BOM, UTF8, UTF8_BOM, UTF8_with_bom, detectEncodingByBOMFromBuffer, detectEncodingFromBuffer, encodingExists, toDecodeStream, toEncodeReadable, toNodeEncoding };
536
+ const GUESSABLE_ENCODINGS = (() => {
537
+ const guessableEncodings = {};
538
+ for (const encoding in SUPPORTED_ENCODINGS) {
539
+ if (SUPPORTED_ENCODINGS[encoding].guessableName) {
540
+ guessableEncodings[encoding] = SUPPORTED_ENCODINGS[encoding];
541
+ }
542
+ }
543
+ return guessableEncodings;
544
+ })();
545
+ export { DecodeStreamError, DecodeStreamErrorKind, GUESSABLE_ENCODINGS, SUPPORTED_ENCODINGS, UTF16be, UTF16be_BOM, UTF16le, UTF16le_BOM, UTF8, UTF8_BOM, UTF8_with_bom, detectEncodingByBOMFromBuffer, detectEncodingFromBuffer, encodingExists, toDecodeStream, toEncodeReadable, toNodeEncoding };
@@ -28,6 +28,8 @@ import { extUri } from '../../../../base/common/resources.js';
28
28
  import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.service.js';
29
29
  import { PLAINTEXT_LANGUAGE_ID } from '../../../../editor/common/languages/modesRegistry.js';
30
30
  import { IExtensionService } from '../../extensions/common/extensions.service.js';
31
+ import { ProgressLocation } from '../../../../platform/progress/common/progress.js';
32
+ import { IProgressService } from '../../../../platform/progress/common/progress.service.js';
31
33
  var TextFileEditorModel_1;
32
34
  const _moduleId = "vs/workbench/services/textfile/common/textFileEditorModel";
33
35
  let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel {
@@ -35,7 +37,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
35
37
  static { this.TEXTFILE_SAVE_ENCODING_SOURCE = SaveSourceRegistry.registerSource('textFileEncoding.source', ( localizeWithPath(_moduleId, 0, "File Encoding Changed"))); }
36
38
  static { this.UNDO_REDO_SAVE_PARTICIPANTS_AUTO_SAVE_THROTTLE_THRESHOLD = 500; }
37
39
  constructor(resource, preferredEncoding,
38
- preferredLanguageId, languageService, modelService, fileService, textFileService, workingCopyBackupService, logService, workingCopyService, filesConfigurationService, labelService, languageDetectionService, accessibilityService, pathService, extensionService) {
40
+ preferredLanguageId, languageService, modelService, fileService, textFileService, workingCopyBackupService, logService, workingCopyService, filesConfigurationService, labelService, languageDetectionService, accessibilityService, pathService, extensionService, progressService) {
39
41
  super(modelService, languageService, languageDetectionService, accessibilityService);
40
42
  this.resource = resource;
41
43
  this.preferredEncoding = preferredEncoding;
@@ -49,6 +51,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
49
51
  this.labelService = labelService;
50
52
  this.pathService = pathService;
51
53
  this.extensionService = extensionService;
54
+ this.progressService = progressService;
52
55
  this._onDidChangeContent = this._register(( (new Emitter())));
53
56
  this.onDidChangeContent = this._onDidChangeContent.event;
54
57
  this._onDidResolve = this._register(( (new Emitter())));
@@ -476,7 +479,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
476
479
  if (typeof options.reason !== 'number') {
477
480
  options.reason = SaveReason.EXPLICIT;
478
481
  }
479
- let versionId = this.versionId;
482
+ const versionId = this.versionId;
480
483
  this.trace(`doSave(${versionId}) - enter with versionId ${versionId}`);
481
484
  if (this.ignoreSaveFromSaveParticipants) {
482
485
  this.trace(`doSave(${versionId}) - exit - refusing to save() recursively from save participant`);
@@ -499,6 +502,20 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
499
502
  this.textEditorModel.pushStackElement();
500
503
  }
501
504
  const saveCancellation = ( (new CancellationTokenSource()));
505
+ return this.progressService.withProgress({
506
+ title: ( localizeWithPath(_moduleId, 1, "Saving '{0}'", this.name)),
507
+ location: ProgressLocation.Window,
508
+ cancellable: true,
509
+ delay: this.isDirty() ? 3000 : 5000
510
+ }, progress => {
511
+ return this.doSaveSequential(versionId, options, progress, saveCancellation);
512
+ }, () => {
513
+ saveCancellation.cancel();
514
+ }).finally(() => {
515
+ saveCancellation.dispose();
516
+ });
517
+ }
518
+ doSaveSequential(versionId, options, progress, saveCancellation) {
502
519
  return this.saveSequentializer.run(versionId, (async () => {
503
520
  if (this.isResolved() && !options.skipSaveParticipants) {
504
521
  try {
@@ -511,7 +528,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
511
528
  if (!saveCancellation.token.isCancellationRequested) {
512
529
  this.ignoreSaveFromSaveParticipants = true;
513
530
  try {
514
- await this.textFileService.files.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT, savedFrom: options.from }, saveCancellation.token);
531
+ await this.textFileService.files.runSaveParticipants(this, { reason: options.reason ?? SaveReason.EXPLICIT, savedFrom: options.from }, progress, saveCancellation.token);
515
532
  }
516
533
  finally {
517
534
  this.ignoreSaveFromSaveParticipants = false;
@@ -536,6 +553,7 @@ let TextFileEditorModel = class TextFileEditorModel extends BaseTextEditorModel
536
553
  }
537
554
  versionId = this.versionId;
538
555
  this.inErrorMode = false;
556
+ progress.report({ message: ( localizeWithPath(_moduleId, 2, "Writing into file...")) });
539
557
  this.trace(`doSave(${versionId}) - before write()`);
540
558
  const lastResolvedFileStat = assertIsDefined(this.lastResolvedFileStat);
541
559
  const resolvedTextFileEditorModel = this;
@@ -719,6 +737,7 @@ TextFileEditorModel = TextFileEditorModel_1 = ( (__decorate([
719
737
  ( (__param(12, ILanguageDetectionService))),
720
738
  ( (__param(13, IAccessibilityService))),
721
739
  ( (__param(14, IPathService))),
722
- ( (__param(15, IExtensionService)))
740
+ ( (__param(15, IExtensionService))),
741
+ ( (__param(16, IProgressService)))
723
742
  ], TextFileEditorModel)));
724
743
  export { TextFileEditorModel };
@@ -19,6 +19,10 @@ interface IReadTextFileEncodingOptions {
19
19
  * The optional guessEncoding parameter allows to guess encoding from content of the file.
20
20
  */
21
21
  readonly autoGuessEncoding?: boolean;
22
+ /**
23
+ * The optional candidateGuessEncodings parameter limits the allowed encodings to guess from.
24
+ */
25
+ readonly candidateGuessEncodings?: string[];
22
26
  /**
23
27
  * The optional acceptTextOnly parameter allows to fail this request early if the file
24
28
  * contents are not textual.
@@ -201,7 +205,7 @@ interface ITextFileEditorModelManager {
201
205
  /**
202
206
  * Runs the registered save participants on the provided model.
203
207
  */
204
- runSaveParticipants(model: ITextFileEditorModel, context: ITextFileSaveParticipantContext, token: CancellationToken): Promise<void>;
208
+ runSaveParticipants(model: ITextFileEditorModel, context: ITextFileSaveParticipantContext, progress: IProgress<IProgressStep>, token: CancellationToken): Promise<void>;
205
209
  /**
206
210
  * Waits for the model to be ready to be disposed. There may be conditions
207
211
  * under which the model cannot be disposed, e.g. when it is dirty. Once the
@@ -55,7 +55,7 @@ const ICONS = [
55
55
  Codicon.pulse,
56
56
  Codicon.radioTower,
57
57
  Codicon.smiley,
58
- Codicon.symbolEvent,
58
+ Codicon.zap,
59
59
  Codicon.squirrel,
60
60
  Codicon.symbolColor,
61
61
  Codicon.mail,
@@ -1,5 +1,5 @@
1
1
  import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { Disposable, toDisposable, DisposableStore } from '../../../../base/common/lifecycle.js';
2
+ import { Disposable, DisposableMap, toDisposable, DisposableStore } from '../../../../base/common/lifecycle.js';
3
3
  import { ViewContainerLocation } from '../../../common/views.js';
4
4
  import { IViewDescriptorService } from '../../../common/views.service.js';
5
5
  import { FocusedViewContext, getVisbileViewContextKey } from '../../../common/contextkeys.js';
@@ -44,6 +44,7 @@ let ViewsService = class ViewsService extends Disposable {
44
44
  this.onDidChangeViewContainerVisibility = this._onDidChangeViewContainerVisibility.event;
45
45
  this._onDidChangeFocusedView = this._register(( (new Emitter())));
46
46
  this.onDidChangeFocusedView = this._onDidChangeFocusedView.event;
47
+ this.viewContainerDisposables = this._register(( (new DisposableMap())));
47
48
  this.viewDisposable = ( (new Map()));
48
49
  this.enabledViewContainersContextKeys = ( (new Map()));
49
50
  this.visibleViewContextKeys = ( (new Map()));
@@ -84,7 +85,7 @@ let ViewsService = class ViewsService extends Disposable {
84
85
  }
85
86
  onDidChangeContainers(added, removed) {
86
87
  for (const { container, location } of removed) {
87
- this.deregisterPaneComposite(container, location);
88
+ this.onDidDeregisterViewContainer(container, location);
88
89
  }
89
90
  for (const { container, location } of added) {
90
91
  this.onDidRegisterViewContainer(container, location);
@@ -92,15 +93,21 @@ let ViewsService = class ViewsService extends Disposable {
92
93
  }
93
94
  onDidRegisterViewContainer(viewContainer, viewContainerLocation) {
94
95
  this.registerPaneComposite(viewContainer, viewContainerLocation);
96
+ const disposables = ( (new DisposableStore()));
95
97
  const viewContainerModel = this.viewDescriptorService.getViewContainerModel(viewContainer);
96
98
  this.onViewDescriptorsAdded(viewContainerModel.allViewDescriptors, viewContainer);
97
- this._register(viewContainerModel.onDidChangeAllViewDescriptors(({ added, removed }) => {
99
+ disposables.add(viewContainerModel.onDidChangeAllViewDescriptors(({ added, removed }) => {
98
100
  this.onViewDescriptorsAdded(added, viewContainer);
99
101
  this.onViewDescriptorsRemoved(removed);
100
102
  }));
101
103
  this.updateViewContainerEnablementContextKey(viewContainer);
102
- this._register(viewContainerModel.onDidChangeActiveViewDescriptors(() => this.updateViewContainerEnablementContextKey(viewContainer)));
103
- this._register(this.registerOpenViewContainerAction(viewContainer));
104
+ disposables.add(viewContainerModel.onDidChangeActiveViewDescriptors(() => this.updateViewContainerEnablementContextKey(viewContainer)));
105
+ disposables.add(this.registerOpenViewContainerAction(viewContainer));
106
+ this.viewContainerDisposables.set(viewContainer.id, disposables);
107
+ }
108
+ onDidDeregisterViewContainer(viewContainer, viewContainerLocation) {
109
+ this.deregisterPaneComposite(viewContainer, viewContainerLocation);
110
+ this.viewContainerDisposables.deleteAndDispose(viewContainer.id);
104
111
  }
105
112
  onDidChangeContainerLocation(viewContainer, from, to) {
106
113
  this.deregisterPaneComposite(viewContainer, from);