@codingame/monaco-vscode-api 3.2.3 → 4.1.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 (1672) hide show
  1. package/README.md +2 -0
  2. package/api.js +4 -7
  3. package/debugProtocol.d.ts +14 -39
  4. package/extensions.d.ts +7 -1
  5. package/l10n.d.ts +5 -2
  6. package/l10n.js +14 -2
  7. package/missing-services.js +121 -38
  8. package/monaco.d.ts +1 -1
  9. package/monaco.js +11 -1
  10. package/override/vs/platform/dialogs/common/dialogs.js +1 -0
  11. package/override/vs/platform/userDataSync/common/extensionsSync.js +4 -0
  12. package/override/vs/platform/userDataSync/common/globalStateSync.js +5 -0
  13. package/package.json +8 -8
  14. package/service-override/tools/editor.js +82 -3
  15. package/service-override/tools/views.d.ts +2 -1
  16. package/service-override/tools/views.js +5 -1
  17. package/services.d.ts +2 -0
  18. package/services.js +6 -3
  19. package/vscode/src/vs/base/browser/dom.js +1 -7
  20. package/vscode/src/vs/base/browser/fonts.js +3 -0
  21. package/vscode/src/vs/base/browser/hash.js +15 -0
  22. package/vscode/src/vs/base/browser/keyboardEvent.js +1 -1
  23. package/vscode/src/vs/base/browser/markdownRenderer.js +4 -4
  24. package/vscode/src/vs/base/browser/touch.js +13 -2
  25. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -1
  26. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +5 -6
  27. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.d.ts +1 -1
  28. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +2 -2
  29. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.d.ts +1 -0
  30. package/vscode/src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.js +4 -2
  31. package/vscode/src/vs/base/browser/ui/button/button.js +16 -9
  32. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.css.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/contextview/contextview.d.ts +1 -0
  34. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +1 -1
  35. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +4 -4
  36. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +3 -3
  37. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +5 -0
  38. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -0
  39. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -1
  40. package/vscode/src/vs/base/browser/ui/grid/gridview.js +1 -0
  41. package/vscode/src/vs/base/browser/ui/highlightedlabel/highlightedLabel.js +14 -3
  42. package/vscode/src/vs/base/browser/ui/{iconLabel/iconHoverDelegate.d.ts → hover/hoverDelegate.d.ts} +3 -6
  43. package/vscode/src/vs/base/browser/ui/hover/{hoverDelegate.js → hoverDelegateFactory.js} +5 -5
  44. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +1 -1
  45. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.d.ts → hover/updatableHoverWidget.d.ts} +6 -1
  46. package/vscode/src/vs/base/browser/ui/{iconLabel/iconLabelHover.js → hover/updatableHoverWidget.js} +27 -7
  47. package/vscode/src/vs/base/browser/ui/iconLabel/iconLabel.js +10 -9
  48. package/vscode/src/vs/base/browser/ui/iconLabel/simpleIconLabel.js +11 -1
  49. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.css.js +4 -0
  50. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +246 -0
  51. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +19 -1
  52. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +8 -7
  53. package/vscode/src/vs/base/browser/ui/list/listView.js +4 -1
  54. package/vscode/src/vs/base/browser/ui/list/listWidget.js +27 -10
  55. package/vscode/src/vs/base/browser/ui/menu/menu.js +15 -9
  56. package/vscode/src/vs/base/browser/ui/menu/menubar.js +15 -8
  57. package/vscode/src/vs/base/browser/ui/scrollbar/scrollableElement.js +18 -2
  58. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +1 -0
  59. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +14 -7
  60. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +6 -4
  61. package/vscode/src/vs/base/browser/ui/toggle/toggle.js +7 -6
  62. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -2
  63. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +55 -10
  64. package/vscode/src/vs/base/browser/ui/tree/indexTreeModel.js +4 -1
  65. package/vscode/src/vs/base/browser/window.d.ts +5 -0
  66. package/vscode/src/vs/base/browser/window.js +1 -2
  67. package/vscode/src/vs/base/common/amd.js +101 -0
  68. package/vscode/src/vs/base/common/arrays.js +20 -1
  69. package/vscode/src/vs/base/common/cache.js +3 -2
  70. package/vscode/src/vs/base/common/codicons.d.ts +62 -38
  71. package/vscode/src/vs/base/common/codicons.js +19 -571
  72. package/vscode/src/vs/base/common/codiconsLibrary.js +570 -0
  73. package/vscode/src/vs/base/common/codiconsUtil.js +17 -0
  74. package/vscode/src/vs/base/common/console.js +60 -0
  75. package/vscode/src/vs/base/common/event.js +4 -1
  76. package/vscode/src/vs/base/common/glob.js +1 -0
  77. package/vscode/src/vs/base/common/hierarchicalKind.d.ts +13 -0
  78. package/vscode/src/vs/base/common/hierarchicalKind.js +21 -0
  79. package/vscode/src/vs/base/common/labels.js +2 -2
  80. package/vscode/src/vs/base/common/network.js +14 -5
  81. package/vscode/src/vs/base/common/objects.js +1 -1
  82. package/vscode/src/vs/base/common/observableInternal/promise.js +1 -0
  83. package/vscode/src/vs/base/common/observableInternal/utils.js +35 -14
  84. package/vscode/src/vs/base/common/paging.js +116 -0
  85. package/vscode/src/vs/base/common/parsers.js +43 -0
  86. package/vscode/src/vs/base/common/platform.js +1 -1
  87. package/vscode/src/vs/base/common/processes.js +25 -0
  88. package/vscode/src/vs/base/common/product.d.ts +7 -1
  89. package/vscode/src/vs/base/common/severity.js +2 -1
  90. package/vscode/src/vs/base/common/strings.js +16 -4
  91. package/vscode/src/vs/base/parts/ipc/common/ipc.js +4 -0
  92. package/vscode/src/vs/base/parts/request/browser/request.js +60 -0
  93. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +5 -5
  94. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +55 -43
  95. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +5 -5
  96. package/vscode/src/vs/editor/browser/coreCommands.js +14 -14
  97. package/vscode/src/vs/editor/browser/editorDom.js +11 -1
  98. package/vscode/src/vs/editor/browser/editorExtensions.js +1 -1
  99. package/vscode/src/vs/editor/browser/services/editorWorkerService.js +10 -2
  100. package/vscode/src/vs/editor/browser/services/hoverService/hoverService.d.ts +31 -0
  101. package/vscode/src/vs/editor/browser/services/{hoverService.js → hoverService/hoverService.js} +38 -27
  102. package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hoverWidget.js +13 -14
  103. package/vscode/src/vs/editor/browser/view/viewLayer.js +4 -4
  104. package/vscode/src/vs/editor/browser/view/viewOverlays.js +12 -23
  105. package/vscode/src/vs/editor/browser/view.js +5 -5
  106. package/vscode/src/vs/editor/browser/viewParts/blockDecorations/blockDecorations.js +1 -1
  107. package/vscode/src/vs/editor/browser/viewParts/contentWidgets/contentWidgets.js +3 -3
  108. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.css.js +1 -1
  109. package/vscode/src/vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight.js +4 -6
  110. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.css.js +1 -1
  111. package/vscode/src/vs/editor/browser/viewParts/decorations/decorations.js +8 -14
  112. package/vscode/src/vs/editor/browser/viewParts/editorScrollbar/editorScrollbar.js +2 -2
  113. package/vscode/src/vs/editor/browser/viewParts/glyphMargin/glyphMargin.js +2 -2
  114. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.css.js +1 -1
  115. package/vscode/src/vs/editor/browser/viewParts/indentGuides/indentGuides.js +3 -6
  116. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.css.js +1 -1
  117. package/vscode/src/vs/editor/browser/viewParts/lineNumbers/lineNumbers.js +5 -1
  118. package/vscode/src/vs/editor/browser/viewParts/lines/viewLine.js +4 -4
  119. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.css.js +1 -1
  120. package/vscode/src/vs/editor/browser/viewParts/lines/viewLines.js +5 -5
  121. package/vscode/src/vs/editor/browser/viewParts/linesDecorations/linesDecorations.js +2 -2
  122. package/vscode/src/vs/editor/browser/viewParts/margin/margin.js +2 -2
  123. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.js +142 -27
  124. package/vscode/src/vs/editor/browser/viewParts/overlayWidgets/overlayWidgets.js +2 -2
  125. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +34 -16
  126. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/overviewRuler.js +3 -3
  127. package/vscode/src/vs/editor/browser/viewParts/scrollDecoration/scrollDecoration.js +1 -1
  128. package/vscode/src/vs/editor/browser/viewParts/selections/selections.js +23 -20
  129. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursor.js +25 -3
  130. package/vscode/src/vs/editor/browser/viewParts/viewCursors/viewCursors.js +21 -13
  131. package/vscode/src/vs/editor/browser/viewParts/viewZones/viewZones.js +2 -2
  132. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +2 -2
  133. package/vscode/src/vs/editor/browser/widget/{codeEditorContributions.js → codeEditor/codeEditorContributions.js} +3 -3
  134. package/vscode/src/vs/editor/browser/widget/{codeEditorWidget.js → codeEditor/codeEditorWidget.js} +81 -70
  135. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +4 -0
  136. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +44 -0
  137. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +281 -0
  138. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +7 -5
  139. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +4 -1
  140. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +15 -9
  141. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorSash.js +2 -0
  142. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +9 -8
  143. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/renderLines.js +1 -1
  144. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +33 -246
  145. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +22 -7
  146. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +5 -5
  147. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +71 -41
  148. package/vscode/src/vs/editor/browser/widget/diffEditor/embeddedDiffEditorWidget.js +36 -0
  149. package/vscode/src/vs/editor/browser/widget/diffEditor/features/gutterFeature.js +227 -0
  150. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +22 -19
  151. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +5 -4
  152. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +15 -4
  153. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +13 -5
  154. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +11 -1
  155. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  156. package/vscode/src/vs/editor/browser/widget/diffEditor/utils/editorGutter.js +104 -0
  157. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +8 -15
  158. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/colors.js +14 -4
  159. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/diffEditorItemTemplate.js +6 -5
  160. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +14 -0
  161. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorViewModel.js +5 -2
  162. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidget.js +5 -3
  163. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/multiDiffEditorWidgetImpl.js +9 -10
  164. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/style.css.js +1 -1
  165. package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/utils.js +2 -1
  166. package/vscode/src/vs/editor/common/commands/trimTrailingWhitespaceCommand.js +14 -3
  167. package/vscode/src/vs/editor/common/config/diffEditor.js +1 -0
  168. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +10 -1
  169. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +23 -0
  170. package/vscode/src/vs/editor/common/config/editorOptions.js +115 -33
  171. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +32 -2
  172. package/vscode/src/vs/editor/common/core/lineRange.d.ts +1 -0
  173. package/vscode/src/vs/editor/common/core/lineRange.js +12 -0
  174. package/vscode/src/vs/editor/common/core/positionToOffset.js +43 -0
  175. package/vscode/src/vs/editor/common/core/textEdit.js +169 -0
  176. package/vscode/src/vs/editor/common/core/textLength.js +110 -0
  177. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.d.ts +14 -2
  178. package/vscode/src/vs/editor/common/core/wordCharacterClassifier.js +66 -10
  179. package/vscode/src/vs/editor/common/core/wordHelper.js +1 -0
  180. package/vscode/src/vs/editor/common/cursor/cursor.js +17 -4
  181. package/vscode/src/vs/editor/common/cursor/cursorTypeOperations.js +1 -1
  182. package/vscode/src/vs/editor/common/cursor/cursorWordOperations.js +22 -3
  183. package/vscode/src/vs/editor/common/cursorCommon.js +7 -5
  184. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +7 -4
  185. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.js +1 -1
  186. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +2 -0
  187. package/vscode/src/vs/editor/common/diff/rangeMapping.js +10 -0
  188. package/vscode/src/vs/editor/common/editorContextKeys.js +25 -0
  189. package/vscode/src/vs/editor/common/languages.d.ts +43 -11
  190. package/vscode/src/vs/editor/common/languages.js +15 -1
  191. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +1 -1
  192. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/length.js +3 -58
  193. package/vscode/src/vs/editor/common/model/textModel.js +2 -0
  194. package/vscode/src/vs/editor/common/model/textModelSearch.js +1 -1
  195. package/vscode/src/vs/editor/common/model/textModelText.js +17 -0
  196. package/vscode/src/vs/editor/common/model/textModelTokens.js +4 -0
  197. package/vscode/src/vs/editor/common/model/tokenizationTextModelPart.js +10 -0
  198. package/vscode/src/vs/editor/common/model.d.ts +17 -2
  199. package/vscode/src/vs/editor/common/model.js +1 -6
  200. package/vscode/src/vs/editor/common/services/editorSimpleWorker.js +8 -0
  201. package/vscode/src/vs/editor/common/services/editorWorker.d.ts +2 -0
  202. package/vscode/src/vs/editor/common/services/findSectionHeaders.d.ts +28 -0
  203. package/vscode/src/vs/editor/common/services/findSectionHeaders.js +71 -0
  204. package/vscode/src/vs/editor/common/services/markerDecorationsService.js +15 -5
  205. package/vscode/src/vs/editor/common/services/modelUndoRedoParticipant.js +56 -0
  206. package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +116 -0
  207. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +32 -20
  208. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +2 -1
  209. package/vscode/src/vs/editor/common/viewLayout/viewLayout.js +5 -5
  210. package/vscode/src/vs/editor/common/viewLayout/viewLinesViewportData.js +1 -0
  211. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  212. package/vscode/src/vs/editor/common/viewModel/monospaceLineBreaksComputer.js +2 -2
  213. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +10 -7
  214. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +11 -1
  215. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +6 -5
  216. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +5 -4
  217. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +25 -3
  218. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionKeybindingResolver.js +3 -2
  219. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +3 -2
  220. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +13 -2
  221. package/vscode/src/vs/editor/contrib/codeAction/common/types.js +18 -33
  222. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorContributions.js +1 -1
  223. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorDetector.js +3 -3
  224. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +1 -1
  225. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +11 -1
  226. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +1 -1
  227. package/vscode/src/vs/editor/contrib/comment/browser/lineCommentCommand.js +9 -9
  228. package/vscode/src/vs/editor/contrib/diffEditorBreadcrumbs/browser/contribution.js +5 -3
  229. package/vscode/src/vs/editor/contrib/documentSymbols/browser/outlineModel.js +1 -1
  230. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +40 -20
  231. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +83 -47
  232. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +40 -31
  233. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +16 -1
  234. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +8 -8
  235. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/edit.js +5 -3
  236. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +7 -6
  237. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +14 -4
  238. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -6
  239. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.js +16 -1
  240. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +23 -3
  241. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +12 -3
  242. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +11 -1
  243. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +3 -3
  244. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +5 -3
  245. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +1 -1
  246. package/vscode/src/vs/editor/contrib/hover/browser/hover.js +12 -2
  247. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +3 -91
  248. package/vscode/src/vs/editor/contrib/indentation/common/indentation.js +92 -0
  249. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsController.js +14 -4
  250. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +4 -0
  251. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostText.js +18 -19
  252. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +5 -4
  253. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +4 -2
  254. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +4 -1
  255. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +6 -5
  256. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +5 -4
  257. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsModel.js +28 -19
  258. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsSource.js +7 -4
  259. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/provideInlineCompletions.js +1 -1
  260. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/singleTextEdit.js +64 -72
  261. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/suggestWidgetInlineCompletionProvider.js +11 -5
  262. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/utils.js +5 -85
  263. package/vscode/src/vs/editor/contrib/inlineEdit/browser/commands.js +2 -2
  264. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +6 -4
  265. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +4 -1
  266. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +28 -17
  267. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +5 -4
  268. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  269. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +53 -6
  270. package/vscode/src/vs/editor/contrib/linesOperations/browser/moveLinesCommand.js +1 -1
  271. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +11 -1
  272. package/vscode/src/vs/editor/contrib/links/browser/links.js +2 -2
  273. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +7 -7
  274. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -1
  275. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +12 -2
  276. package/vscode/src/vs/editor/contrib/quickAccess/browser/commandsQuickAccess.js +23 -0
  277. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +1 -1
  278. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +27 -33
  279. package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.js → renameWidget.js} +282 -194
  280. package/vscode/src/vs/editor/contrib/sectionHeaders/browser/sectionHeaders.js +154 -0
  281. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollModelProvider.js +60 -61
  282. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollProvider.js +23 -14
  283. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +1 -1
  284. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +12 -2
  285. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +11 -1
  286. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +1 -1
  287. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +16 -6
  288. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +2 -2
  289. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +12 -12
  290. package/vscode/src/vs/editor/contrib/zoneWidget/browser/zoneWidget.js +2 -2
  291. package/vscode/src/vs/editor/standalone/browser/quickInput/standaloneQuickInputService.js +1 -1
  292. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +2 -2
  293. package/vscode/src/vs/editor/standalone/browser/standaloneLayoutService.js +1 -1
  294. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +12 -12
  295. package/vscode/src/vs/editor/standalone/browser/standaloneThemeService.js +11 -1
  296. package/vscode/src/vs/editor/standalone/common/themes.js +11 -1
  297. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +16 -9
  298. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +42 -18
  299. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +16 -5
  300. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +11 -1
  301. package/vscode/src/vs/platform/actions/browser/buttonbar.js +13 -5
  302. package/vscode/src/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +3 -1
  303. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +11 -1
  304. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +11 -1
  305. package/vscode/src/vs/platform/actions/common/actions.d.ts +7 -0
  306. package/vscode/src/vs/platform/actions/common/actions.js +7 -0
  307. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +1 -0
  308. package/vscode/src/vs/platform/contextview/browser/contextViewService.js +12 -15
  309. package/vscode/src/vs/platform/debug/common/extensionHostDebugIpc.js +71 -0
  310. package/vscode/src/vs/platform/dialogs/common/dialogs.js +4 -2
  311. package/vscode/src/vs/platform/download/common/downloadIpc.js +16 -0
  312. package/vscode/src/vs/platform/download/common/downloadService.js +31 -0
  313. package/vscode/src/vs/platform/editor/common/editor.d.ts +12 -0
  314. package/vscode/src/vs/platform/environment/common/environmentService.js +6 -0
  315. package/vscode/src/vs/platform/extensionManagement/common/abstractExtensionManagementService.js +748 -0
  316. package/vscode/src/vs/platform/extensionManagement/common/extensionGalleryService.js +852 -0
  317. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +19 -7
  318. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +7 -1
  319. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +495 -0
  320. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementIpc.js +120 -0
  321. package/vscode/src/vs/platform/extensionManagement/common/extensionTipsService.js +65 -0
  322. package/vscode/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.js +333 -0
  323. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +901 -0
  324. package/vscode/src/vs/platform/extensionManagement/common/unsupportedExtensionsMigration.js +56 -0
  325. package/vscode/src/vs/platform/extensionResourceLoader/browser/extensionResourceLoaderService.js +42 -0
  326. package/vscode/src/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +3 -4
  327. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +16 -16
  328. package/vscode/src/vs/platform/extensions/common/extensions.js +5 -1
  329. package/vscode/src/vs/platform/externalServices/common/marketplace.js +15 -0
  330. package/vscode/src/vs/platform/externalTerminal/common/externalTerminal.js +3 -0
  331. package/vscode/src/vs/platform/files/browser/indexedDBFileSystemProvider.js +404 -0
  332. package/vscode/src/vs/platform/files/common/fileService.js +986 -0
  333. package/vscode/src/vs/platform/files/common/files.d.ts +1 -11
  334. package/vscode/src/vs/platform/files/common/files.js +2 -0
  335. package/vscode/src/vs/platform/files/common/io.js +75 -0
  336. package/vscode/src/vs/platform/files/common/watcher.js +2 -0
  337. package/vscode/src/vs/platform/hover/browser/hover.d.ts +1 -1
  338. package/vscode/src/vs/platform/hover/browser/hover.js +21 -6
  339. package/vscode/src/vs/platform/issue/common/issueReporterUtil.js +15 -0
  340. package/vscode/src/vs/platform/keyboardLayout/common/keyboardConfig.js +48 -0
  341. package/vscode/src/vs/platform/keyboardLayout/common/keyboardLayout.js +1 -0
  342. package/vscode/src/vs/platform/keyboardLayout/common/keyboardMapper.js +23 -0
  343. package/vscode/src/vs/platform/languagePacks/common/languagePacks.d.ts +18 -0
  344. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +5 -0
  345. package/vscode/src/vs/platform/layout/browser/layoutService.d.ts +8 -6
  346. package/vscode/src/vs/platform/lifecycle/common/lifecycle.js +25 -0
  347. package/vscode/src/vs/platform/log/browser/log.js +1 -0
  348. package/vscode/src/vs/platform/log/common/fileLog.js +105 -0
  349. package/vscode/src/vs/platform/log/common/log.js +13 -1
  350. package/vscode/src/vs/platform/log/common/logIpc.js +26 -0
  351. package/vscode/src/vs/platform/markers/common/markerService.js +1 -1
  352. package/vscode/src/vs/platform/markers/common/markers.js +9 -9
  353. package/vscode/src/vs/platform/opener/browser/link.js +16 -4
  354. package/vscode/src/vs/platform/policy/common/policy.js +2 -0
  355. package/vscode/src/vs/platform/product/common/product.js +2 -1
  356. package/vscode/src/vs/platform/quickinput/browser/commandsQuickAccess.js +355 -0
  357. package/vscode/src/vs/platform/quickinput/browser/helpQuickAccess.js +65 -0
  358. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  359. package/vscode/src/vs/platform/quickinput/browser/pickerQuickAccess.js +36 -33
  360. package/vscode/src/vs/platform/quickinput/browser/quickAccess.js +5 -0
  361. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +38 -9
  362. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +7 -4
  363. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +22 -12
  364. package/vscode/src/vs/platform/quickinput/browser/quickInputService.js +13 -5
  365. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +1348 -0
  366. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  367. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +14 -0
  368. package/vscode/src/vs/platform/remote/browser/remoteAuthorityResolverService.js +108 -0
  369. package/vscode/src/vs/platform/remote/common/managedSocket.js +96 -0
  370. package/vscode/src/vs/platform/remote/common/remoteAgentConnection.js +2 -2
  371. package/vscode/src/vs/platform/remote/common/remoteHosts.js +1 -4
  372. package/vscode/src/vs/platform/request/browser/requestService.js +28 -0
  373. package/vscode/src/vs/platform/request/common/requestIpc.js +18 -0
  374. package/vscode/src/vs/platform/secrets/common/secrets.js +5 -0
  375. package/vscode/src/vs/platform/severityIcon/browser/severityIcon.js +5 -5
  376. package/vscode/src/vs/platform/telemetry/common/commonProperties.js +11 -0
  377. package/vscode/src/vs/platform/telemetry/common/telemetry.js +2 -1
  378. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +7 -1
  379. package/vscode/src/vs/platform/terminal/common/capabilities/capabilities.d.ts +1 -1
  380. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +3 -9
  381. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +22 -0
  382. package/vscode/src/vs/platform/terminal/common/environmentVariable.js +7 -0
  383. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.js +196 -0
  384. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +6 -1
  385. package/vscode/src/vs/platform/terminal/common/terminal.js +1 -0
  386. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +4 -1
  387. package/vscode/src/vs/platform/terminal/common/terminalLogService.js +49 -0
  388. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +518 -0
  389. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +111 -0
  390. package/vscode/src/vs/platform/terminal/common/terminalRecorder.js +66 -0
  391. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -1
  392. package/vscode/src/vs/platform/theme/common/colorUtils.js +187 -0
  393. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +89 -0
  394. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +46 -0
  395. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +469 -0
  396. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +196 -0
  397. package/vscode/src/vs/platform/theme/common/colors/listColors.js +166 -0
  398. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +41 -0
  399. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +61 -0
  400. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +45 -0
  401. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +51 -0
  402. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +19 -0
  403. package/vscode/src/vs/platform/theme/common/iconRegistry.js +2 -1
  404. package/vscode/src/vs/platform/theme/common/themeService.d.ts +1 -1
  405. package/vscode/src/vs/platform/tunnel/common/tunnel.js +2 -0
  406. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +2 -2
  407. package/vscode/src/vs/platform/update/common/update.config.contribution.js +98 -0
  408. package/vscode/src/vs/platform/update/common/update.js +1 -1
  409. package/vscode/src/vs/platform/uriIdentity/common/uriIdentityService.js +1 -0
  410. package/vscode/src/vs/platform/url/common/urlService.js +20 -0
  411. package/vscode/src/vs/platform/userDataProfile/browser/userDataProfile.js +93 -0
  412. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileIpc.js +2 -0
  413. package/vscode/src/vs/platform/userDataProfile/common/userDataProfileStorageService.js +8 -0
  414. package/vscode/src/vs/platform/userDataSync/common/extensionsSync.js +256 -0
  415. package/vscode/src/vs/platform/userDataSync/common/globalStateSync.js +120 -0
  416. package/vscode/src/vs/platform/userDataSync/common/keybindingsMerge.js +275 -0
  417. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +316 -0
  418. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +314 -0
  419. package/vscode/src/vs/platform/userDataSync/common/snippetsMerge.js +125 -0
  420. package/vscode/src/vs/platform/userDataSync/common/snippetsSync.js +474 -0
  421. package/vscode/src/vs/platform/userDataSync/common/tasksSync.js +242 -0
  422. package/vscode/src/vs/platform/userDataSync/common/userDataAutoSyncService.js +464 -0
  423. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestMerge.js +90 -0
  424. package/vscode/src/vs/platform/userDataSync/common/userDataProfilesManifestSync.js +257 -0
  425. package/vscode/src/vs/platform/userDataSync/common/userDataSyncEnablementService.js +75 -0
  426. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLocalStoreService.js +148 -0
  427. package/vscode/src/vs/platform/userDataSync/common/userDataSyncLog.js +39 -0
  428. package/vscode/src/vs/platform/userDataSync/common/userDataSyncResourceProvider.js +447 -0
  429. package/vscode/src/vs/platform/userDataSync/common/userDataSyncService.js +781 -0
  430. package/vscode/src/vs/workbench/api/browser/extensionHost.contribution.js +103 -0
  431. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +29 -0
  432. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +33 -0
  433. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +252 -0
  434. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +66 -0
  435. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +102 -0
  436. package/vscode/src/vs/workbench/api/browser/mainThreadChat.js +68 -0
  437. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +205 -0
  438. package/vscode/src/vs/workbench/api/browser/mainThreadChatVariables.js +39 -0
  439. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +22 -0
  440. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +106 -0
  441. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +96 -0
  442. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +558 -0
  443. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +78 -0
  444. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +33 -0
  445. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +577 -0
  446. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +433 -0
  447. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +100 -0
  448. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +67 -0
  449. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +66 -0
  450. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +77 -0
  451. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +251 -0
  452. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +368 -0
  453. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +20 -0
  454. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +39 -0
  455. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.js +412 -0
  456. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +499 -0
  457. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +225 -0
  458. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +22 -0
  459. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +315 -0
  460. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +206 -0
  461. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +367 -0
  462. package/vscode/src/vs/workbench/api/browser/mainThreadInlineChat.js +70 -0
  463. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +26 -0
  464. package/vscode/src/vs/workbench/api/browser/mainThreadIssueReporter.js +48 -0
  465. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +25 -0
  466. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +1014 -0
  467. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +183 -0
  468. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +76 -0
  469. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +33 -0
  470. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +76 -0
  471. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +91 -0
  472. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +135 -0
  473. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +192 -0
  474. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +121 -0
  475. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +186 -0
  476. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +127 -0
  477. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +129 -0
  478. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +372 -0
  479. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +23 -0
  480. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +46 -0
  481. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +74 -0
  482. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +36 -0
  483. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +66 -0
  484. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +40 -0
  485. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +183 -0
  486. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +28 -0
  487. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +491 -0
  488. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +47 -0
  489. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +166 -0
  490. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +68 -0
  491. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +48 -0
  492. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +97 -0
  493. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +51 -0
  494. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +70 -0
  495. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +729 -0
  496. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +51 -0
  497. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +407 -0
  498. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +49 -0
  499. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +217 -0
  500. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +22 -0
  501. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +53 -0
  502. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +310 -0
  503. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +221 -0
  504. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +108 -0
  505. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +59 -0
  506. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +27 -0
  507. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.js +281 -0
  508. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.js +98 -0
  509. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +133 -0
  510. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +55 -0
  511. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +266 -0
  512. package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +594 -0
  513. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +69 -32
  514. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +6 -0
  515. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +3 -1
  516. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +12 -5
  517. package/vscode/src/vs/workbench/api/common/extHostChat.js +0 -8
  518. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +58 -88
  519. package/vscode/src/vs/workbench/api/common/extHostChatVariables.js +8 -4
  520. package/vscode/src/vs/workbench/api/common/extHostComments.js +49 -13
  521. package/vscode/src/vs/workbench/api/common/extHostDebugService.js +16 -17
  522. package/vscode/src/vs/workbench/api/common/extHostEditorTabs.js +3 -1
  523. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +1 -1
  524. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +17 -4
  525. package/vscode/src/vs/workbench/api/common/extHostInlineChat.js +1 -1
  526. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +57 -40
  527. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +305 -0
  528. package/vscode/src/vs/workbench/api/common/extHostLanguages.js +2 -2
  529. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +1 -1
  530. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +26 -6
  531. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +9 -9
  532. package/vscode/src/vs/workbench/api/common/extHostSCM.js +1 -1
  533. package/vscode/src/vs/workbench/api/common/extHostSearch.js +34 -3
  534. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +1 -1
  535. package/vscode/src/vs/workbench/api/common/extHostTask.js +1 -0
  536. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +32 -18
  537. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +214 -0
  538. package/vscode/src/vs/workbench/api/common/extHostTesting.js +85 -98
  539. package/vscode/src/vs/workbench/api/common/extHostTimeline.js +1 -0
  540. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +5 -2
  541. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +119 -70
  542. package/vscode/src/vs/workbench/api/common/extHostTypes.js +90 -28
  543. package/vscode/src/vs/workbench/api/common/shared/dataTransferCache.js +33 -0
  544. package/vscode/src/vs/workbench/browser/actions/developerActions.js +4 -4
  545. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +2 -2
  546. package/vscode/src/vs/workbench/browser/actions/quickAccessActions.js +227 -0
  547. package/vscode/src/vs/workbench/browser/actions/windowActions.js +3 -3
  548. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +3 -3
  549. package/vscode/src/vs/workbench/browser/codeeditor.js +1 -1
  550. package/vscode/src/vs/workbench/browser/composite.d.ts +3 -5
  551. package/vscode/src/vs/workbench/browser/composite.js +2 -10
  552. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  553. package/vscode/src/vs/workbench/browser/labels.js +2 -1
  554. package/vscode/src/vs/workbench/browser/layout.js +2059 -0
  555. package/vscode/src/vs/workbench/browser/media/part.css.js +1 -1
  556. package/vscode/src/vs/workbench/browser/media/style.css.js +1 -1
  557. package/vscode/src/vs/workbench/browser/part.d.ts +25 -3
  558. package/vscode/src/vs/workbench/browser/part.js +84 -9
  559. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +67 -10
  560. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +2 -2
  561. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +92 -14
  562. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +1 -1
  563. package/vscode/src/vs/workbench/browser/parts/banner/bannerPart.js +233 -0
  564. package/vscode/src/vs/workbench/browser/parts/banner/media/bannerpart.css.js +4 -0
  565. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +5 -4
  566. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +13 -3
  567. package/vscode/src/vs/workbench/browser/parts/compositePart.js +13 -5
  568. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +74 -0
  569. package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +132 -0
  570. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +12 -0
  571. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +10 -10
  572. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  573. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +8 -7
  574. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +16 -8
  575. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +217 -0
  576. package/vscode/src/vs/workbench/browser/parts/editor/editor.contribution.js +14 -16
  577. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +2 -2
  578. package/vscode/src/vs/workbench/browser/parts/editor/editorAutoSave.js +8 -7
  579. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +4 -202
  580. package/vscode/src/vs/workbench/browser/parts/editor/editorConfiguration.js +1 -1
  581. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +11 -1
  582. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +92 -23
  583. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +15 -3
  584. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.d.ts +7 -8
  585. package/vscode/src/vs/workbench/browser/parts/editor/editorPane.js +7 -6
  586. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +12 -32
  587. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +11 -1
  588. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +1 -0
  589. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +27 -28
  590. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +19 -20
  591. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +12 -2
  592. package/vscode/src/vs/workbench/browser/parts/editor/editorWithViewState.js +14 -17
  593. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +11 -1
  594. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +12 -12
  595. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +16 -16
  596. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +3 -3
  597. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +17 -17
  598. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +36 -13
  599. package/vscode/src/vs/workbench/browser/parts/editor/textResourceEditor.js +22 -22
  600. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +29 -21
  601. package/vscode/src/vs/workbench/browser/parts/media/compositepart.css.js +1 -1
  602. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css.js +1 -1
  603. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +13 -2
  604. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +11 -1
  605. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +16 -16
  606. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +1 -0
  607. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +122 -33
  608. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +14 -3
  609. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +15 -2
  610. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +1 -1
  611. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +37 -0
  612. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +36 -18
  613. package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +4 -0
  614. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarActions.js +119 -0
  615. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +250 -0
  616. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +249 -0
  617. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +610 -0
  618. package/vscode/src/vs/workbench/browser/parts/titlebar/commandCenterControl.js +220 -0
  619. package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css.js +4 -0
  620. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +7 -4
  621. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +259 -0
  622. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.js +582 -0
  623. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +6 -4
  624. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
  625. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +1 -1
  626. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +3 -3
  627. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +13 -3
  628. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +6 -0
  629. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +28 -11
  630. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +19 -15
  631. package/vscode/src/vs/workbench/browser/quickaccess.js +42 -15
  632. package/vscode/src/vs/workbench/browser/style.js +52 -3
  633. package/vscode/src/vs/workbench/browser/web.api.d.ts +6 -0
  634. package/vscode/src/vs/workbench/browser/window.js +28 -20
  635. package/vscode/src/vs/workbench/browser/workbench.contribution.js +83 -9
  636. package/vscode/src/vs/workbench/common/component.js +0 -1
  637. package/vscode/src/vs/workbench/common/contextkeys.js +4 -4
  638. package/vscode/src/vs/workbench/common/dialogs.js +36 -0
  639. package/vscode/src/vs/workbench/common/editor/editorGroupModel.js +59 -5
  640. package/vscode/src/vs/workbench/common/editor/editorInput.d.ts +10 -0
  641. package/vscode/src/vs/workbench/common/editor/editorInput.js +3 -0
  642. package/vscode/src/vs/workbench/common/editor/filteredEditorGroupModel.js +1 -0
  643. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.d.ts +3 -1
  644. package/vscode/src/vs/workbench/common/editor/resourceEditorInput.js +7 -3
  645. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +3 -3
  646. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.d.ts +2 -1
  647. package/vscode/src/vs/workbench/common/editor/textResourceEditorInput.js +9 -6
  648. package/vscode/src/vs/workbench/common/editor.d.ts +33 -13
  649. package/vscode/src/vs/workbench/common/editor.js +10 -7
  650. package/vscode/src/vs/workbench/common/theme.js +45 -5
  651. package/vscode/src/vs/workbench/common/views.d.ts +1 -0
  652. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +23 -0
  653. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +59 -184
  654. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +1 -0
  655. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityStatus.js +112 -0
  656. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleView.js +140 -13
  657. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +1 -1
  658. package/vscode/src/vs/workbench/contrib/accessibility/browser/openDiffEditorAnnouncement.js +50 -0
  659. package/vscode/src/vs/workbench/contrib/accessibility/browser/saveAccessibilitySignal.js +18 -0
  660. package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +66 -0
  661. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignal.contribution.js +1 -0
  662. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalDebuggerContribution.js +4 -2
  663. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/accessibilitySignalLineFeatureContribution.js +35 -36
  664. package/vscode/src/vs/workbench/contrib/accessibilitySignals/browser/commands.js +1 -1
  665. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkEditService.js +358 -0
  666. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkFileEdits.js +362 -0
  667. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/bulkTextEdits.js +265 -0
  668. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/conflicts.js +78 -0
  669. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.contribution.js +364 -0
  670. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEdit.css.js +4 -0
  671. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPane.js +340 -0
  672. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditPreview.js +361 -0
  673. package/vscode/src/vs/workbench/contrib/bulkEdit/browser/preview/bulkEditTree.js +655 -0
  674. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +1 -1
  675. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +4 -5
  676. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +21 -12
  677. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +15 -0
  678. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +113 -0
  679. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +501 -0
  680. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +80 -0
  681. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +70 -32
  682. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +75 -0
  683. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +108 -0
  684. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +169 -0
  685. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +4 -1
  686. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +269 -0
  687. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +316 -0
  688. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +4 -1
  689. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +118 -0
  690. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.js +58 -0
  691. package/vscode/src/vs/workbench/contrib/chat/browser/chatContributionServiceImpl.js +421 -0
  692. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +96 -0
  693. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +11 -6
  694. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +154 -61
  695. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +186 -224
  696. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownDecorationsRenderer.js +6 -75
  697. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +283 -0
  698. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +88 -0
  699. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +183 -0
  700. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +158 -49
  701. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +84 -175
  702. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +38 -5
  703. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatHistoryVariables.js +25 -0
  704. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +617 -0
  705. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  706. package/vscode/src/vs/workbench/contrib/chat/common/annotations.js +105 -0
  707. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +137 -43
  708. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +44 -0
  709. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -1
  710. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +82 -34
  711. package/vscode/src/vs/workbench/contrib/chat/common/chatParserTypes.js +17 -3
  712. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +20 -22
  713. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +2 -1
  714. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +598 -0
  715. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +68 -9
  716. package/vscode/src/vs/workbench/contrib/chat/common/codeBlockModelCollection.js +115 -0
  717. package/vscode/src/vs/workbench/contrib/chat/common/{chatProvider.js → languageModels.js} +9 -9
  718. package/vscode/src/vs/workbench/contrib/chat/common/voiceChat.js +139 -0
  719. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +5 -4
  720. package/vscode/src/vs/workbench/contrib/codeActions/browser/documentationContribution.js +2 -1
  721. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +4 -0
  722. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +39 -0
  723. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -5
  724. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +33 -7
  725. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.css.js +4 -0
  726. package/vscode/src/vs/workbench/contrib/codeEditor/browser/emptyTextEditorHint/emptyTextEditorHint.js +389 -0
  727. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -1
  728. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +370 -0
  729. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.css.js +4 -0
  730. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +290 -0
  731. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoLineQuickAccess.js +86 -0
  732. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +3 -3
  733. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +9 -6
  734. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +13 -3
  735. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +1 -1
  736. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +2 -2
  737. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +1 -1
  738. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +1 -1
  739. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -6
  740. package/vscode/src/vs/workbench/contrib/codeEditor/{browser → common}/languageConfigurationExtensionPoint.js +79 -74
  741. package/vscode/src/vs/workbench/contrib/commands/common/commands.contribution.js +145 -0
  742. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +11 -1
  743. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +11 -1
  744. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +25 -18
  745. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -2
  746. package/vscode/src/vs/workbench/contrib/comments/browser/commentService.js +80 -52
  747. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +12 -2
  748. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +33 -13
  749. package/vscode/src/vs/workbench/contrib/comments/browser/comments.contribution.js +231 -0
  750. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +129 -57
  751. package/vscode/src/vs/workbench/contrib/comments/browser/commentsEditorContribution.js +282 -0
  752. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +15 -15
  753. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +145 -20
  754. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +61 -95
  755. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +2 -2
  756. package/vscode/src/vs/workbench/contrib/comments/browser/media/panel.css.js +1 -1
  757. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +2 -2
  758. package/vscode/src/vs/workbench/contrib/comments/browser/timestamp.js +4 -3
  759. package/vscode/src/vs/workbench/contrib/comments/common/commentModel.js +18 -11
  760. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +6 -0
  761. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +62 -4
  762. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +74 -0
  763. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +6 -4
  764. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +34 -5
  765. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +48 -29
  766. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +216 -23
  767. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +11 -1
  768. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +1024 -0
  769. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +1003 -0
  770. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +345 -0
  771. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +335 -0
  772. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +430 -0
  773. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -2
  774. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +1037 -0
  775. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +647 -0
  776. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +62 -0
  777. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +634 -0
  778. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +738 -0
  779. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +406 -0
  780. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +6 -1
  781. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +204 -0
  782. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +78 -0
  783. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +167 -0
  784. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +1269 -0
  785. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +1328 -0
  786. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +113 -0
  787. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +75 -0
  788. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +305 -0
  789. package/vscode/src/vs/workbench/contrib/debug/browser/debugTitle.js +29 -0
  790. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +385 -0
  791. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +265 -0
  792. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +815 -0
  793. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +129 -0
  794. package/vscode/src/vs/workbench/contrib/debug/browser/extensionHostDebugService.js +140 -0
  795. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +260 -0
  796. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +667 -0
  797. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +4 -0
  798. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugHover.css.js +4 -0
  799. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +4 -0
  800. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +4 -0
  801. package/vscode/src/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +4 -0
  802. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css.js +4 -0
  803. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +707 -0
  804. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +1000 -0
  805. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +46 -0
  806. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +350 -0
  807. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +127 -0
  808. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +732 -0
  809. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +499 -0
  810. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +160 -0
  811. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +19 -0
  812. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +23 -5
  813. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +24 -1
  814. package/vscode/src/vs/workbench/contrib/debug/common/debugCompoundRoot.js +15 -0
  815. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +108 -0
  816. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +60 -0
  817. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.d.ts +15 -1
  818. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +30 -6
  819. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +458 -0
  820. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +164 -0
  821. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +34 -0
  822. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +148 -0
  823. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +287 -0
  824. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +85 -0
  825. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +2 -2
  826. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessions.contribution.js +1197 -0
  827. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsFileSystemProvider.js +55 -0
  828. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsStorageService.js +455 -0
  829. package/vscode/src/vs/workbench/contrib/editSessions/browser/editSessionsViews.js +337 -0
  830. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsLogService.js +39 -0
  831. package/vscode/src/vs/workbench/contrib/editSessions/common/editSessionsStorageClient.js +4 -0
  832. package/vscode/src/vs/workbench/contrib/editSessions/common/workspaceStateSync.js +140 -0
  833. package/vscode/src/vs/workbench/contrib/emmet/browser/actions/expandAbbreviation.js +41 -0
  834. package/vscode/src/vs/workbench/contrib/emmet/browser/emmetActions.js +88 -0
  835. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +539 -0
  836. package/vscode/src/vs/workbench/contrib/extensions/browser/browserRuntimeExtensionsEditor.js +26 -0
  837. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +76 -0
  838. package/vscode/src/vs/workbench/contrib/extensions/browser/deprecatedExtensionsChecker.js +88 -0
  839. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +58 -0
  840. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +1171 -0
  841. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +50 -0
  842. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +543 -0
  843. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +464 -0
  844. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendations.js +15 -0
  845. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationsService.js +233 -0
  846. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +2182 -0
  847. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.web.contribution.js +12 -0
  848. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +106 -37
  849. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +44 -0
  850. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +63 -0
  851. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +96 -0
  852. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +219 -0
  853. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +119 -0
  854. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +293 -0
  855. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +934 -0
  856. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +1349 -0
  857. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +858 -0
  858. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +2349 -0
  859. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +328 -0
  860. package/vscode/src/vs/workbench/contrib/extensions/browser/keymapRecommendations.js +26 -0
  861. package/vscode/src/vs/workbench/contrib/extensions/browser/languageRecommendations.js +26 -0
  862. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css.js +4 -0
  863. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css.js +4 -0
  864. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css.js +4 -0
  865. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsWidgets.css.js +4 -0
  866. package/vscode/src/vs/workbench/contrib/extensions/browser/media/runtimeExtensionsEditor.css.js +4 -0
  867. package/vscode/src/vs/workbench/contrib/extensions/browser/remoteRecommendations.js +27 -0
  868. package/vscode/src/vs/workbench/contrib/extensions/browser/unsupportedExtensionsMigrationContribution.js +24 -0
  869. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +36 -0
  870. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +160 -0
  871. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +56 -0
  872. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +1 -1
  873. package/vscode/src/vs/workbench/contrib/extensions/common/reportExtensionIssueAction.js +29 -0
  874. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +49 -0
  875. package/vscode/src/vs/workbench/contrib/externalTerminal/browser/externalTerminal.contribution.js +152 -0
  876. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/contributedOpeners.js +81 -0
  877. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +1 -0
  878. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +8 -11
  879. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +5 -3
  880. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +23 -24
  881. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +17 -12
  882. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +430 -0
  883. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +3 -3
  884. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +786 -0
  885. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +9 -9
  886. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +510 -0
  887. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.save.js +1 -1
  888. package/vscode/src/vs/workbench/contrib/files/browser/files.configuration.contribution.js +10 -0
  889. package/vscode/src/vs/workbench/contrib/files/browser/files.explorer.contribution.js +460 -0
  890. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +11 -1
  891. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +11 -1
  892. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +1 -3
  893. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +1 -1
  894. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +15 -6
  895. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +4 -8
  896. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +39 -0
  897. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +39 -0
  898. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +674 -0
  899. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +154 -0
  900. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +316 -344
  901. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatFileCreationWidget.js +223 -0
  902. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +70 -0
  903. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSavingServiceImpl.js +234 -0
  904. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSession.js +8 -25
  905. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +427 -0
  906. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +45 -160
  907. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +358 -702
  908. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +165 -0
  909. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +4 -0
  910. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatContentWidget.css.js +4 -0
  911. package/vscode/src/vs/workbench/contrib/inlineChat/browser/utils.js +1 -1
  912. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +16 -27
  913. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChatServiceImpl.js +31 -0
  914. package/vscode/src/vs/workbench/contrib/interactive/browser/interactive.contribution.js +737 -0
  915. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveCommon.js +6 -0
  916. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.css.js +4 -0
  917. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditor.js +600 -0
  918. package/vscode/src/vs/workbench/contrib/interactive/browser/interactiveEditorInput.js +19 -4
  919. package/vscode/src/vs/workbench/contrib/interactive/browser/media/interactive.css.js +4 -0
  920. package/vscode/src/vs/workbench/contrib/issue/browser/issue.contribution.js +27 -0
  921. package/vscode/src/vs/workbench/contrib/issue/common/issue.contribution.js +102 -0
  922. package/vscode/src/vs/workbench/contrib/keybindings/browser/keybindings.contribution.js +28 -0
  923. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +156 -0
  924. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +9 -9
  925. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +1 -1
  926. package/vscode/src/vs/workbench/contrib/limitIndicator/browser/limitIndicator.contribution.js +2 -2
  927. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.contribution.js +4 -0
  928. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistory.js +35 -0
  929. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryCommands.js +635 -0
  930. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryFileSystemProvider.js +87 -0
  931. package/vscode/src/vs/workbench/contrib/localHistory/browser/localHistoryTimeline.js +136 -0
  932. package/vscode/src/vs/workbench/contrib/logs/common/defaultLogLevels.js +17 -2
  933. package/vscode/src/vs/workbench/contrib/logs/common/logs.contribution.js +225 -0
  934. package/vscode/src/vs/workbench/contrib/logs/common/logsActions.js +242 -0
  935. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownDocumentRenderer.js +2 -2
  936. package/vscode/src/vs/workbench/contrib/markdown/browser/markdownSettingRenderer.js +307 -0
  937. package/vscode/src/vs/workbench/contrib/markers/browser/markers.contribution.js +759 -0
  938. package/vscode/src/vs/workbench/contrib/markers/browser/markersFileDecorations.js +127 -0
  939. package/vscode/src/vs/workbench/contrib/markers/browser/markersFilterOptions.js +75 -0
  940. package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +200 -0
  941. package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +475 -0
  942. package/vscode/src/vs/workbench/contrib/markers/browser/markersTreeViewer.js +691 -0
  943. package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +900 -0
  944. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.css.js +4 -0
  945. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.js +132 -0
  946. package/vscode/src/vs/workbench/contrib/markers/browser/media/markers.css.js +4 -0
  947. package/vscode/src/vs/workbench/contrib/markers/browser/messages.js +301 -0
  948. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +9 -4
  949. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +8 -6
  950. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeMarkers/mergeMarkersController.js +8 -0
  951. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +5 -5
  952. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/rangeUtils.js +5 -5
  953. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/textModelDiffs.js +2 -0
  954. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/utils.js +5 -3
  955. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/colors.js +11 -1
  956. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/conflictActions.js +5 -3
  957. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editorGutter.js +5 -3
  958. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/baseCodeEditorView.js +6 -4
  959. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/codeEditorView.js +5 -4
  960. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/inputCodeEditorView.js +7 -5
  961. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/editors/resultCodeEditorView.js +6 -4
  962. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/lineAlignment.js +2 -2
  963. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/mergeEditor.js +23 -19
  964. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/scrollSynchronizer.js +4 -1
  965. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/view/viewModel.js +5 -3
  966. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/actions.js +108 -0
  967. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +9 -0
  968. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.contribution.js +39 -0
  969. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditor.js +117 -0
  970. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +303 -0
  971. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +146 -0
  972. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellCommands/cellCommands.js +655 -0
  973. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellDiagnostics/cellDiagnostics.js +101 -0
  974. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.js +107 -0
  975. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +56 -1
  976. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/statusBarProviders.js +172 -0
  977. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/clipboard/notebookClipboard.js +542 -0
  978. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookBreakpoints.js +105 -0
  979. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookCellPausing.js +66 -0
  980. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/debug/notebookDebugDecorations.js +163 -0
  981. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorHint/emptyCellEditorHint.js +65 -0
  982. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/editorStatusBar/editorStatusBar.js +318 -0
  983. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/execute/executionEditorProgress.js +70 -0
  984. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findMatchDecorationModel.js +11 -1
  985. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/media/notebookFind.css.js +4 -0
  986. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFind.js +167 -0
  987. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +11 -4
  988. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.js +207 -0
  989. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/gettingStarted/notebookGettingStarted.js +82 -0
  990. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/kernelDetection/notebookKernelDetection.js +81 -0
  991. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/layout/layoutActions.js +65 -0
  992. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/marker/markerProvider.js +100 -0
  993. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/navigation/arrow.js +391 -0
  994. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableCommands.js +62 -0
  995. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariableContextKeys.js +3 -0
  996. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariables.js +95 -0
  997. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesDataSource.js +118 -0
  998. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesTree.js +58 -0
  999. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/notebookVariables/notebookVariablesView.js +148 -0
  1000. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/outline/notebookOutline.js +654 -0
  1001. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/profile/notebookProfile.js +75 -0
  1002. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/saveParticipants/saveParticipants.js +515 -0
  1003. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/troubleshoot/layout.js +157 -0
  1004. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/undoRedo/notebookUndoRedo.js +55 -0
  1005. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/viewportWarmup/viewportWarmup.js +93 -0
  1006. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/apiActions.js +50 -0
  1007. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +651 -0
  1008. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +29 -0
  1009. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +888 -0
  1010. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +2 -1
  1011. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/executeActions.js +719 -0
  1012. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +349 -0
  1013. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/layoutActions.js +314 -0
  1014. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +1 -1
  1015. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/sectionActions.js +197 -0
  1016. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +46 -0
  1017. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1295 -0
  1018. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +282 -0
  1019. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +561 -0
  1020. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +113 -0
  1021. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +37 -0
  1022. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css.js +4 -0
  1023. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffActions.js +312 -0
  1024. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +909 -0
  1025. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +11 -0
  1026. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +393 -0
  1027. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +183 -0
  1028. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css.js +1 -1
  1029. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookFolding.css.js +1 -1
  1030. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookOutline.css.js +1 -1
  1031. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebookToolbar.css.js +1 -1
  1032. package/vscode/src/vs/workbench/contrib/notebook/browser/notebook.contribution.js +1185 -0
  1033. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibility.js +157 -0
  1034. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +88 -0
  1035. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +60 -46
  1036. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +42 -52
  1037. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookExtensionPoint.js +449 -0
  1038. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookEditorServiceImpl.js +190 -0
  1039. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionServiceImpl.js +104 -0
  1040. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookExecutionStateServiceImpl.js +508 -0
  1041. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelHistoryServiceImpl.js +128 -0
  1042. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKernelServiceImpl.js +339 -0
  1043. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookKeymapServiceImpl.js +109 -0
  1044. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookLoggingServiceImpl.js +26 -0
  1045. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookRendererMessagingServiceImpl.js +63 -0
  1046. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookServiceImpl.js +639 -0
  1047. package/vscode/src/vs/workbench/contrib/notebook/browser/services/notebookWorkerServiceImpl.js +198 -0
  1048. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellActionView.js +18 -7
  1049. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +1 -1
  1050. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellContextKeys.js +28 -1
  1051. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellStatusPart.js +2 -2
  1052. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellToolbars.js +11 -7
  1053. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -1
  1054. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +48 -4
  1055. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +1 -1
  1056. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellList.js +3 -1
  1057. package/vscode/src/vs/workbench/contrib/notebook/browser/view/notebookCellListView.js +13 -2
  1058. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +57 -10
  1059. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +11 -4
  1060. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +161 -15
  1061. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +4 -2
  1062. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +21 -2
  1063. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/foldingModel.js +1 -1
  1064. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +5 -0
  1065. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineEntryFactory.js +14 -4
  1066. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookOutlineProvider.js +14 -8
  1067. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +3 -0
  1068. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +25 -64
  1069. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorToolbar.js +27 -22
  1070. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +1 -1
  1071. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +4 -4
  1072. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookTopCellToolbar.js +2 -2
  1073. package/vscode/src/vs/workbench/contrib/notebook/common/model/cellEdit.js +89 -0
  1074. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.js +1000 -0
  1075. package/vscode/src/vs/workbench/contrib/notebook/common/notebookCommon.js +8 -1
  1076. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
  1077. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiffEditorInput.js +101 -0
  1078. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +7 -14
  1079. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModel.js +4 -4
  1080. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorModelResolverServiceImpl.js +201 -0
  1081. package/vscode/src/vs/workbench/contrib/notebook/common/notebookOutputRenderer.js +78 -0
  1082. package/vscode/src/vs/workbench/contrib/notebook/common/notebookProvider.js +96 -0
  1083. package/vscode/src/vs/workbench/contrib/outline/browser/outline.contribution.js +367 -0
  1084. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +10 -0
  1085. package/vscode/src/vs/workbench/contrib/outline/browser/outlineActions.js +172 -0
  1086. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.css.js +4 -0
  1087. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.js +316 -0
  1088. package/vscode/src/vs/workbench/contrib/outline/browser/outlineViewState.js +66 -0
  1089. package/vscode/src/vs/workbench/contrib/output/browser/output.contribution.js +613 -0
  1090. package/vscode/src/vs/workbench/contrib/output/browser/output.css.js +4 -0
  1091. package/vscode/src/vs/workbench/contrib/output/browser/outputLinkProvider.js +76 -0
  1092. package/vscode/src/vs/workbench/contrib/output/browser/outputServices.js +200 -0
  1093. package/vscode/src/vs/workbench/contrib/output/browser/outputView.js +224 -0
  1094. package/vscode/src/vs/workbench/contrib/performance/browser/inputLatencyContrib.js +43 -0
  1095. package/vscode/src/vs/workbench/contrib/performance/browser/performance.contribution.js +116 -0
  1096. package/vscode/src/vs/workbench/contrib/performance/browser/performance.web.contribution.js +5 -0
  1097. package/vscode/src/vs/workbench/contrib/performance/browser/perfviewEditor.js +340 -0
  1098. package/vscode/src/vs/workbench/contrib/performance/browser/startupTimings.js +114 -0
  1099. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +16 -4
  1100. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +1237 -0
  1101. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditorContribution.js +248 -0
  1102. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindingsEditor.css.js +4 -0
  1103. package/vscode/src/vs/workbench/contrib/preferences/browser/media/preferences.css.js +4 -0
  1104. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css.js +4 -0
  1105. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsWidgets.css.js +4 -0
  1106. package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +1374 -0
  1107. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesActions.js +104 -0
  1108. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesEditor.js +47 -0
  1109. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +784 -0
  1110. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +461 -0
  1111. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +17 -4
  1112. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +1578 -0
  1113. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditorSettingIndicators.js +624 -0
  1114. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsSearchMenu.js +135 -0
  1115. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +2122 -0
  1116. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +1158 -0
  1117. package/vscode/src/vs/workbench/contrib/preferences/browser/tocTree.js +217 -0
  1118. package/vscode/src/vs/workbench/contrib/preferences/common/preferencesContribution.js +160 -0
  1119. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +11 -1
  1120. package/vscode/src/vs/workbench/contrib/preferences/common/smartSnippetInserter.js +124 -0
  1121. package/vscode/src/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +293 -0
  1122. package/vscode/src/vs/workbench/contrib/quickaccess/browser/quickAccess.contribution.js +167 -0
  1123. package/vscode/src/vs/workbench/contrib/quickaccess/browser/viewQuickAccess.js +264 -0
  1124. package/vscode/src/vs/workbench/contrib/relauncher/browser/relauncher.contribution.js +206 -0
  1125. package/vscode/src/vs/workbench/contrib/remote/browser/explorerViewItems.js +133 -0
  1126. package/vscode/src/vs/workbench/contrib/remote/browser/media/remoteViewlet.css.js +4 -0
  1127. package/vscode/src/vs/workbench/contrib/remote/browser/remote.contribution.js +18 -0
  1128. package/vscode/src/vs/workbench/contrib/remote/browser/remote.js +829 -0
  1129. package/vscode/src/vs/workbench/contrib/remote/browser/remoteConnectionHealth.js +164 -0
  1130. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +26 -8
  1131. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIndicator.js +800 -0
  1132. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.contribution.js +5 -0
  1133. package/vscode/src/vs/workbench/contrib/remote/browser/remoteStartEntry.js +95 -0
  1134. package/vscode/src/vs/workbench/contrib/remote/browser/showCandidate.js +33 -0
  1135. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelFactory.js +108 -0
  1136. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +16 -6
  1137. package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +513 -0
  1138. package/vscode/src/vs/workbench/contrib/scm/browser/activity.js +306 -0
  1139. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +11 -1
  1140. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +18 -8
  1141. package/vscode/src/vs/workbench/contrib/scm/browser/media/scm.css.js +4 -0
  1142. package/vscode/src/vs/workbench/contrib/scm/browser/menus.js +278 -0
  1143. package/vscode/src/vs/workbench/contrib/scm/browser/scm.contribution.js +701 -0
  1144. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoriesViewPane.js +172 -0
  1145. package/vscode/src/vs/workbench/contrib/scm/browser/scmRepositoryRenderer.js +134 -0
  1146. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPane.js +3365 -0
  1147. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewPaneContainer.js +52 -0
  1148. package/vscode/src/vs/workbench/contrib/scm/browser/scmViewService.js +303 -0
  1149. package/vscode/src/vs/workbench/contrib/scm/browser/util.js +119 -0
  1150. package/vscode/src/vs/workbench/contrib/scm/common/quickDiffService.js +74 -0
  1151. package/vscode/src/vs/workbench/contrib/scm/common/scmService.js +310 -0
  1152. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +794 -0
  1153. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +4 -0
  1154. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css.js +4 -0
  1155. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchService.js +235 -0
  1156. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +232 -0
  1157. package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +339 -0
  1158. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.js +7 -0
  1159. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +230 -0
  1160. package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +646 -0
  1161. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +207 -0
  1162. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +510 -0
  1163. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +372 -0
  1164. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +42 -0
  1165. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +43 -0
  1166. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +322 -0
  1167. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +101 -0
  1168. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +104 -0
  1169. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +64 -0
  1170. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +182 -69
  1171. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +435 -0
  1172. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +2175 -0
  1173. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +672 -0
  1174. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +232 -0
  1175. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +85 -0
  1176. package/vscode/src/vs/workbench/contrib/search/common/constants.js +2 -0
  1177. package/vscode/src/vs/workbench/contrib/searchEditor/browser/media/searchEditor.css.js +4 -0
  1178. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +585 -0
  1179. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +758 -0
  1180. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +187 -0
  1181. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +318 -0
  1182. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +136 -0
  1183. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +291 -0
  1184. package/vscode/src/vs/workbench/contrib/share/browser/share.contribution.js +167 -0
  1185. package/vscode/src/vs/workbench/contrib/share/browser/share.css.js +4 -0
  1186. package/vscode/src/vs/workbench/contrib/share/browser/shareService.js +70 -0
  1187. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +331 -0
  1188. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +127 -0
  1189. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +57 -0
  1190. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +154 -0
  1191. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetPicker.js +111 -0
  1192. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.contribution.js +141 -0
  1193. package/vscode/src/vs/workbench/contrib/speech/browser/speechService.js +271 -0
  1194. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +203 -1
  1195. package/vscode/src/vs/workbench/contrib/surveys/browser/ces.contribution.js +137 -0
  1196. package/vscode/src/vs/workbench/contrib/surveys/browser/languageSurveys.contribution.js +50 -0
  1197. package/vscode/src/vs/workbench/contrib/surveys/browser/nps.contribution.js +92 -0
  1198. package/vscode/src/vs/workbench/contrib/tags/browser/workspaceTagsService.js +3 -0
  1199. package/vscode/src/vs/workbench/contrib/tags/common/workspaceTags.js +2 -0
  1200. package/vscode/src/vs/workbench/contrib/tasks/browser/abstractTaskService.js +3857 -0
  1201. package/vscode/src/vs/workbench/contrib/tasks/browser/runAutomaticTasks.js +183 -0
  1202. package/vscode/src/vs/workbench/contrib/tasks/browser/task.contribution.js +682 -0
  1203. package/vscode/src/vs/workbench/contrib/tasks/browser/taskQuickPick.js +450 -0
  1204. package/vscode/src/vs/workbench/contrib/tasks/browser/taskService.js +36 -0
  1205. package/vscode/src/vs/workbench/contrib/tasks/browser/taskTerminalStatus.js +189 -0
  1206. package/vscode/src/vs/workbench/contrib/tasks/browser/tasksQuickAccess.js +119 -0
  1207. package/vscode/src/vs/workbench/contrib/tasks/browser/terminalTaskSystem.js +1711 -0
  1208. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchemaCommon.js +437 -0
  1209. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v1.js +123 -0
  1210. package/vscode/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.js +899 -0
  1211. package/vscode/src/vs/workbench/contrib/tasks/common/problemCollectors.js +463 -0
  1212. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.js +1794 -0
  1213. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.js +1579 -0
  1214. package/vscode/src/vs/workbench/contrib/tasks/common/taskSystem.js +14 -0
  1215. package/vscode/src/vs/workbench/contrib/tasks/common/taskTemplates.js +143 -0
  1216. package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +114 -0
  1217. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +133 -0
  1218. package/vscode/src/vs/workbench/contrib/terminal/browser/media/scrollbar.css.js +4 -0
  1219. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +4 -0
  1220. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminalVoice.css.js +4 -0
  1221. package/vscode/src/vs/workbench/contrib/terminal/browser/media/widgets.css.js +4 -0
  1222. package/vscode/src/vs/workbench/contrib/terminal/browser/media/xterm.css.js +4 -0
  1223. package/vscode/src/vs/workbench/contrib/terminal/browser/remotePty.js +91 -0
  1224. package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +312 -0
  1225. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +267 -0
  1226. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +11 -3
  1227. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.web.contribution.js +11 -0
  1228. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +2070 -0
  1229. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalCommands.js +22 -0
  1230. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +221 -0
  1231. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +40 -0
  1232. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +193 -0
  1233. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +2 -2
  1234. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorSerializer.js +40 -0
  1235. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +239 -0
  1236. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEscapeSequences.js +12 -0
  1237. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +47 -0
  1238. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +501 -0
  1239. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +368 -0
  1240. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +2180 -0
  1241. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +81 -0
  1242. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMainContribution.js +94 -0
  1243. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +840 -0
  1244. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +619 -0
  1245. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileQuickpick.js +312 -0
  1246. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +285 -0
  1247. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +225 -0
  1248. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +155 -0
  1249. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +335 -0
  1250. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +1156 -0
  1251. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.js +121 -0
  1252. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +439 -0
  1253. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +690 -0
  1254. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +84 -0
  1255. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.js +39 -0
  1256. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +628 -0
  1257. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalVoice.js +199 -0
  1258. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/terminalHoverWidget.js +91 -0
  1259. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +56 -0
  1260. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +58 -8
  1261. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +3 -1
  1262. package/vscode/src/vs/workbench/contrib/terminal/common/basePty.js +91 -0
  1263. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +96 -0
  1264. package/vscode/src/vs/workbench/contrib/terminal/common/history.js +375 -0
  1265. package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +253 -0
  1266. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -0
  1267. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +12 -1
  1268. package/vscode/src/vs/workbench/contrib/terminal/common/terminalClipboard.js +98 -0
  1269. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +11 -1
  1270. package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +1351 -0
  1271. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +282 -0
  1272. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +145 -0
  1273. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/bufferContentTracker.js +112 -0
  1274. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +389 -0
  1275. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +190 -0
  1276. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBufferProvider.js +102 -0
  1277. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +106 -0
  1278. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/media/terminalChatWidget.css.js +4 -0
  1279. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminal.chat.contribution.js +9 -0
  1280. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChat.js +84 -0
  1281. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +125 -0
  1282. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +31 -0
  1283. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +344 -0
  1284. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +335 -0
  1285. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +154 -0
  1286. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/media/developer.css.js +4 -0
  1287. package/vscode/src/vs/workbench/contrib/terminalContrib/developer/browser/terminal.developer.contribution.js +237 -0
  1288. package/vscode/src/vs/workbench/contrib/terminalContrib/environmentChanges/browser/terminal.environmentChanges.contribution.js +114 -0
  1289. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminal.find.contribution.js +264 -0
  1290. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/terminalFindWidget.js +165 -0
  1291. package/vscode/src/vs/workbench/contrib/terminalContrib/find/browser/textInputContextMenu.js +61 -0
  1292. package/vscode/src/vs/workbench/contrib/terminalContrib/highlight/browser/terminal.highlight.contribution.js +36 -0
  1293. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminal.links.contribution.js +132 -0
  1294. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalExternalLinkDetector.js +38 -0
  1295. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLink.js +120 -0
  1296. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkDetectorAdapter.js +108 -0
  1297. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkHelpers.js +175 -0
  1298. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkManager.js +394 -0
  1299. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkOpeners.js +240 -0
  1300. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkParsing.js +206 -0
  1301. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkQuickpick.js +264 -0
  1302. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkResolver.js +141 -0
  1303. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLocalLinkDetector.js +220 -0
  1304. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalMultiLineLinkDetector.js +182 -0
  1305. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalUriLinkDetector.js +119 -0
  1306. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalWordLinkDetector.js +94 -0
  1307. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/media/terminalQuickFix.css.js +4 -0
  1308. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/quickFixAddon.js +451 -0
  1309. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminal.quickFix.contribution.js +61 -0
  1310. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixBuiltinActions.js +323 -0
  1311. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +168 -0
  1312. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/media/stickyScroll.css.js +4 -0
  1313. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminal.stickyScroll.contribution.js +5 -0
  1314. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollColorRegistry.js +35 -0
  1315. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollContribution.js +91 -0
  1316. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/browser/terminalStickyScrollOverlay.js +379 -0
  1317. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminal.suggest.contribution.js +181 -0
  1318. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/browser/terminalSuggestAddon.js +406 -0
  1319. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminal.typeAhead.contribution.js +54 -0
  1320. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/browser/terminalTypeAheadAddon.js +1047 -0
  1321. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/browser/terminal.zoom.contribution.js +130 -0
  1322. package/vscode/src/vs/workbench/contrib/testing/browser/codeCoverageDecorations.js +589 -0
  1323. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/display.js +2 -0
  1324. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/index.js +81 -0
  1325. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/listProjection.js +184 -0
  1326. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testItemContextOverlay.js +16 -0
  1327. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingObjectTree.js +44 -0
  1328. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/testingViewState.js +15 -0
  1329. package/vscode/src/vs/workbench/contrib/testing/browser/explorerProjections/treeProjection.js +222 -0
  1330. package/vscode/src/vs/workbench/contrib/testing/browser/icons.js +182 -0
  1331. package/vscode/src/vs/workbench/contrib/testing/browser/media/testMessageColorizer.css.js +4 -0
  1332. package/vscode/src/vs/workbench/contrib/testing/browser/media/testing.css.js +4 -0
  1333. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageBars.js +238 -0
  1334. package/vscode/src/vs/workbench/contrib/testing/browser/testCoverageView.js +562 -0
  1335. package/vscode/src/vs/workbench/contrib/testing/browser/testExplorerActions.js +1671 -0
  1336. package/vscode/src/vs/workbench/contrib/testing/browser/testMessageColorizer.js +71 -0
  1337. package/vscode/src/vs/workbench/contrib/testing/browser/testing.contribution.js +224 -0
  1338. package/vscode/src/vs/workbench/contrib/testing/browser/testingConfigurationUi.js +119 -0
  1339. package/vscode/src/vs/workbench/contrib/testing/browser/testingDecorations.js +968 -0
  1340. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerFilter.js +234 -0
  1341. package/vscode/src/vs/workbench/contrib/testing/browser/testingExplorerView.js +1239 -0
  1342. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.css.js +4 -0
  1343. package/vscode/src/vs/workbench/contrib/testing/browser/testingOutputPeek.js +2108 -0
  1344. package/vscode/src/vs/workbench/contrib/testing/browser/testingProgressUiService.js +140 -0
  1345. package/vscode/src/vs/workbench/contrib/testing/browser/testingViewPaneContainer.js +45 -0
  1346. package/vscode/src/vs/workbench/contrib/testing/browser/theme.js +335 -0
  1347. package/vscode/src/vs/workbench/contrib/testing/common/configuration.js +274 -0
  1348. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +57 -0
  1349. package/vscode/src/vs/workbench/contrib/testing/common/mainThreadTestCollection.js +127 -0
  1350. package/vscode/src/vs/workbench/contrib/testing/common/observableUtils.js +19 -0
  1351. package/vscode/src/vs/workbench/contrib/testing/common/testCoverage.js +53 -57
  1352. package/vscode/src/vs/workbench/contrib/testing/common/testCoverageService.js +11 -26
  1353. package/vscode/src/vs/workbench/contrib/testing/common/testExclusions.js +46 -0
  1354. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -3
  1355. package/vscode/src/vs/workbench/contrib/testing/common/testServiceImpl.js +294 -0
  1356. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +12 -12
  1357. package/vscode/src/vs/workbench/contrib/testing/common/testingContentProvider.js +123 -0
  1358. package/vscode/src/vs/workbench/contrib/testing/common/testingContextKeys.js +8 -0
  1359. package/vscode/src/vs/workbench/contrib/testing/common/testingUri.js +65 -0
  1360. package/vscode/src/vs/workbench/contrib/themes/browser/themes.contribution.js +955 -0
  1361. package/vscode/src/vs/workbench/contrib/timeline/browser/media/timelinePane.css.js +4 -0
  1362. package/vscode/src/vs/workbench/contrib/timeline/browser/timeline.contribution.js +118 -0
  1363. package/vscode/src/vs/workbench/contrib/timeline/browser/timelinePane.js +1161 -0
  1364. package/vscode/src/vs/workbench/contrib/timeline/common/timeline.js +2 -0
  1365. package/vscode/src/vs/workbench/contrib/timeline/common/timelineService.js +106 -0
  1366. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +1 -1
  1367. package/vscode/src/vs/workbench/contrib/update/browser/media/releasenoteseditor.css.js +4 -0
  1368. package/vscode/src/vs/workbench/contrib/update/browser/releaseNotesEditor.js +411 -0
  1369. package/vscode/src/vs/workbench/contrib/update/browser/update.contribution.js +252 -0
  1370. package/vscode/src/vs/workbench/contrib/update/browser/update.js +676 -0
  1371. package/vscode/src/vs/workbench/contrib/url/browser/externalUriResolver.js +26 -0
  1372. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +198 -0
  1373. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsFileSystemProvider.js +135 -0
  1374. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainsValidator.js +203 -0
  1375. package/vscode/src/vs/workbench/contrib/url/browser/url.contribution.js +66 -0
  1376. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.contribution.js +110 -0
  1377. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSync.js +1466 -0
  1378. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncConflictsView.js +223 -0
  1379. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncTrigger.js +59 -0
  1380. package/vscode/src/vs/workbench/contrib/userDataSync/browser/userDataSyncViews.js +858 -0
  1381. package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +30 -7
  1382. package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +12 -2
  1383. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +50 -41
  1384. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +4 -5
  1385. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +20 -22
  1386. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInput.js +4 -1
  1387. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +1 -0
  1388. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +3 -3
  1389. package/vscode/src/vs/workbench/contrib/welcomeBanner/browser/welcomeBanner.contribution.js +45 -0
  1390. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/media/welcomeWidget.css.js +4 -0
  1391. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeDialog.contribution.js +102 -0
  1392. package/vscode/src/vs/workbench/contrib/welcomeDialog/browser/welcomeWidget.js +187 -0
  1393. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.js +380 -0
  1394. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.js +1526 -0
  1395. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedColors.js +47 -0
  1396. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedDetailsRenderer.js +261 -0
  1397. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedIcons.js +14 -0
  1398. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedInput.js +51 -0
  1399. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedList.js +95 -0
  1400. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedService.js +1 -1
  1401. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/media/gettingStarted.css.js +4 -0
  1402. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/browser/startupPage.js +216 -0
  1403. package/vscode/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.js +2 -0
  1404. package/vscode/src/vs/workbench/contrib/welcomeViews/common/newFile.contribution.js +237 -0
  1405. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcome.contribution.js +18 -0
  1406. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeContribution.js +73 -0
  1407. package/vscode/src/vs/workbench/contrib/welcomeViews/common/viewsWelcomeExtensionPoint.js +97 -0
  1408. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/editor/editorWalkThrough.js +61 -0
  1409. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/media/walkThroughPart.css.js +4 -0
  1410. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThrough.contribution.js +38 -0
  1411. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughActions.js +57 -0
  1412. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughInput.js +113 -0
  1413. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/browser/walkThroughPart.js +429 -0
  1414. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughContentProvider.js +74 -0
  1415. package/vscode/src/vs/workbench/contrib/welcomeWalkthrough/common/walkThroughUtils.js +18 -0
  1416. package/vscode/src/vs/workbench/contrib/workspace/browser/media/workspaceTrustEditor.css.js +4 -0
  1417. package/vscode/src/vs/workbench/contrib/workspace/browser/workspace.contribution.js +976 -0
  1418. package/vscode/src/vs/workbench/contrib/workspace/browser/workspaceTrustEditor.js +1243 -0
  1419. package/vscode/src/vs/workbench/contrib/workspaces/browser/workspaces.contribution.js +132 -0
  1420. package/vscode/src/vs/workbench/services/actions/common/menusExtensionPoint.js +1595 -0
  1421. package/vscode/src/vs/workbench/services/aiRelatedInformation/common/aiRelatedInformationService.js +82 -0
  1422. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.js +6 -0
  1423. package/vscode/src/vs/workbench/services/authentication/browser/authenticationAccessService.js +69 -0
  1424. package/vscode/src/vs/workbench/services/authentication/browser/authenticationExtensionsService.js +369 -0
  1425. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +69 -811
  1426. package/vscode/src/vs/workbench/services/authentication/browser/authenticationUsageService.js +50 -0
  1427. package/vscode/src/vs/workbench/services/authentication/common/authentication.js +2 -1
  1428. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +50 -25
  1429. package/vscode/src/vs/workbench/services/banner/browser/bannerService.d.ts +1 -1
  1430. package/vscode/src/vs/workbench/services/commands/common/commandService.js +77 -0
  1431. package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +850 -0
  1432. package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +1199 -0
  1433. package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +666 -0
  1434. package/vscode/src/vs/workbench/services/configuration/common/configurationModels.js +119 -0
  1435. package/vscode/src/vs/workbench/services/configuration/common/jsonEditingService.js +120 -0
  1436. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +309 -0
  1437. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +27 -0
  1438. package/vscode/src/vs/workbench/services/decorations/browser/decorationsService.js +330 -0
  1439. package/vscode/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +377 -0
  1440. package/vscode/src/vs/workbench/services/dialogs/browser/simpleFileDialog.js +1037 -0
  1441. package/vscode/src/vs/workbench/services/dialogs/common/dialogService.js +70 -0
  1442. package/vscode/src/vs/workbench/services/editor/browser/codeEditorService.js +1 -0
  1443. package/vscode/src/vs/workbench/services/editor/browser/editorPaneService.js +1 -0
  1444. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +21 -17
  1445. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.d.ts +12 -0
  1446. package/vscode/src/vs/workbench/services/editor/common/customEditorLabelService.js +144 -0
  1447. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +10 -6
  1448. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.d.ts +3 -3
  1449. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionEnablementService.js +638 -0
  1450. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionsProfileScannerService.js +22 -0
  1451. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +892 -0
  1452. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionFeaturesManagemetService.js +232 -0
  1453. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.d.ts +16 -4
  1454. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +12 -1
  1455. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementChannelClient.js +107 -0
  1456. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementServerService.js +61 -0
  1457. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagementService.js +1043 -0
  1458. package/vscode/src/vs/workbench/services/extensionManagement/common/remoteExtensionManagementService.js +56 -0
  1459. package/vscode/src/vs/workbench/services/extensionManagement/common/webExtensionManagementService.js +279 -0
  1460. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionIgnoredRecommendationsService.js +82 -0
  1461. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +283 -0
  1462. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +46 -121
  1463. package/vscode/src/vs/workbench/services/extensions/browser/extensionsScannerService.js +31 -0
  1464. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.js +274 -0
  1465. package/vscode/src/vs/workbench/services/extensions/browser/webWorkerFileSystemProvider.js +50 -0
  1466. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.d.ts +5 -2
  1467. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +1147 -0
  1468. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +40 -0
  1469. package/vscode/src/vs/workbench/services/extensions/common/extensionDevOptions.js +23 -0
  1470. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +510 -0
  1471. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +272 -0
  1472. package/vscode/src/vs/workbench/services/extensions/common/extensionStorageMigration.js +56 -0
  1473. package/vscode/src/vs/workbench/services/extensions/common/extensions.d.ts +6 -3
  1474. package/vscode/src/vs/workbench/services/extensions/common/extensionsApiProposals.js +9 -1
  1475. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +78 -0
  1476. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +4 -4
  1477. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +62 -0
  1478. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +159 -0
  1479. package/vscode/src/vs/workbench/services/extensions/common/remoteConsoleUtil.js +47 -0
  1480. package/vscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.js +220 -0
  1481. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.d.ts +2 -1
  1482. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +8 -1
  1483. package/vscode/src/vs/workbench/services/history/browser/historyService.js +44 -36
  1484. package/vscode/src/vs/workbench/services/history/common/history.d.ts +0 -5
  1485. package/vscode/src/vs/workbench/services/host/browser/browserHostService.js +428 -0
  1486. package/vscode/src/vs/workbench/services/issue/browser/issueService.js +97 -0
  1487. package/vscode/src/vs/workbench/services/keybinding/browser/keybindingService.js +945 -0
  1488. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +500 -0
  1489. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js +13 -0
  1490. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +162 -0
  1491. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +162 -0
  1492. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +125 -0
  1493. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +180 -0
  1494. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +162 -0
  1495. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +162 -0
  1496. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +125 -0
  1497. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +162 -0
  1498. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +125 -0
  1499. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +162 -0
  1500. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +125 -0
  1501. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +162 -0
  1502. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +125 -0
  1503. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +162 -0
  1504. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +133 -0
  1505. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +182 -0
  1506. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +167 -0
  1507. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +162 -0
  1508. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +125 -0
  1509. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +180 -0
  1510. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +162 -0
  1511. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +125 -0
  1512. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +180 -0
  1513. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +162 -0
  1514. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +162 -0
  1515. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +125 -0
  1516. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +162 -0
  1517. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +125 -0
  1518. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +125 -0
  1519. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +125 -0
  1520. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +17 -0
  1521. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +6 -0
  1522. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +23 -0
  1523. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +162 -0
  1524. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +125 -0
  1525. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +162 -0
  1526. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +162 -0
  1527. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +125 -0
  1528. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +162 -0
  1529. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +125 -0
  1530. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +180 -0
  1531. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +162 -0
  1532. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +164 -0
  1533. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +162 -0
  1534. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +162 -0
  1535. package/vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +125 -0
  1536. package/vscode/src/vs/workbench/services/keybinding/common/keybindingIO.js +72 -0
  1537. package/vscode/src/vs/workbench/services/keybinding/common/keymapInfo.js +108 -0
  1538. package/vscode/src/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +886 -0
  1539. package/vscode/src/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +350 -0
  1540. package/vscode/src/vs/workbench/services/label/common/labelService.js +435 -0
  1541. package/vscode/src/vs/workbench/services/language/common/languageService.js +4 -3
  1542. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +259 -0
  1543. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  1544. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +2 -1
  1545. package/vscode/src/vs/workbench/services/lifecycle/browser/lifecycleService.js +135 -0
  1546. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +8 -6
  1547. package/vscode/src/vs/workbench/services/localization/common/locale.d.ts +11 -0
  1548. package/vscode/src/vs/workbench/services/notification/common/notificationService.js +251 -0
  1549. package/vscode/src/vs/workbench/services/output/common/output.js +4 -1
  1550. package/vscode/src/vs/workbench/services/preferences/browser/preferencesService.js +551 -0
  1551. package/vscode/src/vs/workbench/services/quickinput/browser/quickInputService.js +37 -0
  1552. package/vscode/src/vs/workbench/services/remote/browser/browserRemoteResourceHandler.js +47 -0
  1553. package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +76 -0
  1554. package/vscode/src/vs/workbench/services/remote/common/abstractRemoteAgentService.js +177 -0
  1555. package/vscode/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.js +52 -0
  1556. package/vscode/src/vs/workbench/services/remote/common/remoteExtensionsScanner.js +71 -0
  1557. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +2 -2
  1558. package/vscode/src/vs/workbench/services/request/browser/requestService.js +48 -0
  1559. package/vscode/src/vs/workbench/services/search/common/search.js +1 -0
  1560. package/vscode/src/vs/workbench/services/search/common/searchService.js +414 -0
  1561. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +15 -5
  1562. package/vscode/src/vs/workbench/services/statusbar/browser/statusbar.d.ts +6 -1
  1563. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +290 -0
  1564. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +4 -0
  1565. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +9 -0
  1566. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +97 -0
  1567. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +428 -0
  1568. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +83 -0
  1569. package/vscode/src/vs/workbench/services/textMate/browser/arrayOperation.js +62 -0
  1570. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +160 -0
  1571. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +200 -0
  1572. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +482 -0
  1573. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +72 -0
  1574. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +39 -0
  1575. package/vscode/src/vs/workbench/services/textMate/common/TMGrammarFactory.js +118 -0
  1576. package/vscode/src/vs/workbench/services/textMate/common/TMScopeRegistry.js +15 -0
  1577. package/vscode/src/vs/workbench/services/textfile/browser/browserTextFileService.js +57 -0
  1578. package/vscode/src/vs/workbench/services/textfile/browser/textFileService.js +652 -0
  1579. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +1 -1
  1580. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModelManager.js +402 -0
  1581. package/vscode/src/vs/workbench/services/textfile/common/textFileSaveParticipant.js +62 -0
  1582. package/vscode/src/vs/workbench/services/textfile/common/textfiles.d.ts +1 -1
  1583. package/vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +191 -0
  1584. package/vscode/src/vs/workbench/services/textresourceProperties/common/textResourcePropertiesService.js +44 -0
  1585. package/vscode/src/vs/workbench/services/themes/browser/fileIconThemeData.js +372 -0
  1586. package/vscode/src/vs/workbench/services/themes/browser/productIconThemeData.js +305 -0
  1587. package/vscode/src/vs/workbench/services/themes/browser/workbenchThemeService.js +768 -0
  1588. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +11 -1
  1589. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +886 -0
  1590. package/vscode/src/vs/workbench/services/themes/common/colorThemeSchema.js +309 -0
  1591. package/vscode/src/vs/workbench/services/themes/common/fileIconThemeSchema.js +432 -0
  1592. package/vscode/src/vs/workbench/services/themes/common/plistParser.js +439 -0
  1593. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.js +114 -0
  1594. package/vscode/src/vs/workbench/services/themes/common/textMateScopeMatcher.js +120 -0
  1595. package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +76 -0
  1596. package/vscode/src/vs/workbench/services/themes/common/themeConfiguration.js +469 -0
  1597. package/vscode/src/vs/workbench/services/themes/common/themeExtensionPoints.js +340 -0
  1598. package/vscode/src/vs/workbench/services/tunnel/browser/tunnelService.js +34 -0
  1599. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorInput.js +5 -3
  1600. package/vscode/src/vs/workbench/services/url/browser/urlService.js +48 -0
  1601. package/vscode/src/vs/workbench/services/userActivity/common/userActivityService.js +1 -1
  1602. package/vscode/src/vs/workbench/services/userDataProfile/browser/extensionsResource.js +340 -0
  1603. package/vscode/src/vs/workbench/services/userDataProfile/browser/globalStateResource.js +145 -0
  1604. package/vscode/src/vs/workbench/services/userDataProfile/browser/iconSelectBox.js +96 -0
  1605. package/vscode/src/vs/workbench/services/userDataProfile/browser/keybindingsResource.js +117 -0
  1606. package/vscode/src/vs/workbench/services/userDataProfile/browser/media/userDataProfileView.css.js +4 -0
  1607. package/vscode/src/vs/workbench/services/userDataProfile/browser/settingsResource.js +138 -0
  1608. package/vscode/src/vs/workbench/services/userDataProfile/browser/snippetsResource.js +153 -0
  1609. package/vscode/src/vs/workbench/services/userDataProfile/browser/tasksResource.js +116 -0
  1610. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileImportExportService.js +1752 -0
  1611. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileInit.js +148 -0
  1612. package/vscode/src/vs/workbench/services/userDataProfile/browser/userDataProfileManagement.js +188 -0
  1613. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +7 -1
  1614. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncInit.js +445 -0
  1615. package/vscode/src/vs/workbench/services/userDataSync/browser/userDataSyncWorkbenchService.js +786 -0
  1616. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSyncUtil.js +46 -0
  1617. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupService.js +23 -0
  1618. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyBackupTracker.js +43 -0
  1619. package/vscode/src/vs/workbench/services/workingCopy/browser/workingCopyHistoryService.js +28 -0
  1620. package/vscode/src/vs/workbench/services/workingCopy/common/abstractFileWorkingCopyManager.js +87 -0
  1621. package/vscode/src/vs/workbench/services/workingCopy/common/fileWorkingCopyManager.js +384 -0
  1622. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +7 -7
  1623. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopyManager.js +406 -0
  1624. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopy.js +142 -0
  1625. package/vscode/src/vs/workbench/services/workingCopy/common/untitledFileWorkingCopyManager.js +127 -0
  1626. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +452 -0
  1627. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyBackupTracker.js +253 -0
  1628. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryService.js +616 -0
  1629. package/vscode/src/vs/workbench/services/workingCopy/common/workingCopyHistoryTracker.js +162 -0
  1630. package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +335 -0
  1631. package/vscode/src/vs/workbench/services/workspaces/browser/workspaceTrustEditorInput.js +41 -0
  1632. package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +151 -0
  1633. package/vscode/src/vs/workbench/services/workspaces/common/editSessionIdentityService.js +60 -0
  1634. package/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts +261 -0
  1635. package/vscode-dts/vscode.proposed.authLearnMore.d.ts +16 -0
  1636. package/vscode-dts/vscode.proposed.chatParticipant.d.ts +49 -78
  1637. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +13 -16
  1638. package/vscode-dts/vscode.proposed.chatProvider.d.ts +1 -1
  1639. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +32 -0
  1640. package/vscode-dts/vscode.proposed.commentingRangeHint.d.ts +16 -0
  1641. package/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts +6 -0
  1642. package/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts +6 -0
  1643. package/vscode-dts/vscode.proposed.debugFocus.d.ts +15 -23
  1644. package/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts +10 -0
  1645. package/vscode-dts/vscode.proposed.documentPaste.d.ts +115 -30
  1646. package/vscode-dts/vscode.proposed.dropMetadata.d.ts +19 -14
  1647. package/vscode-dts/vscode.proposed.fileComments.d.ts +2 -4
  1648. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +18 -0
  1649. package/vscode-dts/vscode.proposed.interactive.d.ts +0 -16
  1650. package/vscode-dts/vscode.proposed.languageModels.d.ts +115 -53
  1651. package/vscode-dts/vscode.proposed.notebookCellExecution.d.ts +44 -0
  1652. package/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts +3 -0
  1653. package/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts +22 -0
  1654. package/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts +2 -0
  1655. package/vscode-dts/vscode.proposed.terminalShellIntegration.d.ts +207 -0
  1656. package/vscode/src/vs/editor/browser/services/hoverService.d.ts +0 -30
  1657. package/vscode/src/vs/editor/browser/widget/embeddedCodeEditorWidget.js +0 -74
  1658. package/vscode/src/vs/editor/browser/widget/media/editor.css.js +0 -4
  1659. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +0 -881
  1660. package/vscode/src/vs/platform/theme/common/colorRegistry.js +0 -1316
  1661. package/vscode/src/vs/workbench/api/common/extHostChatProvider.js +0 -253
  1662. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.css.js +0 -4
  1663. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommandContentWidget.js +0 -74
  1664. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.css.js +0 -4
  1665. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.js +0 -424
  1666. package/vscode-dts/vscode.proposed.testCoverage.d.ts +0 -222
  1667. /package/vscode/src/vs/base/browser/ui/hover/{hover.css.js → hoverWidget.css.js} +0 -0
  1668. /package/vscode/src/vs/editor/browser/{widget/hoverWidget → services/hoverService}/hover.css.js +0 -0
  1669. /package/vscode/src/vs/editor/browser/widget/{multiDiffEditorWidget → multiDiffEditor}/objectPool.js +0 -0
  1670. /package/vscode/src/vs/editor/contrib/indentation/{browser → common}/indentUtils.js +0 -0
  1671. /package/vscode/src/vs/editor/contrib/rename/browser/{renameInputField.css.js → renameWidget.css.js} +0 -0
  1672. /package/vscode/src/vs/platform/theme/common/{colorRegistry.d.ts → colorUtils.d.ts} +0 -0
@@ -0,0 +1,2175 @@
1
+ import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
+ import { $ as $$1, hide, append, addDisposableListener, clearNode, show, getActiveWindow, getTotalHeight, Dimension, isAncestorOfActiveElement, EventHelper, EventType } from '../../../../base/browser/dom.js';
3
+ import { StandardKeyboardEvent } from '../../../../base/browser/keyboardEvent.js';
4
+ import { status } from '../../../../base/browser/ui/aria/aria.js';
5
+ import { ObjectTreeElementCollapseState } from '../../../../base/browser/ui/tree/tree.js';
6
+ import { Delayer, RunOnceScheduler } from '../../../../base/common/async.js';
7
+ import { isCancellationError, onUnexpectedError } from '../../../../base/common/errors.js';
8
+ import { Event } from '../../../../base/common/event.js';
9
+ import { Iterable } from '../../../../base/common/iterator.js';
10
+ import { DisposableStore, Disposable } from '../../../../base/common/lifecycle.js';
11
+ import { isMacintosh, isNative } from '../../../../base/common/platform.js';
12
+ import { escapeRegExpCharacters } from '../../../../base/common/strings.js';
13
+ import { URI } from '../../../../base/common/uri.js';
14
+ import { Schemas } from '../../../../base/common/network.js';
15
+ import './media/searchview.css.js';
16
+ import { isCodeEditor, getCodeEditor, isDiffEditor } from '../../../../editor/browser/editorBrowser.js';
17
+ import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
18
+ import { EmbeddedCodeEditorWidget } from '../../../../editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js';
19
+ import { Selection } from '../../../../editor/common/core/selection.js';
20
+ import { CommonFindController } from '../../../../editor/contrib/find/browser/findController.js';
21
+ import { MultiCursorSelectionController } from '../../../../editor/contrib/multicursor/browser/multicursor.js';
22
+ import { localizeWithPath } from '../../../../nls.js';
23
+ import { IAccessibilityService } from '../../../../platform/accessibility/common/accessibility.js';
24
+ import { MenuId } from '../../../../platform/actions/common/actions.js';
25
+ import { ICommandService } from '../../../../platform/commands/common/commands.js';
26
+ import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
27
+ import { IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js';
28
+ import { IContextViewService, IContextMenuService } from '../../../../platform/contextview/browser/contextView.js';
29
+ import '../../../../../../../override/vs/platform/dialogs/common/dialogs.js';
30
+ import { IFileService } from '../../../../platform/files/common/files.js';
31
+ import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
32
+ import { ServiceCollection } from '../../../../platform/instantiation/common/serviceCollection.js';
33
+ import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
34
+ import { WorkbenchCompressibleObjectTree, getSelectionKeyboardEvent } from '../../../../platform/list/browser/listService.js';
35
+ import { INotificationService } from '../../../../platform/notification/common/notification.js';
36
+ import { withSelection, IOpenerService } from '../../../../platform/opener/common/opener.js';
37
+ import { IProgressService } from '../../../../platform/progress/common/progress.js';
38
+ import { IStorageService } from '../../../../platform/storage/common/storage.js';
39
+ import { ITelemetryService } from '../../../../platform/telemetry/common/telemetry.js';
40
+ import { defaultInputBoxStyles, defaultToggleStyles } from '../../../../platform/theme/browser/defaultStyles.js';
41
+ import { IThemeService } from '../../../../platform/theme/common/themeService.js';
42
+ import { ThemeIcon } from '../../../../base/common/themables.js';
43
+ import { IWorkspaceContextService } from '../../../../platform/workspace/common/workspace.js';
44
+ import { OpenFileFolderAction, OpenFolderAction } from '../../../browser/actions/workspaceActions.js';
45
+ import { ResourceListDnDHandler } from '../../../browser/dnd.js';
46
+ import { ResourceLabels } from '../../../browser/labels.js';
47
+ import { ViewPane } from '../../../browser/parts/views/viewPane.js';
48
+ import { Memento } from '../../../common/memento.js';
49
+ import { IViewDescriptorService } from '../../../common/views.js';
50
+ import { NotebookEditor } from '../../notebook/browser/notebookEditor.js';
51
+ import { IncludePatternInputWidget, ExcludePatternInputWidget } from './patternInputWidget.js';
52
+ import { appendKeyBindingLabel } from './searchActionsBase.js';
53
+ import { searchDetailsIcon } from './searchIcons.js';
54
+ import { renderSearchMessage } from './searchMessage.js';
55
+ import { SearchAccessibilityProvider, SearchDelegate, FolderMatchRenderer, FileMatchRenderer, MatchRenderer } from './searchResultsView.js';
56
+ import { SearchWidget } from './searchWidget.js';
57
+ import { SearchContext } from '../common/constants.js';
58
+ import { IReplaceService } from './replace.js';
59
+ import { SearchStateKey, SearchUIState, getOutOfWorkspaceEditorResources } from '../common/search.js';
60
+ import { SearchHistoryService, ISearchHistoryService } from '../common/searchHistoryService.js';
61
+ import { SearchModelLocation, searchMatchComparer, FileMatch, SearchResult, FolderMatch, Match, FolderMatchWithResource, MatchInNotebook, ISearchViewModelWorkbenchService } from './searchModel.js';
62
+ import { createEditorFromSearchResult } from '../../searchEditor/browser/searchEditorActions.js';
63
+ import { SIDE_GROUP, ACTIVE_GROUP, IEditorService } from '../../../services/editor/common/editorService.js';
64
+ import { IPreferencesService } from '../../../services/preferences/common/preferences.js';
65
+ import { QueryBuilder } from '../../../services/search/common/queryBuilder.js';
66
+ import '../../../services/search/common/search.js';
67
+ import { ITextFileService } from '../../../services/textfile/common/textfiles.js';
68
+ import { INotebookService } from '../../notebook/common/notebookService.js';
69
+ import { ILogService } from '../../../../platform/log/common/log.js';
70
+ import { AccessibilitySignal, IAccessibilitySignalService } from '../../../../platform/accessibilitySignal/browser/accessibilitySignalService.js';
71
+ import { setupCustomHover } from '../../../../base/browser/ui/hover/updatableHoverWidget.js';
72
+ import { getDefaultHoverDelegate } from '../../../../base/browser/ui/hover/hoverDelegateFactory.js';
73
+ import { TextSearchCompleteMessageType } from '../../../services/search/common/searchExtTypes.js';
74
+ import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
75
+ var SearchView_1;
76
+ const $ = $$1;
77
+ const SEARCH_CANCELLED_MESSAGE = ( localizeWithPath(
78
+ 'vs/workbench/contrib/search/browser/searchView',
79
+ 'searchCanceled',
80
+ "Search was canceled before any results could be found - "
81
+ ));
82
+ const DEBOUNCE_DELAY = 75;
83
+ let SearchView = class SearchView extends ViewPane {
84
+ static { SearchView_1 = this; }
85
+ static { this.ACTIONS_RIGHT_CLASS_NAME = 'actions-right'; }
86
+ constructor(options, fileService, editorService, codeEditorService, progressService, notificationService, dialogService, commandService, contextViewService, instantiationService, viewDescriptorService, configurationService, contextService, searchViewModelWorkbenchService, contextKeyService, replaceService, textFileService, preferencesService, themeService, searchHistoryService, contextMenuService, accessibilityService, keybindingService, storageService, openerService, telemetryService, notebookService, logService, accessibilitySignalService) {
87
+ super(options, keybindingService, contextMenuService, configurationService, contextKeyService, viewDescriptorService, instantiationService, openerService, themeService, telemetryService);
88
+ this.fileService = fileService;
89
+ this.editorService = editorService;
90
+ this.codeEditorService = codeEditorService;
91
+ this.progressService = progressService;
92
+ this.notificationService = notificationService;
93
+ this.dialogService = dialogService;
94
+ this.commandService = commandService;
95
+ this.contextViewService = contextViewService;
96
+ this.contextService = contextService;
97
+ this.searchViewModelWorkbenchService = searchViewModelWorkbenchService;
98
+ this.replaceService = replaceService;
99
+ this.textFileService = textFileService;
100
+ this.preferencesService = preferencesService;
101
+ this.searchHistoryService = searchHistoryService;
102
+ this.accessibilityService = accessibilityService;
103
+ this.storageService = storageService;
104
+ this.notebookService = notebookService;
105
+ this.logService = logService;
106
+ this.accessibilitySignalService = accessibilitySignalService;
107
+ this.isDisposed = false;
108
+ this.lastFocusState = 'input';
109
+ this.messageDisposables = ( new DisposableStore());
110
+ this.changedWhileHidden = false;
111
+ this.currentSearchQ = Promise.resolve();
112
+ this.pauseSearching = false;
113
+ this._visibleMatches = 0;
114
+ this.container = $$1('.search-view');
115
+ this.viewletVisible = SearchContext.SearchViewVisibleKey.bindTo(this.contextKeyService);
116
+ this.firstMatchFocused = SearchContext.FirstMatchFocusKey.bindTo(this.contextKeyService);
117
+ this.fileMatchOrMatchFocused = SearchContext.FileMatchOrMatchFocusKey.bindTo(this.contextKeyService);
118
+ this.fileMatchOrFolderMatchFocus = SearchContext.FileMatchOrFolderMatchFocusKey.bindTo(this.contextKeyService);
119
+ this.fileMatchOrFolderMatchWithResourceFocus = SearchContext.FileMatchOrFolderMatchWithResourceFocusKey.bindTo(this.contextKeyService);
120
+ this.fileMatchFocused = SearchContext.FileFocusKey.bindTo(this.contextKeyService);
121
+ this.folderMatchFocused = SearchContext.FolderFocusKey.bindTo(this.contextKeyService);
122
+ this.folderMatchWithResourceFocused = SearchContext.ResourceFolderFocusKey.bindTo(this.contextKeyService);
123
+ this.hasSearchResultsKey = SearchContext.HasSearchResults.bindTo(this.contextKeyService);
124
+ this.matchFocused = SearchContext.MatchFocusKey.bindTo(this.contextKeyService);
125
+ this.searchStateKey = SearchStateKey.bindTo(this.contextKeyService);
126
+ this.hasSearchPatternKey = SearchContext.ViewHasSearchPatternKey.bindTo(this.contextKeyService);
127
+ this.hasReplacePatternKey = SearchContext.ViewHasReplacePatternKey.bindTo(this.contextKeyService);
128
+ this.hasFilePatternKey = SearchContext.ViewHasFilePatternKey.bindTo(this.contextKeyService);
129
+ this.hasSomeCollapsibleResultKey = SearchContext.ViewHasSomeCollapsibleKey.bindTo(this.contextKeyService);
130
+ this.treeViewKey = SearchContext.InTreeViewKey.bindTo(this.contextKeyService);
131
+ this.aiResultsVisibleKey = SearchContext.AIResultsVisibleKey.bindTo(this.contextKeyService);
132
+ this._register(this.contextKeyService.onDidChangeContext(e => {
133
+ const keys = ( SearchContext.hasAIResultProvider.keys());
134
+ if (e.affectsSome(( new Set(keys)))) {
135
+ this.refreshHasAISetting();
136
+ }
137
+ }));
138
+ this.contextKeyService = this._register(this.contextKeyService.createScoped(this.container));
139
+ SearchContext.SearchViewFocusedKey.bindTo(this.contextKeyService).set(true);
140
+ this.inputBoxFocused = SearchContext.InputBoxFocusedKey.bindTo(this.contextKeyService);
141
+ this.inputPatternIncludesFocused = SearchContext.PatternIncludesFocusedKey.bindTo(this.contextKeyService);
142
+ this.inputPatternExclusionsFocused = SearchContext.PatternExcludesFocusedKey.bindTo(this.contextKeyService);
143
+ this.isEditableItem = SearchContext.IsEditableItemKey.bindTo(this.contextKeyService);
144
+ this.instantiationService = this.instantiationService.createChild(( new ServiceCollection([IContextKeyService, this.contextKeyService])));
145
+ this._register(this.configurationService.onDidChangeConfiguration(e => {
146
+ if (e.affectsConfiguration('search.sortOrder')) {
147
+ if (this.searchConfig.sortOrder === "modified" ) {
148
+ this.removeFileStats();
149
+ }
150
+ this.refreshTree();
151
+ }
152
+ else if (e.affectsConfiguration('search.aiResults')) {
153
+ this.refreshHasAISetting();
154
+ }
155
+ }));
156
+ this.viewModel = this._register(this.searchViewModelWorkbenchService.searchModel);
157
+ this.queryBuilder = this.instantiationService.createInstance(QueryBuilder);
158
+ this.memento = ( new Memento(this.id, storageService));
159
+ this.viewletState = this.memento.getMemento(1 , 1 );
160
+ this._register(this.fileService.onDidFilesChange(e => this.onFilesChanged(e)));
161
+ this._register(this.textFileService.untitled.onWillDispose(model => this.onUntitledDidDispose(model.resource)));
162
+ this._register(this.contextService.onDidChangeWorkbenchState(() => this.onDidChangeWorkbenchState()));
163
+ this._register(this.searchHistoryService.onDidClearHistory(() => this.clearHistory()));
164
+ this._register(this.configurationService.onDidChangeConfiguration(e => this.onConfigurationUpdated(e)));
165
+ this.delayedRefresh = this._register(( new Delayer(250)));
166
+ this.addToSearchHistoryDelayer = this._register(( new Delayer(2000)));
167
+ this.toggleCollapseStateDelayer = this._register(( new Delayer(100)));
168
+ this.triggerQueryDelayer = this._register(( new Delayer(0)));
169
+ this.treeAccessibilityProvider = this.instantiationService.createInstance(SearchAccessibilityProvider, this);
170
+ this.isTreeLayoutViewVisible = this.viewletState['view.treeLayout'] ?? ((this.searchConfig.defaultViewMode === "tree") );
171
+ this._refreshResultsScheduler = this._register(( new RunOnceScheduler(this._updateResults.bind(this), 80)));
172
+ this._register(this.storageService.onWillSaveState(() => {
173
+ this._saveSearchHistoryService();
174
+ }));
175
+ this._register(this.storageService.onDidChangeValue(1 , SearchHistoryService.SEARCH_HISTORY_KEY, this._register(( new DisposableStore())))(() => {
176
+ const restoredHistory = this.searchHistoryService.load();
177
+ if (restoredHistory.include) {
178
+ this.inputPatternIncludes.prependHistory(restoredHistory.include);
179
+ }
180
+ if (restoredHistory.exclude) {
181
+ this.inputPatternExcludes.prependHistory(restoredHistory.exclude);
182
+ }
183
+ if (restoredHistory.search) {
184
+ this.searchWidget.prependSearchHistory(restoredHistory.search);
185
+ }
186
+ if (restoredHistory.replace) {
187
+ this.searchWidget.prependReplaceHistory(restoredHistory.replace);
188
+ }
189
+ }));
190
+ }
191
+ get isTreeLayoutViewVisible() {
192
+ return this.treeViewKey.get() ?? false;
193
+ }
194
+ set isTreeLayoutViewVisible(visible) {
195
+ this.treeViewKey.set(visible);
196
+ }
197
+ get aiResultsVisible() {
198
+ return this.aiResultsVisibleKey.get() ?? false;
199
+ }
200
+ set aiResultsVisible(visible) {
201
+ this.aiResultsVisibleKey.set(visible);
202
+ }
203
+ setTreeView(visible) {
204
+ if (visible === this.isTreeLayoutViewVisible) {
205
+ return;
206
+ }
207
+ this.isTreeLayoutViewVisible = visible;
208
+ this.updateIndentStyles(this.themeService.getFileIconTheme());
209
+ this.refreshTree();
210
+ }
211
+ async setAIResultsVisible(visible) {
212
+ if (visible === this.aiResultsVisible) {
213
+ return;
214
+ }
215
+ this.aiResultsVisible = visible;
216
+ if (this.viewModel.searchResult.isEmpty()) {
217
+ return;
218
+ }
219
+ this.model.cancelAISearch();
220
+ if (visible) {
221
+ await this.model.addAIResults();
222
+ }
223
+ else {
224
+ this.searchWidget.toggleReplace(false);
225
+ }
226
+ this.onSearchResultsChanged();
227
+ this.onSearchComplete(() => { }, undefined, undefined, this.viewModel.searchResult.getCachedSearchComplete(visible));
228
+ }
229
+ get state() {
230
+ return this.searchStateKey.get() ?? SearchUIState.Idle;
231
+ }
232
+ set state(v) {
233
+ this.searchStateKey.set(v);
234
+ }
235
+ getContainer() {
236
+ return this.container;
237
+ }
238
+ get searchResult() {
239
+ return this.viewModel && this.viewModel.searchResult;
240
+ }
241
+ get model() {
242
+ return this.viewModel;
243
+ }
244
+ refreshHasAISetting() {
245
+ const val = this.shouldShowAIButton();
246
+ if (val && this.searchWidget.searchInput) {
247
+ this.searchWidget.searchInput.shouldShowAIButton = val;
248
+ }
249
+ }
250
+ onDidChangeWorkbenchState() {
251
+ if (this.contextService.getWorkbenchState() !== 1 && this.searchWithoutFolderMessageElement) {
252
+ hide(this.searchWithoutFolderMessageElement);
253
+ }
254
+ }
255
+ refreshInputs() {
256
+ this.pauseSearching = true;
257
+ this.searchWidget.setValue(this.viewModel.searchResult.query?.contentPattern.pattern ?? '');
258
+ this.searchWidget.setReplaceAllActionState(false);
259
+ this.searchWidget.toggleReplace(true);
260
+ this.inputPatternIncludes.setOnlySearchInOpenEditors(this.viewModel.searchResult.query?.onlyOpenEditors || false);
261
+ this.inputPatternExcludes.setUseExcludesAndIgnoreFiles(!this.viewModel.searchResult.query?.userDisabledExcludesAndIgnoreFiles || true);
262
+ this.searchIncludePattern.setValue('');
263
+ this.searchExcludePattern.setValue('');
264
+ this.pauseSearching = false;
265
+ }
266
+ async replaceSearchModel(searchModel, asyncResults) {
267
+ let progressComplete;
268
+ this.progressService.withProgress({ location: this.getProgressLocation(), delay: 0 }, _progress => {
269
+ return ( new Promise(resolve => progressComplete = resolve));
270
+ });
271
+ const slowTimer = setTimeout(() => {
272
+ this.state = SearchUIState.SlowSearch;
273
+ }, 2000);
274
+ this._refreshResultsScheduler.schedule();
275
+ searchModel.location = SearchModelLocation.PANEL;
276
+ searchModel.replaceActive = this.viewModel.isReplaceActive();
277
+ searchModel.replaceString = this.searchWidget.getReplaceValue();
278
+ this._onSearchResultChangedDisposable?.dispose();
279
+ this._onSearchResultChangedDisposable = this._register(searchModel.onSearchResultChanged((event) => this.onSearchResultsChanged(event)));
280
+ this.searchViewModelWorkbenchService.searchModel = searchModel;
281
+ this.viewModel = searchModel;
282
+ this.onSearchResultsChanged();
283
+ this.refreshInputs();
284
+ asyncResults.then((complete) => {
285
+ clearTimeout(slowTimer);
286
+ this.onSearchComplete(progressComplete, undefined, undefined, complete);
287
+ }, (e) => {
288
+ clearTimeout(slowTimer);
289
+ this.onSearchError(e, progressComplete, undefined, undefined);
290
+ });
291
+ const collapseResults = this.searchConfig.collapseResults;
292
+ if (collapseResults !== 'alwaysCollapse' && this.viewModel.searchResult.matches(this.aiResultsVisible).length === 1) {
293
+ const onlyMatch = this.viewModel.searchResult.matches(this.aiResultsVisible)[0];
294
+ if (onlyMatch.count() < 50) {
295
+ this.tree.expand(onlyMatch);
296
+ }
297
+ }
298
+ }
299
+ renderBody(parent) {
300
+ super.renderBody(parent);
301
+ this.container = append(parent, $$1('.search-view'));
302
+ this.searchWidgetsContainerElement = append(this.container, $('.search-widgets-container'));
303
+ this.createSearchWidget(this.searchWidgetsContainerElement);
304
+ this.refreshHasAISetting();
305
+ const history = this.searchHistoryService.load();
306
+ const filePatterns = this.viewletState['query.filePatterns'] || '';
307
+ const patternExclusions = this.viewletState['query.folderExclusions'] || '';
308
+ const patternExclusionsHistory = history.exclude || [];
309
+ const patternIncludes = this.viewletState['query.folderIncludes'] || '';
310
+ const patternIncludesHistory = history.include || [];
311
+ const onlyOpenEditors = this.viewletState['query.onlyOpenEditors'] || false;
312
+ const queryDetailsExpanded = this.viewletState['query.queryDetailsExpanded'] || '';
313
+ const useExcludesAndIgnoreFiles = typeof this.viewletState['query.useExcludesAndIgnoreFiles'] === 'boolean' ?
314
+ this.viewletState['query.useExcludesAndIgnoreFiles'] : true;
315
+ this.queryDetails = append(this.searchWidgetsContainerElement, $('.query-details'));
316
+ this.toggleQueryDetailsButton = append(this.queryDetails, $('.more' + ThemeIcon.asCSSSelector(searchDetailsIcon), { tabindex: 0, role: 'button' }));
317
+ this._register(setupCustomHover(getDefaultHoverDelegate('element'), this.toggleQueryDetailsButton, ( localizeWithPath(
318
+ 'vs/workbench/contrib/search/browser/searchView',
319
+ 'moreSearch',
320
+ "Toggle Search Details"
321
+ ))));
322
+ this._register(addDisposableListener(this.toggleQueryDetailsButton, EventType.CLICK, e => {
323
+ EventHelper.stop(e);
324
+ this.toggleQueryDetails(!this.accessibilityService.isScreenReaderOptimized());
325
+ }));
326
+ this._register(addDisposableListener(this.toggleQueryDetailsButton, EventType.KEY_UP, (e) => {
327
+ const event = ( new StandardKeyboardEvent(e));
328
+ if (event.equals(3 ) || event.equals(10 )) {
329
+ EventHelper.stop(e);
330
+ this.toggleQueryDetails(false);
331
+ }
332
+ }));
333
+ this._register(addDisposableListener(this.toggleQueryDetailsButton, EventType.KEY_DOWN, (e) => {
334
+ const event = ( new StandardKeyboardEvent(e));
335
+ if (event.equals(1024 | 2 )) {
336
+ if (this.searchWidget.isReplaceActive()) {
337
+ this.searchWidget.focusReplaceAllAction();
338
+ }
339
+ else {
340
+ this.searchWidget.isReplaceShown() ? this.searchWidget.replaceInput?.focusOnPreserve() : this.searchWidget.focusRegexAction();
341
+ }
342
+ EventHelper.stop(e);
343
+ }
344
+ }));
345
+ const folderIncludesList = append(this.queryDetails, $('.file-types.includes'));
346
+ const filesToIncludeTitle = ( localizeWithPath(
347
+ 'vs/workbench/contrib/search/browser/searchView',
348
+ 'searchScope.includes',
349
+ "files to include"
350
+ ));
351
+ append(folderIncludesList, $('h4', undefined, filesToIncludeTitle));
352
+ this.inputPatternIncludes = this._register(this.instantiationService.createInstance(IncludePatternInputWidget, folderIncludesList, this.contextViewService, {
353
+ ariaLabel: filesToIncludeTitle,
354
+ placeholder: ( localizeWithPath(
355
+ 'vs/workbench/contrib/search/browser/searchView',
356
+ 'placeholder.includes',
357
+ "e.g. *.ts, src/**/include"
358
+ )),
359
+ showPlaceholderOnFocus: true,
360
+ history: patternIncludesHistory,
361
+ inputBoxStyles: defaultInputBoxStyles
362
+ }));
363
+ this.inputPatternIncludes.setValue(patternIncludes);
364
+ this.inputPatternIncludes.setOnlySearchInOpenEditors(onlyOpenEditors);
365
+ this._register(this.inputPatternIncludes.onCancel(() => this.cancelSearch(false)));
366
+ this._register(this.inputPatternIncludes.onChangeSearchInEditorsBox(() => this.triggerQueryChange()));
367
+ this.trackInputBox(this.inputPatternIncludes.inputFocusTracker, this.inputPatternIncludesFocused);
368
+ const excludesList = append(this.queryDetails, $('.file-types.excludes'));
369
+ const excludesTitle = ( localizeWithPath(
370
+ 'vs/workbench/contrib/search/browser/searchView',
371
+ 'searchScope.excludes',
372
+ "files to exclude"
373
+ ));
374
+ append(excludesList, $('h4', undefined, excludesTitle));
375
+ this.inputPatternExcludes = this._register(this.instantiationService.createInstance(ExcludePatternInputWidget, excludesList, this.contextViewService, {
376
+ ariaLabel: excludesTitle,
377
+ placeholder: ( localizeWithPath(
378
+ 'vs/workbench/contrib/search/browser/searchView',
379
+ 'placeholder.excludes',
380
+ "e.g. *.ts, src/**/exclude"
381
+ )),
382
+ showPlaceholderOnFocus: true,
383
+ history: patternExclusionsHistory,
384
+ inputBoxStyles: defaultInputBoxStyles
385
+ }));
386
+ this.inputPatternExcludes.setValue(patternExclusions);
387
+ this.inputPatternExcludes.setUseExcludesAndIgnoreFiles(useExcludesAndIgnoreFiles);
388
+ this._register(this.inputPatternExcludes.onCancel(() => this.cancelSearch(false)));
389
+ this._register(this.inputPatternExcludes.onChangeIgnoreBox(() => this.triggerQueryChange()));
390
+ this.trackInputBox(this.inputPatternExcludes.inputFocusTracker, this.inputPatternExclusionsFocused);
391
+ const updateHasFilePatternKey = () => this.hasFilePatternKey.set(this.inputPatternIncludes.getValue().length > 0 || this.inputPatternExcludes.getValue().length > 0);
392
+ updateHasFilePatternKey();
393
+ const onFilePatternSubmit = (triggeredOnType) => {
394
+ this.triggerQueryChange({ triggeredOnType, delay: this.searchConfig.searchOnTypeDebouncePeriod });
395
+ if (triggeredOnType) {
396
+ updateHasFilePatternKey();
397
+ }
398
+ };
399
+ this._register(this.inputPatternIncludes.onSubmit(onFilePatternSubmit));
400
+ this._register(this.inputPatternExcludes.onSubmit(onFilePatternSubmit));
401
+ this.messagesElement = append(this.container, $('.messages.text-search-provider-messages'));
402
+ if (this.contextService.getWorkbenchState() === 1 ) {
403
+ this.showSearchWithoutFolderMessage();
404
+ }
405
+ this.createSearchResultsView(this.container);
406
+ if (filePatterns !== '' || patternExclusions !== '' || patternIncludes !== '' || queryDetailsExpanded !== '' || !useExcludesAndIgnoreFiles) {
407
+ this.toggleQueryDetails(true, true, true);
408
+ }
409
+ this._onSearchResultChangedDisposable = this._register(this.viewModel.onSearchResultChanged((event) => this.onSearchResultsChanged(event)));
410
+ this._register(this.onDidChangeBodyVisibility(visible => this.onVisibilityChanged(visible)));
411
+ this.updateIndentStyles(this.themeService.getFileIconTheme());
412
+ this._register(this.themeService.onDidFileIconThemeChange(this.updateIndentStyles, this));
413
+ }
414
+ updateIndentStyles(theme) {
415
+ this.resultsElement.classList.toggle('hide-arrows', this.isTreeLayoutViewVisible && theme.hidesExplorerArrows);
416
+ }
417
+ onVisibilityChanged(visible) {
418
+ this.viewletVisible.set(visible);
419
+ if (visible) {
420
+ if (this.changedWhileHidden) {
421
+ this.refreshAndUpdateCount();
422
+ this.changedWhileHidden = false;
423
+ }
424
+ }
425
+ else {
426
+ this.lastFocusState = 'input';
427
+ }
428
+ this.viewModel?.searchResult.toggleHighlights(visible);
429
+ }
430
+ get searchAndReplaceWidget() {
431
+ return this.searchWidget;
432
+ }
433
+ get searchIncludePattern() {
434
+ return this.inputPatternIncludes;
435
+ }
436
+ get searchExcludePattern() {
437
+ return this.inputPatternExcludes;
438
+ }
439
+ createSearchWidget(container) {
440
+ const contentPattern = this.viewletState['query.contentPattern'] || '';
441
+ const replaceText = this.viewletState['query.replaceText'] || '';
442
+ const isRegex = this.viewletState['query.regex'] === true;
443
+ const isWholeWords = this.viewletState['query.wholeWords'] === true;
444
+ const isCaseSensitive = this.viewletState['query.caseSensitive'] === true;
445
+ const history = this.searchHistoryService.load();
446
+ const searchHistory = history.search || this.viewletState['query.searchHistory'] || [];
447
+ const replaceHistory = history.replace || this.viewletState['query.replaceHistory'] || [];
448
+ const showReplace = typeof this.viewletState['view.showReplace'] === 'boolean' ? this.viewletState['view.showReplace'] : true;
449
+ const preserveCase = this.viewletState['query.preserveCase'] === true;
450
+ const isInNotebookMarkdownInput = this.viewletState['query.isInNotebookMarkdownInput'] ?? true;
451
+ const isInNotebookMarkdownPreview = this.viewletState['query.isInNotebookMarkdownPreview'] ?? true;
452
+ const isInNotebookCellInput = this.viewletState['query.isInNotebookCellInput'] ?? true;
453
+ const isInNotebookCellOutput = this.viewletState['query.isInNotebookCellOutput'] ?? true;
454
+ this.searchWidget = this._register(this.instantiationService.createInstance(SearchWidget, container, {
455
+ value: contentPattern,
456
+ replaceValue: replaceText,
457
+ isRegex: isRegex,
458
+ isCaseSensitive: isCaseSensitive,
459
+ isWholeWords: isWholeWords,
460
+ searchHistory: searchHistory,
461
+ replaceHistory: replaceHistory,
462
+ preserveCase: preserveCase,
463
+ inputBoxStyles: defaultInputBoxStyles,
464
+ toggleStyles: defaultToggleStyles,
465
+ notebookOptions: {
466
+ isInNotebookMarkdownInput,
467
+ isInNotebookMarkdownPreview,
468
+ isInNotebookCellInput,
469
+ isInNotebookCellOutput,
470
+ },
471
+ initialAIButtonVisibility: this.shouldShowAIButton()
472
+ }));
473
+ if (!this.searchWidget.searchInput || !this.searchWidget.replaceInput) {
474
+ this.logService.warn(`Cannot fully create search widget. Search or replace input undefined. SearchInput: ${this.searchWidget.searchInput}, ReplaceInput: ${this.searchWidget.replaceInput}`);
475
+ return;
476
+ }
477
+ if (showReplace) {
478
+ this.searchWidget.toggleReplace(true);
479
+ }
480
+ this._register(this.searchWidget.onSearchSubmit(options => this.triggerQueryChange(options)));
481
+ this._register(this.searchWidget.onSearchCancel(({ focus }) => this.cancelSearch(focus)));
482
+ this._register(this.searchWidget.searchInput.onDidOptionChange(() => {
483
+ if (this.searchWidget.searchInput && this.searchWidget.searchInput.isAIEnabled !== this.aiResultsVisible) {
484
+ this.setAIResultsVisible(this.searchWidget.searchInput.isAIEnabled);
485
+ }
486
+ else {
487
+ this.triggerQueryChange();
488
+ }
489
+ }));
490
+ this._register(this.searchWidget.getNotebookFilters().onDidChange(() => this.triggerQueryChange()));
491
+ const updateHasPatternKey = () => this.hasSearchPatternKey.set(this.searchWidget.searchInput ? (this.searchWidget.searchInput.getValue().length > 0) : false);
492
+ updateHasPatternKey();
493
+ this._register(this.searchWidget.searchInput.onDidChange(() => updateHasPatternKey()));
494
+ const updateHasReplacePatternKey = () => this.hasReplacePatternKey.set(this.searchWidget.getReplaceValue().length > 0);
495
+ updateHasReplacePatternKey();
496
+ this._register(this.searchWidget.replaceInput.inputBox.onDidChange(() => updateHasReplacePatternKey()));
497
+ this._register(this.searchWidget.onDidHeightChange(() => this.reLayout()));
498
+ this._register(this.searchWidget.onReplaceToggled(() => this.reLayout()));
499
+ this._register(this.searchWidget.onReplaceStateChange((state) => {
500
+ this.viewModel.replaceActive = state;
501
+ this.refreshTree();
502
+ }));
503
+ this._register(this.searchWidget.onPreserveCaseChange((state) => {
504
+ this.viewModel.preserveCase = state;
505
+ this.refreshTree();
506
+ }));
507
+ this._register(this.searchWidget.onReplaceValueChanged(() => {
508
+ this.viewModel.replaceString = this.searchWidget.getReplaceValue();
509
+ this.delayedRefresh.trigger(() => this.refreshTree());
510
+ }));
511
+ this._register(this.searchWidget.onBlur(() => {
512
+ this.toggleQueryDetailsButton.focus();
513
+ }));
514
+ this._register(this.searchWidget.onReplaceAll(() => this.replaceAll()));
515
+ this.trackInputBox(this.searchWidget.searchInputFocusTracker);
516
+ this.trackInputBox(this.searchWidget.replaceInputFocusTracker);
517
+ }
518
+ shouldShowAIButton() {
519
+ const hasProvider = SearchContext.hasAIResultProvider.getValue(this.contextKeyService);
520
+ return !!(this.configurationService.getValue('search.aiResults') && hasProvider);
521
+ }
522
+ onConfigurationUpdated(event) {
523
+ if (event && (event.affectsConfiguration('search.decorations.colors') || event.affectsConfiguration('search.decorations.badges'))) {
524
+ this.refreshTree();
525
+ }
526
+ }
527
+ trackInputBox(inputFocusTracker, contextKey) {
528
+ if (!inputFocusTracker) {
529
+ return;
530
+ }
531
+ this._register(inputFocusTracker.onDidFocus(() => {
532
+ this.lastFocusState = 'input';
533
+ this.inputBoxFocused.set(true);
534
+ contextKey?.set(true);
535
+ }));
536
+ this._register(inputFocusTracker.onDidBlur(() => {
537
+ this.inputBoxFocused.set(this.searchWidget.searchInputHasFocus()
538
+ || this.searchWidget.replaceInputHasFocus()
539
+ || this.inputPatternIncludes.inputHasFocus()
540
+ || this.inputPatternExcludes.inputHasFocus());
541
+ contextKey?.set(false);
542
+ }));
543
+ }
544
+ onSearchResultsChanged(event) {
545
+ if (this.isVisible()) {
546
+ return this.refreshAndUpdateCount(event);
547
+ }
548
+ else {
549
+ this.changedWhileHidden = true;
550
+ }
551
+ }
552
+ refreshAndUpdateCount(event) {
553
+ this.searchWidget.setReplaceAllActionState(!this.viewModel.searchResult.isEmpty(this.aiResultsVisible));
554
+ this.updateSearchResultCount(this.viewModel.searchResult.query.userDisabledExcludesAndIgnoreFiles, this.viewModel.searchResult.query?.onlyOpenEditors, event?.clearingAll);
555
+ return this.refreshTree(event);
556
+ }
557
+ refreshTree(event) {
558
+ const collapseResults = this.searchConfig.collapseResults;
559
+ if (!event || event.added || event.removed) {
560
+ if (this.searchConfig.sortOrder === "modified" ) {
561
+ this.retrieveFileStats()
562
+ .then(() => this.tree.setChildren(null, this.createResultIterator(collapseResults)));
563
+ }
564
+ else {
565
+ this.tree.setChildren(null, this.createResultIterator(collapseResults));
566
+ }
567
+ }
568
+ else {
569
+ if (this.searchConfig.sortOrder === "countAscending" ||
570
+ this.searchConfig.sortOrder === "countDescending" ) {
571
+ this.tree.setChildren(null, this.createResultIterator(collapseResults));
572
+ }
573
+ else {
574
+ event.elements.forEach(element => {
575
+ this.tree.setChildren(element, this.createIterator(element, collapseResults));
576
+ this.tree.rerender(element);
577
+ });
578
+ }
579
+ }
580
+ }
581
+ createResultIterator(collapseResults) {
582
+ const folderMatches = this.searchResult.folderMatches(this.aiResultsVisible)
583
+ .filter(fm => !fm.isEmpty())
584
+ .sort(searchMatchComparer);
585
+ if (folderMatches.length === 1) {
586
+ return this.createFolderIterator(folderMatches[0], collapseResults, true);
587
+ }
588
+ return ( Iterable.map(folderMatches, folderMatch => {
589
+ const children = this.createFolderIterator(folderMatch, collapseResults, true);
590
+ return { element: folderMatch, children, incompressible: true };
591
+ }));
592
+ }
593
+ createFolderIterator(folderMatch, collapseResults, childFolderIncompressible) {
594
+ const sortOrder = this.searchConfig.sortOrder;
595
+ const matchArray = this.isTreeLayoutViewVisible ? folderMatch.matches() : folderMatch.allDownstreamFileMatches();
596
+ const matches = matchArray.sort((a, b) => searchMatchComparer(a, b, sortOrder));
597
+ return ( Iterable.map(matches, match => {
598
+ let children;
599
+ if (match instanceof FileMatch) {
600
+ children = this.createFileIterator(match);
601
+ }
602
+ else {
603
+ children = this.createFolderIterator(match, collapseResults, false);
604
+ }
605
+ const collapsed = (collapseResults === 'alwaysCollapse' || (match.count() > 10 && collapseResults !== 'alwaysExpand')) ? ObjectTreeElementCollapseState.PreserveOrCollapsed : ObjectTreeElementCollapseState.PreserveOrExpanded;
606
+ return { element: match, children, collapsed, incompressible: (match instanceof FileMatch) ? true : childFolderIncompressible };
607
+ }));
608
+ }
609
+ createFileIterator(fileMatch) {
610
+ let matches = fileMatch.matches().sort(searchMatchComparer);
611
+ if (!this.aiResultsVisible) {
612
+ matches = matches.filter(e => !e.aiContributed);
613
+ }
614
+ return ( Iterable.map(matches, r => ({ element: r, incompressible: true })));
615
+ }
616
+ createIterator(match, collapseResults) {
617
+ return match instanceof SearchResult ? this.createResultIterator(collapseResults) :
618
+ match instanceof FolderMatch ? this.createFolderIterator(match, collapseResults, false) :
619
+ this.createFileIterator(match);
620
+ }
621
+ replaceAll() {
622
+ if (this.viewModel.searchResult.count() === 0) {
623
+ return;
624
+ }
625
+ const occurrences = this.viewModel.searchResult.count();
626
+ const fileCount = this.viewModel.searchResult.fileCount();
627
+ const replaceValue = this.searchWidget.getReplaceValue() || '';
628
+ const afterReplaceAllMessage = this.buildAfterReplaceAllMessage(occurrences, fileCount, replaceValue);
629
+ let progressComplete;
630
+ let progressReporter;
631
+ this.progressService.withProgress({ location: this.getProgressLocation(), delay: 100, total: occurrences }, p => {
632
+ progressReporter = p;
633
+ return ( new Promise(resolve => progressComplete = resolve));
634
+ });
635
+ const confirmation = {
636
+ title: ( localizeWithPath(
637
+ 'vs/workbench/contrib/search/browser/searchView',
638
+ 'replaceAll.confirmation.title',
639
+ "Replace All"
640
+ )),
641
+ message: this.buildReplaceAllConfirmationMessage(occurrences, fileCount, replaceValue),
642
+ primaryButton: ( localizeWithPath(
643
+ 'vs/workbench/contrib/search/browser/searchView',
644
+ { key: 'replaceAll.confirm.button', comment: ['&& denotes a mnemonic'] },
645
+ "&&Replace"
646
+ ))
647
+ };
648
+ this.dialogService.confirm(confirmation).then(res => {
649
+ if (res.confirmed) {
650
+ this.searchWidget.setReplaceAllActionState(false);
651
+ this.viewModel.searchResult.replaceAll(progressReporter).then(() => {
652
+ progressComplete();
653
+ const messageEl = this.clearMessage();
654
+ append(messageEl, afterReplaceAllMessage);
655
+ this.reLayout();
656
+ }, (error) => {
657
+ progressComplete();
658
+ this.notificationService.error(error);
659
+ });
660
+ }
661
+ else {
662
+ progressComplete();
663
+ }
664
+ });
665
+ }
666
+ buildAfterReplaceAllMessage(occurrences, fileCount, replaceValue) {
667
+ if (occurrences === 1) {
668
+ if (fileCount === 1) {
669
+ if (replaceValue) {
670
+ return ( localizeWithPath(
671
+ 'vs/workbench/contrib/search/browser/searchView',
672
+ 'replaceAll.occurrence.file.message',
673
+ "Replaced {0} occurrence across {1} file with '{2}'.",
674
+ occurrences,
675
+ fileCount,
676
+ replaceValue
677
+ ));
678
+ }
679
+ return ( localizeWithPath(
680
+ 'vs/workbench/contrib/search/browser/searchView',
681
+ 'removeAll.occurrence.file.message',
682
+ "Replaced {0} occurrence across {1} file.",
683
+ occurrences,
684
+ fileCount
685
+ ));
686
+ }
687
+ if (replaceValue) {
688
+ return ( localizeWithPath(
689
+ 'vs/workbench/contrib/search/browser/searchView',
690
+ 'replaceAll.occurrence.files.message',
691
+ "Replaced {0} occurrence across {1} files with '{2}'.",
692
+ occurrences,
693
+ fileCount,
694
+ replaceValue
695
+ ));
696
+ }
697
+ return ( localizeWithPath(
698
+ 'vs/workbench/contrib/search/browser/searchView',
699
+ 'removeAll.occurrence.files.message',
700
+ "Replaced {0} occurrence across {1} files.",
701
+ occurrences,
702
+ fileCount
703
+ ));
704
+ }
705
+ if (fileCount === 1) {
706
+ if (replaceValue) {
707
+ return ( localizeWithPath(
708
+ 'vs/workbench/contrib/search/browser/searchView',
709
+ 'replaceAll.occurrences.file.message',
710
+ "Replaced {0} occurrences across {1} file with '{2}'.",
711
+ occurrences,
712
+ fileCount,
713
+ replaceValue
714
+ ));
715
+ }
716
+ return ( localizeWithPath(
717
+ 'vs/workbench/contrib/search/browser/searchView',
718
+ 'removeAll.occurrences.file.message',
719
+ "Replaced {0} occurrences across {1} file.",
720
+ occurrences,
721
+ fileCount
722
+ ));
723
+ }
724
+ if (replaceValue) {
725
+ return ( localizeWithPath(
726
+ 'vs/workbench/contrib/search/browser/searchView',
727
+ 'replaceAll.occurrences.files.message',
728
+ "Replaced {0} occurrences across {1} files with '{2}'.",
729
+ occurrences,
730
+ fileCount,
731
+ replaceValue
732
+ ));
733
+ }
734
+ return ( localizeWithPath(
735
+ 'vs/workbench/contrib/search/browser/searchView',
736
+ 'removeAll.occurrences.files.message',
737
+ "Replaced {0} occurrences across {1} files.",
738
+ occurrences,
739
+ fileCount
740
+ ));
741
+ }
742
+ buildReplaceAllConfirmationMessage(occurrences, fileCount, replaceValue) {
743
+ if (occurrences === 1) {
744
+ if (fileCount === 1) {
745
+ if (replaceValue) {
746
+ return ( localizeWithPath(
747
+ 'vs/workbench/contrib/search/browser/searchView',
748
+ 'removeAll.occurrence.file.confirmation.message',
749
+ "Replace {0} occurrence across {1} file with '{2}'?",
750
+ occurrences,
751
+ fileCount,
752
+ replaceValue
753
+ ));
754
+ }
755
+ return ( localizeWithPath(
756
+ 'vs/workbench/contrib/search/browser/searchView',
757
+ 'replaceAll.occurrence.file.confirmation.message',
758
+ "Replace {0} occurrence across {1} file?",
759
+ occurrences,
760
+ fileCount
761
+ ));
762
+ }
763
+ if (replaceValue) {
764
+ return ( localizeWithPath(
765
+ 'vs/workbench/contrib/search/browser/searchView',
766
+ 'removeAll.occurrence.files.confirmation.message',
767
+ "Replace {0} occurrence across {1} files with '{2}'?",
768
+ occurrences,
769
+ fileCount,
770
+ replaceValue
771
+ ));
772
+ }
773
+ return ( localizeWithPath(
774
+ 'vs/workbench/contrib/search/browser/searchView',
775
+ 'replaceAll.occurrence.files.confirmation.message',
776
+ "Replace {0} occurrence across {1} files?",
777
+ occurrences,
778
+ fileCount
779
+ ));
780
+ }
781
+ if (fileCount === 1) {
782
+ if (replaceValue) {
783
+ return ( localizeWithPath(
784
+ 'vs/workbench/contrib/search/browser/searchView',
785
+ 'removeAll.occurrences.file.confirmation.message',
786
+ "Replace {0} occurrences across {1} file with '{2}'?",
787
+ occurrences,
788
+ fileCount,
789
+ replaceValue
790
+ ));
791
+ }
792
+ return ( localizeWithPath(
793
+ 'vs/workbench/contrib/search/browser/searchView',
794
+ 'replaceAll.occurrences.file.confirmation.message',
795
+ "Replace {0} occurrences across {1} file?",
796
+ occurrences,
797
+ fileCount
798
+ ));
799
+ }
800
+ if (replaceValue) {
801
+ return ( localizeWithPath(
802
+ 'vs/workbench/contrib/search/browser/searchView',
803
+ 'removeAll.occurrences.files.confirmation.message',
804
+ "Replace {0} occurrences across {1} files with '{2}'?",
805
+ occurrences,
806
+ fileCount,
807
+ replaceValue
808
+ ));
809
+ }
810
+ return ( localizeWithPath(
811
+ 'vs/workbench/contrib/search/browser/searchView',
812
+ 'replaceAll.occurrences.files.confirmation.message',
813
+ "Replace {0} occurrences across {1} files?",
814
+ occurrences,
815
+ fileCount
816
+ ));
817
+ }
818
+ clearMessage() {
819
+ this.searchWithoutFolderMessageElement = undefined;
820
+ const wasHidden = this.messagesElement.style.display === 'none';
821
+ clearNode(this.messagesElement);
822
+ show(this.messagesElement);
823
+ this.messageDisposables.clear();
824
+ const newMessage = append(this.messagesElement, $('.message'));
825
+ if (wasHidden) {
826
+ this.reLayout();
827
+ }
828
+ return newMessage;
829
+ }
830
+ createSearchResultsView(container) {
831
+ this.resultsElement = append(container, $('.results.show-file-icons.file-icon-themable-tree'));
832
+ const delegate = this.instantiationService.createInstance(SearchDelegate);
833
+ const identityProvider = {
834
+ getId(element) {
835
+ return element.id();
836
+ }
837
+ };
838
+ this.treeLabels = this._register(this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility }));
839
+ this.tree = this._register(this.instantiationService.createInstance(WorkbenchCompressibleObjectTree, 'SearchView', this.resultsElement, delegate, [
840
+ this._register(this.instantiationService.createInstance(FolderMatchRenderer, this, this.treeLabels)),
841
+ this._register(this.instantiationService.createInstance(FileMatchRenderer, this, this.treeLabels)),
842
+ this._register(this.instantiationService.createInstance(MatchRenderer, this)),
843
+ ], {
844
+ identityProvider,
845
+ accessibilityProvider: this.treeAccessibilityProvider,
846
+ dnd: this.instantiationService.createInstance(ResourceListDnDHandler, element => {
847
+ if (element instanceof FileMatch) {
848
+ return element.resource;
849
+ }
850
+ if (element instanceof Match) {
851
+ return withSelection(element.parent().resource, element.range());
852
+ }
853
+ return null;
854
+ }),
855
+ multipleSelectionSupport: true,
856
+ selectionNavigation: true,
857
+ overrideStyles: {
858
+ listBackground: this.getBackgroundColor()
859
+ },
860
+ paddingBottom: SearchDelegate.ITEM_HEIGHT
861
+ }));
862
+ this._register(this.tree.onContextMenu(e => this.onContextMenu(e)));
863
+ const updateHasSomeCollapsible = () => this.toggleCollapseStateDelayer.trigger(() => this.hasSomeCollapsibleResultKey.set(this.hasSomeCollapsible()));
864
+ updateHasSomeCollapsible();
865
+ this._register(this.tree.onDidChangeCollapseState(() => updateHasSomeCollapsible()));
866
+ this._register(this.tree.onDidChangeModel(() => updateHasSomeCollapsible()));
867
+ this._register(Event.debounce(this.tree.onDidOpen, (last, event) => event, DEBOUNCE_DELAY, true)(options => {
868
+ if (options.element instanceof Match) {
869
+ const selectedMatch = options.element;
870
+ this.currentSelectedFileMatch?.setSelectedMatch(null);
871
+ this.currentSelectedFileMatch = selectedMatch.parent();
872
+ this.currentSelectedFileMatch.setSelectedMatch(selectedMatch);
873
+ this.onFocus(selectedMatch, options.editorOptions.preserveFocus, options.sideBySide, options.editorOptions.pinned);
874
+ }
875
+ }));
876
+ this._register(Event.debounce(this.tree.onDidChangeFocus, (last, event) => event, DEBOUNCE_DELAY, true)(() => {
877
+ const selection = this.tree.getSelection();
878
+ const focus = this.tree.getFocus()[0];
879
+ if (selection.length > 1 && focus instanceof Match) {
880
+ this.onFocus(focus, true);
881
+ }
882
+ }));
883
+ this._register(Event.any(this.tree.onDidFocus, this.tree.onDidChangeFocus)(() => {
884
+ const focus = this.tree.getFocus()[0];
885
+ if (this.tree.isDOMFocused()) {
886
+ this.firstMatchFocused.set(this.tree.navigate().first() === focus);
887
+ this.fileMatchOrMatchFocused.set(!!focus);
888
+ this.fileMatchFocused.set(focus instanceof FileMatch);
889
+ this.folderMatchFocused.set(focus instanceof FolderMatch);
890
+ this.matchFocused.set(focus instanceof Match);
891
+ this.fileMatchOrFolderMatchFocus.set(focus instanceof FileMatch || focus instanceof FolderMatch);
892
+ this.fileMatchOrFolderMatchWithResourceFocus.set(focus instanceof FileMatch || focus instanceof FolderMatchWithResource);
893
+ this.folderMatchWithResourceFocused.set(focus instanceof FolderMatchWithResource);
894
+ this.lastFocusState = 'tree';
895
+ }
896
+ let editable = false;
897
+ if (focus instanceof Match) {
898
+ editable = (focus instanceof MatchInNotebook) ? !focus.isReadonly() : true;
899
+ }
900
+ else if (focus instanceof FileMatch) {
901
+ editable = !focus.hasOnlyReadOnlyMatches();
902
+ }
903
+ else if (focus instanceof FolderMatch) {
904
+ editable = !focus.hasOnlyReadOnlyMatches();
905
+ }
906
+ this.isEditableItem.set(editable);
907
+ }));
908
+ this._register(this.tree.onDidBlur(() => {
909
+ this.firstMatchFocused.reset();
910
+ this.fileMatchOrMatchFocused.reset();
911
+ this.fileMatchFocused.reset();
912
+ this.folderMatchFocused.reset();
913
+ this.matchFocused.reset();
914
+ this.fileMatchOrFolderMatchFocus.reset();
915
+ this.fileMatchOrFolderMatchWithResourceFocus.reset();
916
+ this.folderMatchWithResourceFocused.reset();
917
+ this.isEditableItem.reset();
918
+ }));
919
+ }
920
+ onContextMenu(e) {
921
+ e.browserEvent.preventDefault();
922
+ e.browserEvent.stopPropagation();
923
+ this.contextMenuService.showContextMenu({
924
+ menuId: MenuId.SearchContext,
925
+ menuActionOptions: { shouldForwardArgs: true },
926
+ contextKeyService: this.contextKeyService,
927
+ getAnchor: () => e.anchor,
928
+ getActionsContext: () => e.element,
929
+ });
930
+ }
931
+ hasSomeCollapsible() {
932
+ const viewer = this.getControl();
933
+ const navigator = viewer.navigate();
934
+ let node = navigator.first();
935
+ do {
936
+ if (!viewer.isCollapsed(node)) {
937
+ return true;
938
+ }
939
+ } while (node = navigator.next());
940
+ return false;
941
+ }
942
+ selectNextMatch() {
943
+ if (!this.hasSearchResults()) {
944
+ return;
945
+ }
946
+ const [selected] = this.tree.getSelection();
947
+ if (selected && !(selected instanceof Match)) {
948
+ if (this.tree.isCollapsed(selected)) {
949
+ this.tree.expand(selected);
950
+ }
951
+ }
952
+ const navigator = this.tree.navigate(selected);
953
+ let next = navigator.next();
954
+ if (!next) {
955
+ next = navigator.first();
956
+ }
957
+ while (next && !(next instanceof Match)) {
958
+ if (this.tree.isCollapsed(next)) {
959
+ this.tree.expand(next);
960
+ }
961
+ next = navigator.next();
962
+ }
963
+ if (next) {
964
+ if (next === selected) {
965
+ this.tree.setFocus([]);
966
+ }
967
+ const event = getSelectionKeyboardEvent(undefined, false, false);
968
+ this.tree.setFocus([next], event);
969
+ this.tree.setSelection([next], event);
970
+ this.tree.reveal(next);
971
+ const ariaLabel = this.treeAccessibilityProvider.getAriaLabel(next);
972
+ if (ariaLabel) {
973
+ status(ariaLabel);
974
+ }
975
+ }
976
+ }
977
+ selectPreviousMatch() {
978
+ if (!this.hasSearchResults()) {
979
+ return;
980
+ }
981
+ const [selected] = this.tree.getSelection();
982
+ let navigator = this.tree.navigate(selected);
983
+ let prev = navigator.previous();
984
+ while (!prev || (!(prev instanceof Match) && !this.tree.isCollapsed(prev))) {
985
+ const nextPrev = prev ? navigator.previous() : navigator.last();
986
+ if (!prev && !nextPrev) {
987
+ return;
988
+ }
989
+ prev = nextPrev;
990
+ }
991
+ while (!(prev instanceof Match)) {
992
+ const nextItem = navigator.next();
993
+ this.tree.expand(prev);
994
+ navigator = this.tree.navigate(nextItem);
995
+ prev = nextItem ? navigator.previous() : navigator.last();
996
+ }
997
+ if (prev) {
998
+ if (prev === selected) {
999
+ this.tree.setFocus([]);
1000
+ }
1001
+ const event = getSelectionKeyboardEvent(undefined, false, false);
1002
+ this.tree.setFocus([prev], event);
1003
+ this.tree.setSelection([prev], event);
1004
+ this.tree.reveal(prev);
1005
+ const ariaLabel = this.treeAccessibilityProvider.getAriaLabel(prev);
1006
+ if (ariaLabel) {
1007
+ status(ariaLabel);
1008
+ }
1009
+ }
1010
+ }
1011
+ moveFocusToResults() {
1012
+ this.tree.domFocus();
1013
+ }
1014
+ focus() {
1015
+ super.focus();
1016
+ if (this.lastFocusState === 'input' || !this.hasSearchResults()) {
1017
+ const updatedText = this.searchConfig.seedOnFocus ? this.updateTextFromSelection({ allowSearchOnType: false }) : false;
1018
+ this.searchWidget.focus(undefined, undefined, updatedText);
1019
+ }
1020
+ else {
1021
+ this.tree.domFocus();
1022
+ }
1023
+ }
1024
+ updateTextFromFindWidgetOrSelection({ allowUnselectedWord = true, allowSearchOnType = true }) {
1025
+ let activeEditor = this.editorService.activeTextEditorControl;
1026
+ if (isCodeEditor(activeEditor) && !activeEditor?.hasTextFocus()) {
1027
+ const controller = CommonFindController.get(activeEditor);
1028
+ if (controller && controller.isFindInputFocused()) {
1029
+ return this.updateTextFromFindWidget(controller, { allowSearchOnType });
1030
+ }
1031
+ const editors = this.codeEditorService.listCodeEditors();
1032
+ activeEditor = editors.find(editor => editor instanceof EmbeddedCodeEditorWidget && editor.getParentEditor() === activeEditor && editor.hasTextFocus())
1033
+ ?? activeEditor;
1034
+ }
1035
+ return this.updateTextFromSelection({ allowUnselectedWord, allowSearchOnType }, activeEditor);
1036
+ }
1037
+ updateTextFromFindWidget(controller, { allowSearchOnType = true }) {
1038
+ if (!this.searchConfig.seedWithNearestWord && (getActiveWindow().getSelection()?.toString() ?? '') === '') {
1039
+ return false;
1040
+ }
1041
+ const searchString = controller.getState().searchString;
1042
+ if (searchString === '') {
1043
+ return false;
1044
+ }
1045
+ this.searchWidget.searchInput?.setCaseSensitive(controller.getState().matchCase);
1046
+ this.searchWidget.searchInput?.setWholeWords(controller.getState().wholeWord);
1047
+ this.searchWidget.searchInput?.setRegex(controller.getState().isRegex);
1048
+ this.updateText(searchString, allowSearchOnType);
1049
+ return true;
1050
+ }
1051
+ updateTextFromSelection({ allowUnselectedWord = true, allowSearchOnType = true }, editor) {
1052
+ const seedSearchStringFromSelection = this.configurationService.getValue('editor').find.seedSearchStringFromSelection;
1053
+ if (!seedSearchStringFromSelection || seedSearchStringFromSelection === 'never') {
1054
+ return false;
1055
+ }
1056
+ let selectedText = this.getSearchTextFromEditor(allowUnselectedWord, editor);
1057
+ if (selectedText === null) {
1058
+ return false;
1059
+ }
1060
+ if (this.searchWidget.searchInput?.getRegex()) {
1061
+ selectedText = escapeRegExpCharacters(selectedText);
1062
+ }
1063
+ this.updateText(selectedText, allowSearchOnType);
1064
+ return true;
1065
+ }
1066
+ updateText(text, allowSearchOnType = true) {
1067
+ if (allowSearchOnType && !this.viewModel.searchResult.isDirty) {
1068
+ this.searchWidget.setValue(text);
1069
+ }
1070
+ else {
1071
+ this.pauseSearching = true;
1072
+ this.searchWidget.setValue(text);
1073
+ this.pauseSearching = false;
1074
+ }
1075
+ }
1076
+ focusNextInputBox() {
1077
+ if (this.searchWidget.searchInputHasFocus()) {
1078
+ if (this.searchWidget.isReplaceShown()) {
1079
+ this.searchWidget.focus(true, true);
1080
+ }
1081
+ else {
1082
+ this.moveFocusFromSearchOrReplace();
1083
+ }
1084
+ return;
1085
+ }
1086
+ if (this.searchWidget.replaceInputHasFocus()) {
1087
+ this.moveFocusFromSearchOrReplace();
1088
+ return;
1089
+ }
1090
+ if (this.inputPatternIncludes.inputHasFocus()) {
1091
+ this.inputPatternExcludes.focus();
1092
+ this.inputPatternExcludes.select();
1093
+ return;
1094
+ }
1095
+ if (this.inputPatternExcludes.inputHasFocus()) {
1096
+ this.selectTreeIfNotSelected();
1097
+ return;
1098
+ }
1099
+ }
1100
+ moveFocusFromSearchOrReplace() {
1101
+ if (this.showsFileTypes()) {
1102
+ this.toggleQueryDetails(true, this.showsFileTypes());
1103
+ }
1104
+ else {
1105
+ this.selectTreeIfNotSelected();
1106
+ }
1107
+ }
1108
+ focusPreviousInputBox() {
1109
+ if (this.searchWidget.searchInputHasFocus()) {
1110
+ return;
1111
+ }
1112
+ if (this.searchWidget.replaceInputHasFocus()) {
1113
+ this.searchWidget.focus(true);
1114
+ return;
1115
+ }
1116
+ if (this.inputPatternIncludes.inputHasFocus()) {
1117
+ this.searchWidget.focus(true, true);
1118
+ return;
1119
+ }
1120
+ if (this.inputPatternExcludes.inputHasFocus()) {
1121
+ this.inputPatternIncludes.focus();
1122
+ this.inputPatternIncludes.select();
1123
+ return;
1124
+ }
1125
+ if (this.tree.isDOMFocused()) {
1126
+ this.moveFocusFromResults();
1127
+ return;
1128
+ }
1129
+ }
1130
+ moveFocusFromResults() {
1131
+ if (this.showsFileTypes()) {
1132
+ this.toggleQueryDetails(true, true, false, true);
1133
+ }
1134
+ else {
1135
+ this.searchWidget.focus(true, true);
1136
+ }
1137
+ }
1138
+ reLayout() {
1139
+ if (this.isDisposed || !this.size) {
1140
+ return;
1141
+ }
1142
+ const actionsPosition = this.searchConfig.actionsPosition;
1143
+ this.getContainer().classList.toggle(SearchView_1.ACTIONS_RIGHT_CLASS_NAME, actionsPosition === 'right');
1144
+ this.searchWidget.setWidth(this.size.width - 28 );
1145
+ this.inputPatternExcludes.setWidth(this.size.width - 28 );
1146
+ this.inputPatternIncludes.setWidth(this.size.width - 28 );
1147
+ const widgetHeight = getTotalHeight(this.searchWidgetsContainerElement);
1148
+ const messagesHeight = getTotalHeight(this.messagesElement);
1149
+ this.tree.layout(this.size.height - widgetHeight - messagesHeight, this.size.width - 28);
1150
+ }
1151
+ layoutBody(height, width) {
1152
+ super.layoutBody(height, width);
1153
+ this.size = new Dimension(width, height);
1154
+ this.reLayout();
1155
+ }
1156
+ getControl() {
1157
+ return this.tree;
1158
+ }
1159
+ allSearchFieldsClear() {
1160
+ return this.searchWidget.getReplaceValue() === '' &&
1161
+ (!this.searchWidget.searchInput || this.searchWidget.searchInput.getValue() === '');
1162
+ }
1163
+ allFilePatternFieldsClear() {
1164
+ return this.searchExcludePattern.getValue() === '' &&
1165
+ this.searchIncludePattern.getValue() === '';
1166
+ }
1167
+ hasSearchResults() {
1168
+ return !this.viewModel.searchResult.isEmpty(this.aiResultsVisible);
1169
+ }
1170
+ clearSearchResults(clearInput = true) {
1171
+ this.viewModel.searchResult.clear();
1172
+ this.showEmptyStage(true);
1173
+ if (this.contextService.getWorkbenchState() === 1 ) {
1174
+ this.showSearchWithoutFolderMessage();
1175
+ }
1176
+ if (clearInput) {
1177
+ if (this.allSearchFieldsClear()) {
1178
+ this.clearFilePatternFields();
1179
+ }
1180
+ this.searchWidget.clear();
1181
+ }
1182
+ this.viewModel.cancelSearch();
1183
+ this.tree.ariaLabel = ( localizeWithPath(
1184
+ 'vs/workbench/contrib/search/browser/searchView',
1185
+ 'emptySearch',
1186
+ "Empty Search"
1187
+ ));
1188
+ this.accessibilitySignalService.playSignal(AccessibilitySignal.clear);
1189
+ this.reLayout();
1190
+ }
1191
+ clearFilePatternFields() {
1192
+ this.searchExcludePattern.clear();
1193
+ this.searchIncludePattern.clear();
1194
+ }
1195
+ cancelSearch(focus = true) {
1196
+ if (this.viewModel.cancelSearch()) {
1197
+ if (focus) {
1198
+ this.searchWidget.focus();
1199
+ }
1200
+ return true;
1201
+ }
1202
+ return false;
1203
+ }
1204
+ selectTreeIfNotSelected() {
1205
+ if (this.tree.getNode(null)) {
1206
+ this.tree.domFocus();
1207
+ const selection = this.tree.getSelection();
1208
+ if (selection.length === 0) {
1209
+ const event = getSelectionKeyboardEvent();
1210
+ this.tree.focusNext(undefined, undefined, event);
1211
+ this.tree.setSelection(this.tree.getFocus(), event);
1212
+ }
1213
+ }
1214
+ }
1215
+ getSearchTextFromEditor(allowUnselectedWord, editor) {
1216
+ if (isAncestorOfActiveElement(this.getContainer())) {
1217
+ return null;
1218
+ }
1219
+ editor = editor ?? this.editorService.activeTextEditorControl;
1220
+ if (!editor) {
1221
+ return null;
1222
+ }
1223
+ const allowUnselected = this.searchConfig.seedWithNearestWord && allowUnselectedWord;
1224
+ return getSelectionTextFromEditor(allowUnselected, editor);
1225
+ }
1226
+ showsFileTypes() {
1227
+ return this.queryDetails.classList.contains('more');
1228
+ }
1229
+ toggleCaseSensitive() {
1230
+ this.searchWidget.searchInput?.setCaseSensitive(!this.searchWidget.searchInput.getCaseSensitive());
1231
+ this.triggerQueryChange();
1232
+ }
1233
+ toggleWholeWords() {
1234
+ this.searchWidget.searchInput?.setWholeWords(!this.searchWidget.searchInput.getWholeWords());
1235
+ this.triggerQueryChange();
1236
+ }
1237
+ toggleRegex() {
1238
+ this.searchWidget.searchInput?.setRegex(!this.searchWidget.searchInput.getRegex());
1239
+ this.triggerQueryChange();
1240
+ }
1241
+ togglePreserveCase() {
1242
+ this.searchWidget.replaceInput?.setPreserveCase(!this.searchWidget.replaceInput.getPreserveCase());
1243
+ this.triggerQueryChange();
1244
+ }
1245
+ setSearchParameters(args = {}) {
1246
+ if (typeof args.isCaseSensitive === 'boolean') {
1247
+ this.searchWidget.searchInput?.setCaseSensitive(args.isCaseSensitive);
1248
+ }
1249
+ if (typeof args.matchWholeWord === 'boolean') {
1250
+ this.searchWidget.searchInput?.setWholeWords(args.matchWholeWord);
1251
+ }
1252
+ if (typeof args.isRegex === 'boolean') {
1253
+ this.searchWidget.searchInput?.setRegex(args.isRegex);
1254
+ }
1255
+ if (typeof args.filesToInclude === 'string') {
1256
+ this.searchIncludePattern.setValue(String(args.filesToInclude));
1257
+ }
1258
+ if (typeof args.filesToExclude === 'string') {
1259
+ this.searchExcludePattern.setValue(String(args.filesToExclude));
1260
+ }
1261
+ if (typeof args.query === 'string') {
1262
+ this.searchWidget.searchInput?.setValue(args.query);
1263
+ }
1264
+ if (typeof args.replace === 'string') {
1265
+ this.searchWidget.replaceInput?.setValue(args.replace);
1266
+ }
1267
+ else {
1268
+ if (this.searchWidget.replaceInput && this.searchWidget.replaceInput.getValue() !== '') {
1269
+ this.searchWidget.replaceInput.setValue('');
1270
+ }
1271
+ }
1272
+ if (typeof args.triggerSearch === 'boolean' && args.triggerSearch) {
1273
+ this.triggerQueryChange();
1274
+ }
1275
+ if (typeof args.preserveCase === 'boolean') {
1276
+ this.searchWidget.replaceInput?.setPreserveCase(args.preserveCase);
1277
+ }
1278
+ if (typeof args.useExcludeSettingsAndIgnoreFiles === 'boolean') {
1279
+ this.inputPatternExcludes.setUseExcludesAndIgnoreFiles(args.useExcludeSettingsAndIgnoreFiles);
1280
+ }
1281
+ if (typeof args.onlyOpenEditors === 'boolean') {
1282
+ this.searchIncludePattern.setOnlySearchInOpenEditors(args.onlyOpenEditors);
1283
+ }
1284
+ }
1285
+ toggleQueryDetails(moveFocus = true, show, skipLayout, reverse) {
1286
+ const cls = 'more';
1287
+ show = typeof show === 'undefined' ? !this.queryDetails.classList.contains(cls) : Boolean(show);
1288
+ this.viewletState['query.queryDetailsExpanded'] = show;
1289
+ skipLayout = Boolean(skipLayout);
1290
+ if (show) {
1291
+ this.toggleQueryDetailsButton.setAttribute('aria-expanded', 'true');
1292
+ this.queryDetails.classList.add(cls);
1293
+ if (moveFocus) {
1294
+ if (reverse) {
1295
+ this.inputPatternExcludes.focus();
1296
+ this.inputPatternExcludes.select();
1297
+ }
1298
+ else {
1299
+ this.inputPatternIncludes.focus();
1300
+ this.inputPatternIncludes.select();
1301
+ }
1302
+ }
1303
+ }
1304
+ else {
1305
+ this.toggleQueryDetailsButton.setAttribute('aria-expanded', 'false');
1306
+ this.queryDetails.classList.remove(cls);
1307
+ if (moveFocus) {
1308
+ this.searchWidget.focus();
1309
+ }
1310
+ }
1311
+ if (!skipLayout && this.size) {
1312
+ this.reLayout();
1313
+ }
1314
+ }
1315
+ searchInFolders(folderPaths = []) {
1316
+ this._searchWithIncludeOrExclude(true, folderPaths);
1317
+ }
1318
+ searchOutsideOfFolders(folderPaths = []) {
1319
+ this._searchWithIncludeOrExclude(false, folderPaths);
1320
+ }
1321
+ _searchWithIncludeOrExclude(include, folderPaths) {
1322
+ if (!folderPaths.length || ( folderPaths.some(folderPath => folderPath === '.'))) {
1323
+ this.inputPatternIncludes.setValue('');
1324
+ this.searchWidget.focus();
1325
+ return;
1326
+ }
1327
+ if (!this.showsFileTypes()) {
1328
+ this.toggleQueryDetails(true, true);
1329
+ }
1330
+ (include ? this.inputPatternIncludes : this.inputPatternExcludes).setValue(folderPaths.join(', '));
1331
+ this.searchWidget.focus(false);
1332
+ }
1333
+ triggerQueryChange(_options) {
1334
+ const options = { preserveFocus: true, triggeredOnType: false, delay: 0, ..._options };
1335
+ if (options.triggeredOnType && !this.searchConfig.searchOnType) {
1336
+ return;
1337
+ }
1338
+ if (!this.pauseSearching) {
1339
+ const delay = options.triggeredOnType ? options.delay : 0;
1340
+ this.triggerQueryDelayer.trigger(() => {
1341
+ this._onQueryChanged(options.preserveFocus, options.triggeredOnType);
1342
+ }, delay);
1343
+ }
1344
+ }
1345
+ _onQueryChanged(preserveFocus, triggeredOnType = false) {
1346
+ if (!(this.searchWidget.searchInput?.inputBox.isInputValid())) {
1347
+ return;
1348
+ }
1349
+ const isRegex = this.searchWidget.searchInput.getRegex();
1350
+ const isInNotebookMarkdownInput = this.searchWidget.getNotebookFilters().markupInput;
1351
+ const isInNotebookMarkdownPreview = this.searchWidget.getNotebookFilters().markupPreview;
1352
+ const isInNotebookCellInput = this.searchWidget.getNotebookFilters().codeInput;
1353
+ const isInNotebookCellOutput = this.searchWidget.getNotebookFilters().codeOutput;
1354
+ const isWholeWords = this.searchWidget.searchInput.getWholeWords();
1355
+ const isCaseSensitive = this.searchWidget.searchInput.getCaseSensitive();
1356
+ const contentPattern = this.searchWidget.searchInput.getValue();
1357
+ const excludePatternText = this.inputPatternExcludes.getValue().trim();
1358
+ const includePatternText = this.inputPatternIncludes.getValue().trim();
1359
+ const useExcludesAndIgnoreFiles = this.inputPatternExcludes.useExcludesAndIgnoreFiles();
1360
+ const onlySearchInOpenEditors = this.inputPatternIncludes.onlySearchInOpenEditors();
1361
+ if (contentPattern.length === 0) {
1362
+ this.clearSearchResults(false);
1363
+ this.clearMessage();
1364
+ return;
1365
+ }
1366
+ const content = {
1367
+ pattern: contentPattern,
1368
+ isRegExp: isRegex,
1369
+ isCaseSensitive: isCaseSensitive,
1370
+ isWordMatch: isWholeWords,
1371
+ notebookInfo: {
1372
+ isInNotebookMarkdownInput,
1373
+ isInNotebookMarkdownPreview,
1374
+ isInNotebookCellInput,
1375
+ isInNotebookCellOutput
1376
+ }
1377
+ };
1378
+ const excludePattern = this.inputPatternExcludes.getValue();
1379
+ const includePattern = this.inputPatternIncludes.getValue();
1380
+ const charsPerLine = content.isRegExp ? 10000 : 1000;
1381
+ const options = {
1382
+ _reason: 'searchView',
1383
+ extraFileResources: this.instantiationService.invokeFunction(getOutOfWorkspaceEditorResources),
1384
+ maxResults: this.searchConfig.maxResults ?? undefined,
1385
+ disregardIgnoreFiles: !useExcludesAndIgnoreFiles || undefined,
1386
+ disregardExcludeSettings: !useExcludesAndIgnoreFiles || undefined,
1387
+ onlyOpenEditors: onlySearchInOpenEditors,
1388
+ excludePattern,
1389
+ includePattern,
1390
+ previewOptions: {
1391
+ matchLines: 1,
1392
+ charsPerLine
1393
+ },
1394
+ isSmartCase: this.searchConfig.smartCase,
1395
+ expandPatterns: true
1396
+ };
1397
+ const folderResources = this.contextService.getWorkspace().folders;
1398
+ const onQueryValidationError = (err) => {
1399
+ this.searchWidget.searchInput?.showMessage({ content: err.message, type: 3 });
1400
+ this.viewModel.searchResult.clear();
1401
+ };
1402
+ let query;
1403
+ try {
1404
+ query = this.queryBuilder.text(content, ( folderResources.map(folder => folder.uri)), options);
1405
+ }
1406
+ catch (err) {
1407
+ onQueryValidationError(err);
1408
+ return;
1409
+ }
1410
+ this.validateQuery(query).then(() => {
1411
+ this.onQueryTriggered(query, options, excludePatternText, includePatternText, triggeredOnType);
1412
+ if (!preserveFocus) {
1413
+ this.searchWidget.focus(false, undefined, true);
1414
+ }
1415
+ }, onQueryValidationError);
1416
+ }
1417
+ validateQuery(query) {
1418
+ const folderQueriesExistP = ( query.folderQueries.map(fq => {
1419
+ return this.fileService.exists(fq.folder).catch(() => false);
1420
+ }));
1421
+ return Promise.all(folderQueriesExistP).then(existResults => {
1422
+ const existingFolderQueries = query.folderQueries.filter((folderQuery, i) => existResults[i]);
1423
+ if (!query.folderQueries.length || existingFolderQueries.length) {
1424
+ query.folderQueries = existingFolderQueries;
1425
+ }
1426
+ else {
1427
+ const nonExistantPath = query.folderQueries[0].folder.fsPath;
1428
+ const searchPathNotFoundError = ( localizeWithPath(
1429
+ 'vs/workbench/contrib/search/browser/searchView',
1430
+ 'searchPathNotFoundError',
1431
+ "Search path not found: {0}",
1432
+ nonExistantPath
1433
+ ));
1434
+ return Promise.reject(( new Error(searchPathNotFoundError)));
1435
+ }
1436
+ return undefined;
1437
+ });
1438
+ }
1439
+ onQueryTriggered(query, options, excludePatternText, includePatternText, triggeredOnType) {
1440
+ this.addToSearchHistoryDelayer.trigger(() => {
1441
+ this.searchWidget.searchInput?.onSearchSubmit();
1442
+ this.inputPatternExcludes.onSearchSubmit();
1443
+ this.inputPatternIncludes.onSearchSubmit();
1444
+ });
1445
+ this.viewModel.cancelSearch(true);
1446
+ this.viewModel.cancelAISearch(true);
1447
+ this.currentSearchQ = this.currentSearchQ
1448
+ .then(() => this.doSearch(query, excludePatternText, includePatternText, triggeredOnType))
1449
+ .then(() => undefined, () => undefined);
1450
+ }
1451
+ _updateResults() {
1452
+ if (this.state === SearchUIState.Idle) {
1453
+ return;
1454
+ }
1455
+ try {
1456
+ const fileCount = this.viewModel.searchResult.fileCount(this.aiResultsVisible);
1457
+ if (this._visibleMatches !== fileCount) {
1458
+ this._visibleMatches = fileCount;
1459
+ this.refreshAndUpdateCount();
1460
+ }
1461
+ }
1462
+ finally {
1463
+ this._refreshResultsScheduler.schedule();
1464
+ }
1465
+ }
1466
+ onSearchComplete(progressComplete, excludePatternText, includePatternText, completed) {
1467
+ this.state = SearchUIState.Idle;
1468
+ progressComplete();
1469
+ this.onSearchResultsChanged();
1470
+ const collapseResults = this.searchConfig.collapseResults;
1471
+ if (collapseResults !== 'alwaysCollapse' && this.viewModel.searchResult.matches(this.aiResultsVisible).length === 1) {
1472
+ const onlyMatch = this.viewModel.searchResult.matches(this.aiResultsVisible)[0];
1473
+ if (onlyMatch.count() < 50) {
1474
+ this.tree.expand(onlyMatch);
1475
+ }
1476
+ }
1477
+ const hasResults = !this.viewModel.searchResult.isEmpty(this.aiResultsVisible);
1478
+ if (completed?.exit === 1 ) {
1479
+ return;
1480
+ }
1481
+ if (!hasResults) {
1482
+ const hasExcludes = !!excludePatternText;
1483
+ const hasIncludes = !!includePatternText;
1484
+ let message;
1485
+ if (!completed) {
1486
+ message = SEARCH_CANCELLED_MESSAGE;
1487
+ }
1488
+ else if (this.inputPatternIncludes.onlySearchInOpenEditors()) {
1489
+ if (hasIncludes && hasExcludes) {
1490
+ message = ( localizeWithPath(
1491
+ 'vs/workbench/contrib/search/browser/searchView',
1492
+ 'noOpenEditorResultsIncludesExcludes',
1493
+ "No results found in open editors matching '{0}' excluding '{1}' - ",
1494
+ includePatternText,
1495
+ excludePatternText
1496
+ ));
1497
+ }
1498
+ else if (hasIncludes) {
1499
+ message = ( localizeWithPath(
1500
+ 'vs/workbench/contrib/search/browser/searchView',
1501
+ 'noOpenEditorResultsIncludes',
1502
+ "No results found in open editors matching '{0}' - ",
1503
+ includePatternText
1504
+ ));
1505
+ }
1506
+ else if (hasExcludes) {
1507
+ message = ( localizeWithPath(
1508
+ 'vs/workbench/contrib/search/browser/searchView',
1509
+ 'noOpenEditorResultsExcludes',
1510
+ "No results found in open editors excluding '{0}' - ",
1511
+ excludePatternText
1512
+ ));
1513
+ }
1514
+ else {
1515
+ message = ( localizeWithPath(
1516
+ 'vs/workbench/contrib/search/browser/searchView',
1517
+ 'noOpenEditorResultsFound',
1518
+ "No results found in open editors. Review your settings for configured exclusions and check your gitignore files - "
1519
+ ));
1520
+ }
1521
+ }
1522
+ else {
1523
+ if (hasIncludes && hasExcludes) {
1524
+ message = ( localizeWithPath(
1525
+ 'vs/workbench/contrib/search/browser/searchView',
1526
+ 'noResultsIncludesExcludes',
1527
+ "No results found in '{0}' excluding '{1}' - ",
1528
+ includePatternText,
1529
+ excludePatternText
1530
+ ));
1531
+ }
1532
+ else if (hasIncludes) {
1533
+ message = ( localizeWithPath(
1534
+ 'vs/workbench/contrib/search/browser/searchView',
1535
+ 'noResultsIncludes',
1536
+ "No results found in '{0}' - ",
1537
+ includePatternText
1538
+ ));
1539
+ }
1540
+ else if (hasExcludes) {
1541
+ message = ( localizeWithPath(
1542
+ 'vs/workbench/contrib/search/browser/searchView',
1543
+ 'noResultsExcludes',
1544
+ "No results found excluding '{0}' - ",
1545
+ excludePatternText
1546
+ ));
1547
+ }
1548
+ else {
1549
+ message = ( localizeWithPath(
1550
+ 'vs/workbench/contrib/search/browser/searchView',
1551
+ 'noResultsFound',
1552
+ "No results found. Review your settings for configured exclusions and check your gitignore files - "
1553
+ ));
1554
+ }
1555
+ }
1556
+ status(message);
1557
+ const messageEl = this.clearMessage();
1558
+ append(messageEl, message);
1559
+ if (!completed) {
1560
+ const searchAgainButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1561
+ 'vs/workbench/contrib/search/browser/searchView',
1562
+ 'rerunSearch.message',
1563
+ "Search again"
1564
+ )), () => this.triggerQueryChange({ preserveFocus: false }))));
1565
+ append(messageEl, searchAgainButton.element);
1566
+ }
1567
+ else if (hasIncludes || hasExcludes) {
1568
+ const searchAgainButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1569
+ 'vs/workbench/contrib/search/browser/searchView',
1570
+ 'rerunSearchInAll.message',
1571
+ "Search again in all files"
1572
+ )), this.onSearchAgain.bind(this))));
1573
+ append(messageEl, searchAgainButton.element);
1574
+ }
1575
+ else {
1576
+ const openSettingsButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1577
+ 'vs/workbench/contrib/search/browser/searchView',
1578
+ 'openSettings.message',
1579
+ "Open Settings"
1580
+ )), this.onOpenSettings.bind(this))));
1581
+ append(messageEl, openSettingsButton.element);
1582
+ }
1583
+ if (completed) {
1584
+ append(messageEl, $('span', undefined, ' - '));
1585
+ const learnMoreButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1586
+ 'vs/workbench/contrib/search/browser/searchView',
1587
+ 'openSettings.learnMore',
1588
+ "Learn More"
1589
+ )), this.onLearnMore.bind(this))));
1590
+ append(messageEl, learnMoreButton.element);
1591
+ }
1592
+ if (this.contextService.getWorkbenchState() === 1 ) {
1593
+ this.showSearchWithoutFolderMessage();
1594
+ }
1595
+ this.reLayout();
1596
+ }
1597
+ else {
1598
+ this.viewModel.searchResult.toggleHighlights(this.isVisible());
1599
+ status(( localizeWithPath(
1600
+ 'vs/workbench/contrib/search/browser/searchView',
1601
+ 'ariaSearchResultsStatus',
1602
+ "Search returned {0} results in {1} files",
1603
+ this.viewModel.searchResult.count(this.aiResultsVisible),
1604
+ this.viewModel.searchResult.fileCount()
1605
+ )));
1606
+ }
1607
+ if (completed && completed.limitHit) {
1608
+ completed.messages.push({ type: TextSearchCompleteMessageType.Warning, text: ( localizeWithPath(
1609
+ 'vs/workbench/contrib/search/browser/searchView',
1610
+ 'searchMaxResultsWarning',
1611
+ "The result set only contains a subset of all matches. Be more specific in your search to narrow down the results."
1612
+ )) });
1613
+ }
1614
+ if (completed && completed.messages) {
1615
+ for (const message of completed.messages) {
1616
+ this.addMessage(message);
1617
+ }
1618
+ }
1619
+ this.reLayout();
1620
+ }
1621
+ onSearchError(e, progressComplete, excludePatternText, includePatternText, completed) {
1622
+ this.state = SearchUIState.Idle;
1623
+ if (isCancellationError(e)) {
1624
+ return this.onSearchComplete(progressComplete, excludePatternText, includePatternText, completed);
1625
+ }
1626
+ else {
1627
+ progressComplete();
1628
+ this.searchWidget.searchInput?.showMessage({ content: e.message, type: 3 });
1629
+ this.viewModel.searchResult.clear();
1630
+ return Promise.resolve();
1631
+ }
1632
+ }
1633
+ doSearch(query, excludePatternText, includePatternText, triggeredOnType) {
1634
+ let progressComplete;
1635
+ this.progressService.withProgress({ location: this.getProgressLocation(), delay: triggeredOnType ? 300 : 0 }, _progress => {
1636
+ return ( new Promise(resolve => progressComplete = resolve));
1637
+ });
1638
+ this.searchWidget.searchInput?.clearMessage();
1639
+ this.state = SearchUIState.Searching;
1640
+ this.showEmptyStage();
1641
+ const slowTimer = setTimeout(() => {
1642
+ this.state = SearchUIState.SlowSearch;
1643
+ }, 2000);
1644
+ this._visibleMatches = 0;
1645
+ this._refreshResultsScheduler.schedule();
1646
+ this.searchWidget.setReplaceAllActionState(false);
1647
+ this.tree.setSelection([]);
1648
+ this.tree.setFocus([]);
1649
+ this.viewModel.replaceString = this.searchWidget.getReplaceValue();
1650
+ const result = this.viewModel.search(query);
1651
+ if (this.aiResultsVisible) {
1652
+ const aiResult = this.viewModel.aiSearch({ ...query, contentPattern: query.contentPattern.pattern, type: 3 });
1653
+ return result.asyncResults.then(() => aiResult.then((complete) => {
1654
+ clearTimeout(slowTimer);
1655
+ this.onSearchComplete(progressComplete, excludePatternText, includePatternText, complete);
1656
+ }, (e) => {
1657
+ clearTimeout(slowTimer);
1658
+ this.onSearchError(e, progressComplete, excludePatternText, includePatternText);
1659
+ }));
1660
+ }
1661
+ return result.asyncResults.then((complete) => {
1662
+ clearTimeout(slowTimer);
1663
+ this.onSearchComplete(progressComplete, excludePatternText, includePatternText, complete);
1664
+ }, (e) => {
1665
+ clearTimeout(slowTimer);
1666
+ this.onSearchError(e, progressComplete, excludePatternText, includePatternText);
1667
+ });
1668
+ }
1669
+ onOpenSettings(e) {
1670
+ EventHelper.stop(e, false);
1671
+ this.openSettings('@id:files.exclude,search.exclude,search.useParentIgnoreFiles,search.useGlobalIgnoreFiles,search.useIgnoreFiles');
1672
+ }
1673
+ openSettings(query) {
1674
+ const options = { query };
1675
+ return this.contextService.getWorkbenchState() !== 1 ?
1676
+ this.preferencesService.openWorkspaceSettings(options) :
1677
+ this.preferencesService.openUserSettings(options);
1678
+ }
1679
+ onLearnMore() {
1680
+ this.openerService.open(( URI.parse('https://go.microsoft.com/fwlink/?linkid=853977')));
1681
+ }
1682
+ onSearchAgain() {
1683
+ this.inputPatternExcludes.setValue('');
1684
+ this.inputPatternIncludes.setValue('');
1685
+ this.inputPatternIncludes.setOnlySearchInOpenEditors(false);
1686
+ this.triggerQueryChange({ preserveFocus: false });
1687
+ }
1688
+ onEnableExcludes() {
1689
+ this.toggleQueryDetails(false, true);
1690
+ this.searchExcludePattern.setUseExcludesAndIgnoreFiles(true);
1691
+ }
1692
+ onDisableSearchInOpenEditors() {
1693
+ this.toggleQueryDetails(false, true);
1694
+ this.inputPatternIncludes.setOnlySearchInOpenEditors(false);
1695
+ }
1696
+ updateSearchResultCount(disregardExcludesAndIgnores, onlyOpenEditors, clear = false) {
1697
+ const fileCount = this.viewModel.searchResult.fileCount(this.aiResultsVisible);
1698
+ const resultCount = this.viewModel.searchResult.count(this.aiResultsVisible);
1699
+ this.hasSearchResultsKey.set(fileCount > 0);
1700
+ const msgWasHidden = this.messagesElement.style.display === 'none';
1701
+ const messageEl = this.clearMessage();
1702
+ const resultMsg = clear ? '' : this.buildResultCountMessage(resultCount, fileCount);
1703
+ this.tree.ariaLabel = resultMsg + ( localizeWithPath(
1704
+ 'vs/workbench/contrib/search/browser/searchView',
1705
+ 'forTerm',
1706
+ " - Search: {0}",
1707
+ this.searchResult.query?.contentPattern.pattern ?? ''
1708
+ ));
1709
+ append(messageEl, resultMsg);
1710
+ if (fileCount > 0) {
1711
+ if (disregardExcludesAndIgnores) {
1712
+ const excludesDisabledMessage = ' - ' + ( localizeWithPath(
1713
+ 'vs/workbench/contrib/search/browser/searchView',
1714
+ 'useIgnoresAndExcludesDisabled',
1715
+ "exclude settings and ignore files are disabled"
1716
+ )) + ' ';
1717
+ const enableExcludesButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1718
+ 'vs/workbench/contrib/search/browser/searchView',
1719
+ 'excludes.enable',
1720
+ "enable"
1721
+ )), this.onEnableExcludes.bind(this), ( localizeWithPath(
1722
+ 'vs/workbench/contrib/search/browser/searchView',
1723
+ 'useExcludesAndIgnoreFilesDescription',
1724
+ "Use Exclude Settings and Ignore Files"
1725
+ )))));
1726
+ append(messageEl, $('span', undefined, excludesDisabledMessage, '(', enableExcludesButton.element, ')'));
1727
+ }
1728
+ if (onlyOpenEditors) {
1729
+ const searchingInOpenMessage = ' - ' + ( localizeWithPath(
1730
+ 'vs/workbench/contrib/search/browser/searchView',
1731
+ 'onlyOpenEditors',
1732
+ "searching only in open files"
1733
+ )) + ' ';
1734
+ const disableOpenEditorsButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1735
+ 'vs/workbench/contrib/search/browser/searchView',
1736
+ 'openEditors.disable',
1737
+ "disable"
1738
+ )), this.onDisableSearchInOpenEditors.bind(this), ( localizeWithPath(
1739
+ 'vs/workbench/contrib/search/browser/searchView',
1740
+ 'disableOpenEditors',
1741
+ "Search in entire workspace"
1742
+ )))));
1743
+ append(messageEl, $('span', undefined, searchingInOpenMessage, '(', disableOpenEditorsButton.element, ')'));
1744
+ }
1745
+ append(messageEl, ' - ');
1746
+ const openInEditorTooltip = appendKeyBindingLabel(( localizeWithPath(
1747
+ 'vs/workbench/contrib/search/browser/searchView',
1748
+ 'openInEditor.tooltip',
1749
+ "Copy current search results to an editor"
1750
+ )), this.keybindingService.lookupKeybinding("search.action.openInEditor" ));
1751
+ const openInEditorButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1752
+ 'vs/workbench/contrib/search/browser/searchView',
1753
+ 'openInEditor.message',
1754
+ "Open in editor"
1755
+ )), () => this.instantiationService.invokeFunction(createEditorFromSearchResult, this.searchResult, this.searchIncludePattern.getValue(), this.searchExcludePattern.getValue(), this.searchIncludePattern.onlySearchInOpenEditors()), openInEditorTooltip)));
1756
+ append(messageEl, openInEditorButton.element);
1757
+ this.reLayout();
1758
+ }
1759
+ else if (!msgWasHidden) {
1760
+ hide(this.messagesElement);
1761
+ }
1762
+ }
1763
+ addMessage(message) {
1764
+ const messageBox = this.messagesElement.firstChild;
1765
+ if (!messageBox) {
1766
+ return;
1767
+ }
1768
+ append(messageBox, renderSearchMessage(message, this.instantiationService, this.notificationService, this.openerService, this.commandService, this.messageDisposables, () => this.triggerQueryChange()));
1769
+ }
1770
+ buildResultCountMessage(resultCount, fileCount) {
1771
+ if (resultCount === 1 && fileCount === 1) {
1772
+ return ( localizeWithPath(
1773
+ 'vs/workbench/contrib/search/browser/searchView',
1774
+ 'search.file.result',
1775
+ "{0} result in {1} file",
1776
+ resultCount,
1777
+ fileCount
1778
+ ));
1779
+ }
1780
+ else if (resultCount === 1) {
1781
+ return ( localizeWithPath(
1782
+ 'vs/workbench/contrib/search/browser/searchView',
1783
+ 'search.files.result',
1784
+ "{0} result in {1} files",
1785
+ resultCount,
1786
+ fileCount
1787
+ ));
1788
+ }
1789
+ else if (fileCount === 1) {
1790
+ return ( localizeWithPath(
1791
+ 'vs/workbench/contrib/search/browser/searchView',
1792
+ 'search.file.results',
1793
+ "{0} results in {1} file",
1794
+ resultCount,
1795
+ fileCount
1796
+ ));
1797
+ }
1798
+ else {
1799
+ return ( localizeWithPath(
1800
+ 'vs/workbench/contrib/search/browser/searchView',
1801
+ 'search.files.results',
1802
+ "{0} results in {1} files",
1803
+ resultCount,
1804
+ fileCount
1805
+ ));
1806
+ }
1807
+ }
1808
+ showSearchWithoutFolderMessage() {
1809
+ this.searchWithoutFolderMessageElement = this.clearMessage();
1810
+ const textEl = append(this.searchWithoutFolderMessageElement, $('p', undefined, ( localizeWithPath(
1811
+ 'vs/workbench/contrib/search/browser/searchView',
1812
+ 'searchWithoutFolder',
1813
+ "You have not opened or specified a folder. Only open files are currently searched - "
1814
+ ))));
1815
+ const openFolderButton = this.messageDisposables.add(( new SearchLinkButton(( localizeWithPath(
1816
+ 'vs/workbench/contrib/search/browser/searchView',
1817
+ 'openFolder',
1818
+ "Open Folder"
1819
+ )), () => {
1820
+ this.commandService.executeCommand(isMacintosh && isNative ? OpenFileFolderAction.ID : OpenFolderAction.ID).catch(err => onUnexpectedError(err));
1821
+ })));
1822
+ append(textEl, openFolderButton.element);
1823
+ }
1824
+ showEmptyStage(forceHideMessages = false) {
1825
+ const showingCancelled = (this.messagesElement.firstChild?.textContent?.indexOf(SEARCH_CANCELLED_MESSAGE) ?? -1) > -1;
1826
+ if (showingCancelled || forceHideMessages || !this.configurationService.getValue().search.searchOnType) {
1827
+ hide(this.messagesElement);
1828
+ }
1829
+ show(this.resultsElement);
1830
+ this.currentSelectedFileMatch = undefined;
1831
+ }
1832
+ shouldOpenInNotebookEditor(match, uri) {
1833
+ return match instanceof MatchInNotebook || (uri.scheme !== Schemas.untitled && this.notebookService.getContributedNotebookTypes(uri).length > 0);
1834
+ }
1835
+ onFocus(lineMatch, preserveFocus, sideBySide, pinned) {
1836
+ const useReplacePreview = this.configurationService.getValue().search.useReplacePreview;
1837
+ const resource = lineMatch instanceof Match ? lineMatch.parent().resource : lineMatch.resource;
1838
+ return (useReplacePreview && this.viewModel.isReplaceActive() && !!this.viewModel.replaceString && !(this.shouldOpenInNotebookEditor(lineMatch, resource))) ?
1839
+ this.replaceService.openReplacePreview(lineMatch, preserveFocus, sideBySide, pinned) :
1840
+ this.open(lineMatch, preserveFocus, sideBySide, pinned, resource);
1841
+ }
1842
+ async open(element, preserveFocus, sideBySide, pinned, resourceInput) {
1843
+ const selection = getEditorSelectionFromMatch(element, this.viewModel);
1844
+ const oldParentMatches = element instanceof Match ? element.parent().matches() : [];
1845
+ const resource = resourceInput ?? (element instanceof Match ? element.parent().resource : element.resource);
1846
+ let editor;
1847
+ const options = {
1848
+ preserveFocus,
1849
+ pinned,
1850
+ selection,
1851
+ revealIfVisible: true,
1852
+ };
1853
+ try {
1854
+ editor = await this.editorService.openEditor({
1855
+ resource: resource,
1856
+ options,
1857
+ }, sideBySide ? SIDE_GROUP : ACTIVE_GROUP);
1858
+ const editorControl = editor?.getControl();
1859
+ if (element instanceof Match && preserveFocus && isCodeEditor(editorControl)) {
1860
+ this.viewModel.searchResult.rangeHighlightDecorations.highlightRange(editorControl.getModel(), element.range());
1861
+ }
1862
+ else {
1863
+ this.viewModel.searchResult.rangeHighlightDecorations.removeHighlightRange();
1864
+ }
1865
+ }
1866
+ catch (err) {
1867
+ onUnexpectedError(err);
1868
+ return;
1869
+ }
1870
+ if (editor instanceof NotebookEditor) {
1871
+ const elemParent = element.parent();
1872
+ if (element instanceof Match) {
1873
+ if (element instanceof MatchInNotebook) {
1874
+ element.parent().showMatch(element);
1875
+ }
1876
+ else {
1877
+ const editorWidget = editor.getControl();
1878
+ if (editorWidget) {
1879
+ elemParent.bindNotebookEditorWidget(editorWidget);
1880
+ await elemParent.updateMatchesForEditorWidget();
1881
+ const matchIndex = oldParentMatches.findIndex(e => e.id() === element.id());
1882
+ const matches = elemParent.matches();
1883
+ const match = matchIndex >= matches.length ? matches[matches.length - 1] : matches[matchIndex];
1884
+ if (match instanceof MatchInNotebook) {
1885
+ elemParent.showMatch(match);
1886
+ if (!this.tree.getFocus().includes(match) || !this.tree.getSelection().includes(match)) {
1887
+ this.tree.setSelection([match], getSelectionKeyboardEvent());
1888
+ this.tree.setFocus([match]);
1889
+ }
1890
+ }
1891
+ }
1892
+ }
1893
+ }
1894
+ }
1895
+ }
1896
+ openEditorWithMultiCursor(element) {
1897
+ const resource = element instanceof Match ? element.parent().resource : element.resource;
1898
+ return this.editorService.openEditor({
1899
+ resource: resource,
1900
+ options: {
1901
+ preserveFocus: false,
1902
+ pinned: true,
1903
+ revealIfVisible: true
1904
+ }
1905
+ }).then(editor => {
1906
+ if (editor) {
1907
+ let fileMatch = null;
1908
+ if (element instanceof FileMatch) {
1909
+ fileMatch = element;
1910
+ }
1911
+ else if (element instanceof Match) {
1912
+ fileMatch = element.parent();
1913
+ }
1914
+ if (fileMatch) {
1915
+ const selections = ( fileMatch.matches().map(m => ( new Selection(
1916
+ m.range().startLineNumber,
1917
+ m.range().startColumn,
1918
+ m.range().endLineNumber,
1919
+ m.range().endColumn
1920
+ ))));
1921
+ const codeEditor = getCodeEditor(editor.getControl());
1922
+ if (codeEditor) {
1923
+ const multiCursorController = MultiCursorSelectionController.get(codeEditor);
1924
+ multiCursorController?.selectAllUsingSelections(selections);
1925
+ }
1926
+ }
1927
+ }
1928
+ this.viewModel.searchResult.rangeHighlightDecorations.removeHighlightRange();
1929
+ }, onUnexpectedError);
1930
+ }
1931
+ onUntitledDidDispose(resource) {
1932
+ if (!this.viewModel) {
1933
+ return;
1934
+ }
1935
+ let matches = this.viewModel.searchResult.matches();
1936
+ for (let i = 0, len = matches.length; i < len; i++) {
1937
+ if (( resource.toString()) === ( matches[i].resource.toString())) {
1938
+ this.viewModel.searchResult.remove(matches[i]);
1939
+ }
1940
+ }
1941
+ matches = this.viewModel.searchResult.matches(true);
1942
+ for (let i = 0, len = matches.length; i < len; i++) {
1943
+ if (( resource.toString()) === ( matches[i].resource.toString())) {
1944
+ this.viewModel.searchResult.remove(matches[i]);
1945
+ }
1946
+ }
1947
+ }
1948
+ onFilesChanged(e) {
1949
+ if (!this.viewModel || (this.searchConfig.sortOrder !== "modified" && !e.gotDeleted())) {
1950
+ return;
1951
+ }
1952
+ const matches = this.viewModel.searchResult.matches();
1953
+ if (e.gotDeleted()) {
1954
+ const deletedMatches = matches.filter(m => e.contains(m.resource, 2 ));
1955
+ this.viewModel.searchResult.remove(deletedMatches);
1956
+ }
1957
+ else {
1958
+ const changedMatches = matches.filter(m => e.contains(m.resource));
1959
+ if (changedMatches.length && this.searchConfig.sortOrder === "modified" ) {
1960
+ this.updateFileStats(changedMatches).then(() => this.refreshTree());
1961
+ }
1962
+ }
1963
+ }
1964
+ get searchConfig() {
1965
+ return this.configurationService.getValue('search');
1966
+ }
1967
+ clearHistory() {
1968
+ this.searchWidget.clearHistory();
1969
+ this.inputPatternExcludes.clearHistory();
1970
+ this.inputPatternIncludes.clearHistory();
1971
+ }
1972
+ saveState() {
1973
+ if (!this.searchWidget) {
1974
+ return;
1975
+ }
1976
+ const patternExcludes = this.inputPatternExcludes?.getValue().trim() ?? '';
1977
+ const patternIncludes = this.inputPatternIncludes?.getValue().trim() ?? '';
1978
+ const onlyOpenEditors = this.inputPatternIncludes?.onlySearchInOpenEditors() ?? false;
1979
+ const useExcludesAndIgnoreFiles = this.inputPatternExcludes?.useExcludesAndIgnoreFiles() ?? true;
1980
+ const preserveCase = this.viewModel.preserveCase;
1981
+ if (this.searchWidget.searchInput) {
1982
+ const isRegex = this.searchWidget.searchInput.getRegex();
1983
+ const isWholeWords = this.searchWidget.searchInput.getWholeWords();
1984
+ const isCaseSensitive = this.searchWidget.searchInput.getCaseSensitive();
1985
+ const contentPattern = this.searchWidget.searchInput.getValue();
1986
+ const isInNotebookCellInput = this.searchWidget.getNotebookFilters().codeInput;
1987
+ const isInNotebookCellOutput = this.searchWidget.getNotebookFilters().codeOutput;
1988
+ const isInNotebookMarkdownInput = this.searchWidget.getNotebookFilters().markupInput;
1989
+ const isInNotebookMarkdownPreview = this.searchWidget.getNotebookFilters().markupPreview;
1990
+ this.viewletState['query.contentPattern'] = contentPattern;
1991
+ this.viewletState['query.regex'] = isRegex;
1992
+ this.viewletState['query.wholeWords'] = isWholeWords;
1993
+ this.viewletState['query.caseSensitive'] = isCaseSensitive;
1994
+ this.viewletState['query.isInNotebookMarkdownInput'] = isInNotebookMarkdownInput;
1995
+ this.viewletState['query.isInNotebookMarkdownPreview'] = isInNotebookMarkdownPreview;
1996
+ this.viewletState['query.isInNotebookCellInput'] = isInNotebookCellInput;
1997
+ this.viewletState['query.isInNotebookCellOutput'] = isInNotebookCellOutput;
1998
+ }
1999
+ this.viewletState['query.folderExclusions'] = patternExcludes;
2000
+ this.viewletState['query.folderIncludes'] = patternIncludes;
2001
+ this.viewletState['query.useExcludesAndIgnoreFiles'] = useExcludesAndIgnoreFiles;
2002
+ this.viewletState['query.preserveCase'] = preserveCase;
2003
+ this.viewletState['query.onlyOpenEditors'] = onlyOpenEditors;
2004
+ const isReplaceShown = this.searchAndReplaceWidget.isReplaceShown();
2005
+ this.viewletState['view.showReplace'] = isReplaceShown;
2006
+ this.viewletState['view.treeLayout'] = this.isTreeLayoutViewVisible;
2007
+ this.viewletState['query.replaceText'] = isReplaceShown && this.searchWidget.getReplaceValue();
2008
+ this._saveSearchHistoryService();
2009
+ this.memento.saveMemento();
2010
+ super.saveState();
2011
+ }
2012
+ _saveSearchHistoryService() {
2013
+ if (this.searchWidget === undefined) {
2014
+ return;
2015
+ }
2016
+ const history = Object.create(null);
2017
+ const searchHistory = this.searchWidget.getSearchHistory();
2018
+ if (searchHistory && searchHistory.length) {
2019
+ history.search = searchHistory;
2020
+ }
2021
+ const replaceHistory = this.searchWidget.getReplaceHistory();
2022
+ if (replaceHistory && replaceHistory.length) {
2023
+ history.replace = replaceHistory;
2024
+ }
2025
+ const patternExcludesHistory = this.inputPatternExcludes.getHistory();
2026
+ if (patternExcludesHistory && patternExcludesHistory.length) {
2027
+ history.exclude = patternExcludesHistory;
2028
+ }
2029
+ const patternIncludesHistory = this.inputPatternIncludes.getHistory();
2030
+ if (patternIncludesHistory && patternIncludesHistory.length) {
2031
+ history.include = patternIncludesHistory;
2032
+ }
2033
+ this.searchHistoryService.save(history);
2034
+ }
2035
+ async retrieveFileStats() {
2036
+ const files = ( this.searchResult.matches(this.aiResultsVisible).filter(f => !f.fileStat).map(f => f.resolveFileStat(this.fileService)));
2037
+ await Promise.all(files);
2038
+ }
2039
+ async updateFileStats(elements) {
2040
+ const files = ( elements.map(f => f.resolveFileStat(this.fileService)));
2041
+ await Promise.all(files);
2042
+ }
2043
+ removeFileStats() {
2044
+ for (const fileMatch of this.searchResult.matches()) {
2045
+ fileMatch.fileStat = undefined;
2046
+ }
2047
+ for (const fileMatch of this.searchResult.matches(true)) {
2048
+ fileMatch.fileStat = undefined;
2049
+ }
2050
+ }
2051
+ dispose() {
2052
+ this.isDisposed = true;
2053
+ this.saveState();
2054
+ super.dispose();
2055
+ }
2056
+ };
2057
+ SearchView = SearchView_1 = ( __decorate([
2058
+ ( __param(1, IFileService)),
2059
+ ( __param(2, IEditorService)),
2060
+ ( __param(3, ICodeEditorService)),
2061
+ ( __param(4, IProgressService)),
2062
+ ( __param(5, INotificationService)),
2063
+ ( __param(6, IDialogService)),
2064
+ ( __param(7, ICommandService)),
2065
+ ( __param(8, IContextViewService)),
2066
+ ( __param(9, IInstantiationService)),
2067
+ ( __param(10, IViewDescriptorService)),
2068
+ ( __param(11, IConfigurationService)),
2069
+ ( __param(12, IWorkspaceContextService)),
2070
+ ( __param(13, ISearchViewModelWorkbenchService)),
2071
+ ( __param(14, IContextKeyService)),
2072
+ ( __param(15, IReplaceService)),
2073
+ ( __param(16, ITextFileService)),
2074
+ ( __param(17, IPreferencesService)),
2075
+ ( __param(18, IThemeService)),
2076
+ ( __param(19, ISearchHistoryService)),
2077
+ ( __param(20, IContextMenuService)),
2078
+ ( __param(21, IAccessibilityService)),
2079
+ ( __param(22, IKeybindingService)),
2080
+ ( __param(23, IStorageService)),
2081
+ ( __param(24, IOpenerService)),
2082
+ ( __param(25, ITelemetryService)),
2083
+ ( __param(26, INotebookService)),
2084
+ ( __param(27, ILogService)),
2085
+ ( __param(28, IAccessibilitySignalService))
2086
+ ], SearchView));
2087
+ class SearchLinkButton extends Disposable {
2088
+ constructor(label, handler, tooltip) {
2089
+ super();
2090
+ this.element = $('a.pointer', { tabindex: 0 }, label);
2091
+ this._register(setupCustomHover(getDefaultHoverDelegate('mouse'), this.element, tooltip));
2092
+ this.addEventHandlers(handler);
2093
+ }
2094
+ addEventHandlers(handler) {
2095
+ const wrappedHandler = (e) => {
2096
+ EventHelper.stop(e, false);
2097
+ handler(e);
2098
+ };
2099
+ this._register(addDisposableListener(this.element, EventType.CLICK, wrappedHandler));
2100
+ this._register(addDisposableListener(this.element, EventType.KEY_DOWN, e => {
2101
+ const event = ( new StandardKeyboardEvent(e));
2102
+ if (event.equals(10 ) || event.equals(3 )) {
2103
+ wrappedHandler(e);
2104
+ event.preventDefault();
2105
+ event.stopPropagation();
2106
+ }
2107
+ }));
2108
+ }
2109
+ }
2110
+ function getEditorSelectionFromMatch(element, viewModel) {
2111
+ let match = null;
2112
+ if (element instanceof Match) {
2113
+ match = element;
2114
+ }
2115
+ if (element instanceof FileMatch && element.count() > 0) {
2116
+ match = element.matches()[element.matches().length - 1];
2117
+ }
2118
+ if (match) {
2119
+ const range = match.range();
2120
+ if (viewModel.isReplaceActive() && !!viewModel.replaceString) {
2121
+ const replaceString = match.replaceString;
2122
+ return {
2123
+ startLineNumber: range.startLineNumber,
2124
+ startColumn: range.startColumn,
2125
+ endLineNumber: range.startLineNumber,
2126
+ endColumn: range.startColumn + replaceString.length
2127
+ };
2128
+ }
2129
+ return range;
2130
+ }
2131
+ return undefined;
2132
+ }
2133
+ function getSelectionTextFromEditor(allowUnselectedWord, activeEditor) {
2134
+ let editor = activeEditor;
2135
+ if (isDiffEditor(editor)) {
2136
+ if (editor.getOriginalEditor().hasTextFocus()) {
2137
+ editor = editor.getOriginalEditor();
2138
+ }
2139
+ else {
2140
+ editor = editor.getModifiedEditor();
2141
+ }
2142
+ }
2143
+ if (!isCodeEditor(editor) || !editor.hasModel()) {
2144
+ return null;
2145
+ }
2146
+ const range = editor.getSelection();
2147
+ if (!range) {
2148
+ return null;
2149
+ }
2150
+ if (range.isEmpty()) {
2151
+ if (allowUnselectedWord) {
2152
+ const wordAtPosition = editor.getModel().getWordAtPosition(range.getStartPosition());
2153
+ return wordAtPosition?.word ?? null;
2154
+ }
2155
+ else {
2156
+ return null;
2157
+ }
2158
+ }
2159
+ let searchText = '';
2160
+ for (let i = range.startLineNumber; i <= range.endLineNumber; i++) {
2161
+ let lineText = editor.getModel().getLineContent(i);
2162
+ if (i === range.endLineNumber) {
2163
+ lineText = lineText.substring(0, range.endColumn - 1);
2164
+ }
2165
+ if (i === range.startLineNumber) {
2166
+ lineText = lineText.substring(range.startColumn - 1);
2167
+ }
2168
+ if (i !== range.startLineNumber) {
2169
+ lineText = '\n' + lineText;
2170
+ }
2171
+ searchText += lineText;
2172
+ }
2173
+ return searchText;
2174
+ }
2175
+ export { SearchView, getEditorSelectionFromMatch, getSelectionTextFromEditor };