@codingame/monaco-vscode-api 26.2.2 → 28.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1167) hide show
  1. package/missing-services.js +507 -27
  2. package/package.json +9 -9
  3. package/service-override/tools/editor.d.ts +4 -2
  4. package/service-override/tools/editor.js +1 -0
  5. package/services.d.ts +16 -1
  6. package/services.js +21 -4
  7. package/vscode/product.json.js +1 -1
  8. package/vscode/src/vs/base/browser/dom.d.ts +0 -15
  9. package/vscode/src/vs/base/browser/dom.js +3 -42
  10. package/vscode/src/vs/base/browser/pixelRatio.js +4 -1
  11. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +3 -3
  12. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.css +1 -1
  13. package/vscode/src/vs/base/browser/ui/animations/animations.d.ts +40 -0
  14. package/vscode/src/vs/base/browser/ui/animations/animations.js +373 -0
  15. package/vscode/src/vs/base/browser/ui/button/button.js +11 -4
  16. package/vscode/src/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  17. package/vscode/src/vs/base/browser/ui/contextview/contextview.d.ts +3 -42
  18. package/vscode/src/vs/base/browser/ui/contextview/contextview.js +48 -126
  19. package/vscode/src/vs/base/browser/ui/dialog/dialog.css +19 -2
  20. package/vscode/src/vs/base/browser/ui/dialog/dialog.d.ts +1 -0
  21. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +2 -0
  22. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.css +5 -0
  23. package/vscode/src/vs/base/browser/ui/dropdown/dropdown.js +2 -1
  24. package/vscode/src/vs/base/browser/ui/grid/grid.d.ts +2 -1
  25. package/vscode/src/vs/base/browser/ui/grid/grid.js +2 -2
  26. package/vscode/src/vs/base/browser/ui/grid/gridview.d.ts +1 -1
  27. package/vscode/src/vs/base/browser/ui/grid/gridview.js +6 -2
  28. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.css +1 -0
  29. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +8 -3
  30. package/vscode/src/vs/base/browser/ui/list/listView.js +9 -2
  31. package/vscode/src/vs/base/browser/ui/menu/menu.d.ts +1 -1
  32. package/vscode/src/vs/base/browser/ui/menu/menu.js +12 -10
  33. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.d.ts +1 -0
  34. package/vscode/src/vs/base/browser/ui/progressbar/progressbar.js +6 -0
  35. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.css +2 -2
  36. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.d.ts +1 -0
  37. package/vscode/src/vs/base/browser/ui/selectBox/selectBox.js +2 -1
  38. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.css +42 -5
  39. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +69 -35
  40. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxNative.js +8 -3
  41. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +1 -1
  42. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  43. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +1 -1
  44. package/vscode/src/vs/base/browser/ui/tree/abstractTree.d.ts +3 -0
  45. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +24 -19
  46. package/vscode/src/vs/base/browser/ui/tree/asyncDataTree.js +3 -1
  47. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +1 -1
  48. package/vscode/src/vs/base/common/actions.d.ts +4 -0
  49. package/vscode/src/vs/base/common/actions.js +15 -1
  50. package/vscode/src/vs/base/common/codicons.d.ts +2 -0
  51. package/vscode/src/vs/base/common/codiconsLibrary.d.ts +2 -0
  52. package/vscode/src/vs/base/common/codiconsLibrary.js +2 -0
  53. package/vscode/src/vs/base/common/date.js +40 -40
  54. package/vscode/src/vs/base/common/defaultAccount.d.ts +5 -0
  55. package/vscode/src/vs/base/common/errorMessage.js +6 -6
  56. package/vscode/src/vs/base/common/event.d.ts +3 -2
  57. package/vscode/src/vs/base/common/event.js +40 -1
  58. package/vscode/src/vs/base/common/jsonErrorMessages.js +9 -9
  59. package/vscode/src/vs/base/common/keyCodes.js +4 -2
  60. package/vscode/src/vs/base/common/keybindingLabels.js +20 -20
  61. package/vscode/src/vs/base/common/layout.d.ts +67 -0
  62. package/vscode/src/vs/base/common/layout.js +96 -0
  63. package/vscode/src/vs/base/common/lifecycle.d.ts +32 -0
  64. package/vscode/src/vs/base/common/lifecycle.js +58 -1
  65. package/vscode/src/vs/base/common/mime.js +7 -5
  66. package/vscode/src/vs/base/common/parsers.d.ts +32 -0
  67. package/vscode/src/vs/base/common/parsers.js +54 -0
  68. package/vscode/src/vs/base/common/platform.d.ts +1 -0
  69. package/vscode/src/vs/base/common/product.d.ts +2 -0
  70. package/vscode/src/vs/base/common/strings.d.ts +0 -30
  71. package/vscode/src/vs/base/common/strings.js +0 -11
  72. package/vscode/src/vs/base/common/uri.js +5 -1
  73. package/vscode/src/vs/base/common/yaml.d.ts +29 -53
  74. package/vscode/src/vs/base/common/yaml.js +1119 -502
  75. package/vscode/src/vs/base/parts/ipc/common/ipc.js +3 -2
  76. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +2 -2
  77. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.d.ts +1 -1
  78. package/vscode/src/vs/editor/browser/controller/editContext/native/nativeEditContext.js +21 -11
  79. package/vscode/src/vs/editor/browser/controller/editContext/native/screenReaderSupport.js +1 -1
  80. package/vscode/src/vs/editor/browser/controller/editContext/screenReaderUtils.js +4 -4
  81. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContext.js +1 -1
  82. package/vscode/src/vs/editor/browser/controller/editContext/textArea/textAreaEditContextInput.js +1 -1
  83. package/vscode/src/vs/editor/browser/coreCommands.js +3 -3
  84. package/vscode/src/vs/editor/browser/editorExtensions.js +9 -9
  85. package/vscode/src/vs/editor/browser/gpu/renderStrategy/fullFileRenderStrategy.js +3 -0
  86. package/vscode/src/vs/editor/browser/gpu/renderStrategy/viewportRenderStrategy.js +3 -0
  87. package/vscode/src/vs/editor/browser/gpu/viewGpuContext.js +1 -1
  88. package/vscode/src/vs/editor/browser/services/inlineCompletionsService.js +4 -4
  89. package/vscode/src/vs/editor/browser/view/viewController.js +29 -9
  90. package/vscode/src/vs/editor/browser/view.d.ts +3 -1
  91. package/vscode/src/vs/editor/browser/view.js +10 -7
  92. package/vscode/src/vs/editor/browser/viewParts/minimap/minimap.css +5 -1
  93. package/vscode/src/vs/editor/browser/viewParts/viewLines/viewLine.js +1 -1
  94. package/vscode/src/vs/editor/browser/viewParts/whitespace/whitespace.js +0 -3
  95. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.d.ts +3 -1
  96. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +8 -4
  97. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css +1 -0
  98. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.d.ts +2 -1
  99. package/vscode/src/vs/editor/browser/widget/codeEditor/embeddedCodeEditorWidget.js +4 -2
  100. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +12 -12
  101. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +12 -12
  102. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +1 -1
  103. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +4 -4
  104. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +5 -5
  105. package/vscode/src/vs/editor/browser/widget/diffEditor/diffProviderFactoryService.js +1 -0
  106. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +7 -7
  107. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +4 -4
  108. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +1 -1
  109. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +5 -5
  110. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +3 -3
  111. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +1 -1
  112. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +50 -50
  113. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +10 -3
  114. package/vscode/src/vs/editor/common/config/editorOptions.js +428 -385
  115. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +72 -72
  116. package/vscode/src/vs/editor/common/core/edits/stringEdit.d.ts +5 -0
  117. package/vscode/src/vs/editor/common/core/edits/stringEdit.js +19 -21
  118. package/vscode/src/vs/editor/common/core/ranges/offsetRange.d.ts +4 -0
  119. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.d.ts +7 -1
  120. package/vscode/src/vs/editor/common/cursor/cursorMoveCommands.js +93 -3
  121. package/vscode/src/vs/editor/common/editorContextKeys.d.ts +1 -0
  122. package/vscode/src/vs/editor/common/editorContextKeys.js +49 -48
  123. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -0
  124. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +8 -1
  125. package/vscode/src/vs/editor/common/languageSelector.d.ts +1 -0
  126. package/vscode/src/vs/editor/common/languageSelector.js +15 -1
  127. package/vscode/src/vs/editor/common/languages/modesRegistry.js +1 -1
  128. package/vscode/src/vs/editor/common/languages.d.ts +13 -0
  129. package/vscode/src/vs/editor/common/languages.js +56 -56
  130. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsImpl.js +1 -1
  131. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/bracketPairsTree/bracketPairsTree.js +1 -1
  132. package/vscode/src/vs/editor/common/model/bracketPairsTextModelPart/colorizedBracketPairsDecorationProvider.js +1 -1
  133. package/vscode/src/vs/editor/common/model/editStack.js +1 -1
  134. package/vscode/src/vs/editor/common/model/prefixSumComputer.js +6 -1
  135. package/vscode/src/vs/editor/common/model/textModel.d.ts +9 -4
  136. package/vscode/src/vs/editor/common/model/textModel.js +99 -34
  137. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.d.ts +3 -2
  138. package/vscode/src/vs/editor/common/model/tokens/abstractSyntaxTokenBackend.js +3 -0
  139. package/vscode/src/vs/editor/common/model/tokens/annotations.js +9 -1
  140. package/vscode/src/vs/editor/common/model/tokens/tokenizationFontDecorationsProvider.js +2 -2
  141. package/vscode/src/vs/editor/common/model.d.ts +2 -1
  142. package/vscode/src/vs/editor/common/standalone/standaloneEnums.d.ts +2 -1
  143. package/vscode/src/vs/editor/common/standalone/standaloneEnums.js +1 -0
  144. package/vscode/src/vs/editor/common/standaloneStrings.d.ts +1 -0
  145. package/vscode/src/vs/editor/common/standaloneStrings.js +55 -49
  146. package/vscode/src/vs/editor/common/textModelEvents.d.ts +25 -5
  147. package/vscode/src/vs/editor/common/textModelEvents.js +13 -4
  148. package/vscode/src/vs/editor/common/viewLayout/lineHeights.d.ts +14 -4
  149. package/vscode/src/vs/editor/common/viewLayout/lineHeights.js +192 -91
  150. package/vscode/src/vs/editor/common/viewLayout/linesLayout.d.ts +3 -3
  151. package/vscode/src/vs/editor/common/viewLayout/linesLayout.js +11 -15
  152. package/vscode/src/vs/editor/common/viewLayout/viewLayout.d.ts +3 -3
  153. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +2 -2
  154. package/vscode/src/vs/editor/common/viewModel/inlineDecorations.d.ts +71 -7
  155. package/vscode/src/vs/editor/common/viewModel/inlineDecorations.js +180 -14
  156. package/vscode/src/vs/editor/common/viewModel/minimapTokensColorTracker.js +8 -2
  157. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.d.ts +2 -2
  158. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +31 -82
  159. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.d.ts +2 -23
  160. package/vscode/src/vs/editor/common/viewModel/viewModelDecorations.js +19 -114
  161. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.d.ts +11 -0
  162. package/vscode/src/vs/editor/common/viewModel/viewModelImpl.js +174 -141
  163. package/vscode/src/vs/editor/common/viewModel/viewModelLines.d.ts +1 -0
  164. package/vscode/src/vs/editor/common/viewModel/viewModelLines.js +16 -3
  165. package/vscode/src/vs/editor/common/viewModel.d.ts +6 -3
  166. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +6 -6
  167. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +6 -6
  168. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +2 -2
  169. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +1 -1
  170. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +17 -17
  171. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +1 -1
  172. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +19 -19
  173. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +3 -3
  174. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.d.ts +9 -1
  175. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +56 -13
  176. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +8 -8
  177. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.d.ts +2 -0
  178. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionModel.js +23 -3
  179. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.d.ts +2 -0
  180. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +59 -52
  181. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +3 -2
  182. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerModel.d.ts +2 -1
  183. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerModel.js +6 -4
  184. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerCloseButton.js +1 -1
  185. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerHeader.js +1 -1
  186. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerSaturationBox.js +2 -2
  187. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerParts/colorPickerStrip.js +2 -2
  188. package/vscode/src/vs/editor/contrib/colorPicker/browser/hoverColorPicker/hoverColorPickerParticipant.js +1 -1
  189. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPicker/standaloneColorPickerActions.js +7 -7
  190. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +6 -6
  191. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +10 -10
  192. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +2 -2
  193. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +4 -4
  194. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -9
  195. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +5 -5
  196. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +3 -3
  197. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.css +1 -1
  198. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +2 -2
  199. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +1 -1
  200. package/vscode/src/vs/editor/contrib/find/browser/findController.d.ts +25 -1
  201. package/vscode/src/vs/editor/contrib/find/browser/findController.js +38 -20
  202. package/vscode/src/vs/editor/contrib/find/browser/findDecorations.js +1 -1
  203. package/vscode/src/vs/editor/contrib/find/browser/findModel.d.ts +5 -0
  204. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +2 -1
  205. package/vscode/src/vs/editor/contrib/find/browser/findOptionsWidget.css +1 -1
  206. package/vscode/src/vs/editor/contrib/find/browser/findWidget.css +5 -7
  207. package/vscode/src/vs/editor/contrib/find/browser/findWidget.d.ts +29 -1
  208. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +101 -33
  209. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.css +39 -3
  210. package/vscode/src/vs/editor/contrib/floatingMenu/browser/floatingMenu.js +11 -7
  211. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -20
  212. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +9 -9
  213. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.d.ts +2 -1
  214. package/vscode/src/vs/editor/contrib/folding/browser/foldingModel.js +1 -0
  215. package/vscode/src/vs/editor/contrib/folding/browser/hiddenRangeModel.d.ts +2 -1
  216. package/vscode/src/vs/editor/contrib/folding/browser/hiddenRangeModel.js +1 -0
  217. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +3 -3
  218. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +2 -2
  219. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +8 -8
  220. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +14 -13
  221. package/vscode/src/vs/editor/contrib/gotoError/browser/markerSelectionStatus.d.ts +1 -0
  222. package/vscode/src/vs/editor/contrib/gotoError/browser/markerSelectionStatus.js +60 -0
  223. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +33 -33
  224. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +1 -1
  225. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +3 -3
  226. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +3 -3
  227. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +4 -4
  228. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +8 -8
  229. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +3 -3
  230. package/vscode/src/vs/editor/contrib/gpu/browser/gpuActions.js +4 -4
  231. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +3 -3
  232. package/vscode/src/vs/editor/contrib/hover/browser/hover.css +6 -3
  233. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +2 -2
  234. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.d.ts +1 -0
  235. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +4 -3
  236. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +22 -22
  237. package/vscode/src/vs/editor/contrib/hover/browser/hoverContribution.js +6 -0
  238. package/vscode/src/vs/editor/contrib/hover/browser/hoverCopyButton.js +2 -2
  239. package/vscode/src/vs/editor/contrib/hover/browser/hoverUtils.js +8 -4
  240. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +27 -18
  241. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +5 -5
  242. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +2 -2
  243. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +18 -18
  244. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +5 -5
  245. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/commands.js +21 -21
  246. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/common.d.ts +4 -0
  247. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/common.js +11 -0
  248. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionContextKeys.js +13 -13
  249. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/controller/inlineCompletionsController.js +4 -2
  250. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/hoverParticipant.js +2 -2
  251. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hintsWidget/inlineCompletionsHintsWidget.js +4 -4
  252. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.d.ts +6 -1
  253. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsModel.js +41 -13
  254. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.d.ts +10 -3
  255. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineCompletionsSource.js +44 -9
  256. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.d.ts +18 -7
  257. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/inlineSuggestionItem.js +79 -37
  258. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.d.ts +1 -0
  259. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/provideInlineCompletions.js +53 -1
  260. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/renameSymbolProcessor.js +5 -3
  261. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/textModelValueReference.d.ts +30 -0
  262. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/model/textModelValueReference.js +65 -0
  263. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.d.ts +1 -1
  264. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorMenu.js +27 -20
  265. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.d.ts +9 -3
  266. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/components/gutterIndicatorView.js +30 -15
  267. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditWithChanges.d.ts +3 -3
  268. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsView.js +20 -7
  269. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViewProducer.js +4 -5
  270. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.d.ts +3 -1
  271. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsSideBySideView.js +6 -3
  272. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.d.ts +4 -2
  273. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/inlineEditsWordReplacementView.js +17 -9
  274. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.d.ts +7 -1
  275. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/inlineEditsLongDistanceHint.js +74 -39
  276. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.d.ts +6 -0
  277. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/inlineEditsViews/longDistanceHint/longDistancePreviewEditor.js +3 -2
  278. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/theme.js +20 -20
  279. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/utils/utils.js +2 -2
  280. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/view/inlineEdits/view.css +14 -0
  281. package/vscode/src/vs/editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js +1 -1
  282. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +1 -1
  283. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -31
  284. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +2 -2
  285. package/vscode/src/vs/editor/contrib/links/browser/links.js +6 -6
  286. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +1 -1
  287. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +22 -22
  288. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.css +2 -0
  289. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +1 -1
  290. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsModel.js +1 -1
  291. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +4 -4
  292. package/vscode/src/vs/editor/contrib/peekView/browser/media/peekViewWidget.css +4 -0
  293. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +19 -18
  294. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +1 -1
  295. package/vscode/src/vs/editor/contrib/quickAccess/browser/editorNavigationQuickAccess.js +9 -1
  296. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +20 -10
  297. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +32 -32
  298. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +2 -2
  299. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +11 -11
  300. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.css +1 -0
  301. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +8 -8
  302. package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.d.ts +1 -0
  303. package/vscode/src/vs/editor/contrib/semanticTokens/browser/documentSemanticTokens.js +42 -24
  304. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +4 -4
  305. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +4 -4
  306. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +4 -4
  307. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScroll.css +1 -1
  308. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +11 -11
  309. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.d.ts +1 -0
  310. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +5 -1
  311. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollWidget.js +5 -5
  312. package/vscode/src/vs/editor/contrib/suggest/browser/media/suggest.css +3 -1
  313. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +9 -9
  314. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +11 -11
  315. package/vscode/src/vs/editor/contrib/suggest/browser/suggestModel.js +3 -1
  316. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +22 -17
  317. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +4 -2
  318. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +2 -2
  319. package/vscode/src/vs/editor/contrib/suggest/browser/wordContextKey.js +1 -1
  320. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.css +34 -34
  321. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +33 -33
  322. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +4 -4
  323. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +1 -1
  324. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/bannerController.js +1 -1
  325. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +24 -24
  326. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +5 -5
  327. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +9 -9
  328. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +3 -3
  329. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +3 -3
  330. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.d.ts +3 -2
  331. package/vscode/src/vs/editor/standalone/browser/standaloneCodeEditor.js +10 -6
  332. package/vscode/src/vs/editor/standalone/browser/standaloneServices.d.ts +3 -3
  333. package/vscode/src/vs/editor/standalone/browser/standaloneServices.js +71 -65
  334. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.d.ts +7 -0
  335. package/vscode/src/vs/platform/accessibility/browser/accessibilityService.js +38 -4
  336. package/vscode/src/vs/platform/accessibility/browser/accessibleView.d.ts +7 -1
  337. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +6 -0
  338. package/vscode/src/vs/platform/accessibility/common/accessibility.service.d.ts +2 -0
  339. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +62 -62
  340. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +6 -6
  341. package/vscode/src/vs/platform/actionWidget/browser/actionList.d.ts +104 -4
  342. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +533 -56
  343. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.css +89 -14
  344. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.d.ts +6 -2
  345. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +133 -10
  346. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.service.d.ts +2 -2
  347. package/vscode/src/vs/platform/actions/browser/floatingMenu.js +1 -1
  348. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.d.ts +2 -0
  349. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +15 -4
  350. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +11 -0
  351. package/vscode/src/vs/platform/actions/browser/toolbar.js +27 -21
  352. package/vscode/src/vs/platform/actions/common/actions.d.ts +9 -1
  353. package/vscode/src/vs/platform/actions/common/actions.js +25 -2
  354. package/vscode/src/vs/platform/actions/common/menuResetAction.js +1 -1
  355. package/vscode/src/vs/platform/actions/common/menuService.js +2 -2
  356. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +11 -4
  357. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +24 -12
  358. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +1 -1
  359. package/vscode/src/vs/platform/contextkey/common/contextkey.js +26 -12
  360. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +9 -9
  361. package/vscode/src/vs/platform/contextkey/common/scanner.js +5 -5
  362. package/vscode/src/vs/platform/contextview/browser/contextView.d.ts +2 -0
  363. package/vscode/src/vs/platform/contextview/browser/contextView.service.d.ts +2 -1
  364. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.d.ts +4 -1
  365. package/vscode/src/vs/platform/defaultAccount/common/defaultAccount.service.d.ts +4 -1
  366. package/vscode/src/vs/platform/dialogs/common/dialogs.d.ts +11 -0
  367. package/vscode/src/vs/platform/dialogs/common/dialogs.js +9 -9
  368. package/vscode/src/vs/platform/dnd/browser/dnd.js +1 -1
  369. package/vscode/src/vs/platform/editor/common/editor.d.ts +32 -0
  370. package/vscode/src/vs/platform/environment/common/argv.d.ts +1 -0
  371. package/vscode/src/vs/platform/environment/common/environment.service.d.ts +0 -1
  372. package/vscode/src/vs/platform/environment/common/environmentService.d.ts +0 -1
  373. package/vscode/src/vs/platform/extensionManagement/common/extensionEnablementService.js +1 -1
  374. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +14 -14
  375. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +1 -1
  376. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +7 -7
  377. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +21 -21
  378. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +1 -0
  379. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.d.ts +12 -1
  380. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +15 -4
  381. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +2 -2
  382. package/vscode/src/vs/platform/files/common/files.js +6 -6
  383. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +1 -1
  384. package/vscode/src/vs/platform/hover/browser/hover.css +1 -1
  385. package/vscode/src/vs/platform/hover/browser/hoverService.js +1 -1
  386. package/vscode/src/vs/platform/hover/browser/hoverWidget.js +3 -2
  387. package/vscode/src/vs/platform/hover/browser/updatableHoverWidget.js +1 -1
  388. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +5 -5
  389. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +1 -1
  390. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +3 -3
  391. package/vscode/src/vs/platform/list/browser/listService.js +25 -25
  392. package/vscode/src/vs/platform/log/common/log.js +6 -6
  393. package/vscode/src/vs/platform/markers/common/markerService.js +2 -2
  394. package/vscode/src/vs/platform/markers/common/markers.js +6 -6
  395. package/vscode/src/vs/platform/mcp/common/mcpManagement.d.ts +2 -1
  396. package/vscode/src/vs/platform/mcp/common/mcpManagementIpc.d.ts +42 -0
  397. package/vscode/src/vs/platform/mcp/common/mcpManagementIpc.js +105 -0
  398. package/vscode/src/vs/platform/mcp/common/mcpManagementService.d.ts +130 -0
  399. package/vscode/src/vs/platform/mcp/common/mcpManagementService.js +666 -0
  400. package/vscode/src/vs/platform/mcp/common/mcpPlatformTypes.d.ts +12 -0
  401. package/vscode/src/vs/platform/mcp/common/mcpResourceScannerService.service.d.ts +1 -0
  402. package/vscode/src/vs/platform/mcp/common/modelContextProtocol.d.ts +2917 -0
  403. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.d.ts +1 -0
  404. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.config.contribution.js +32 -0
  405. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.d.ts +44 -0
  406. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.js +62 -0
  407. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.service.d.ts +18 -0
  408. package/vscode/src/vs/platform/meteredConnection/common/meteredConnection.service.js +6 -0
  409. package/vscode/src/vs/platform/native/common/native.d.ts +43 -5
  410. package/vscode/src/vs/platform/notification/common/notification.js +3 -3
  411. package/vscode/src/vs/platform/observable/common/platformObservableUtils.js +10 -2
  412. package/vscode/src/vs/platform/product/common/product.js +3 -3
  413. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css +13 -1
  414. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +10 -10
  415. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +5 -5
  416. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.d.ts +9 -0
  417. package/vscode/src/vs/platform/quickinput/browser/quickInputBox.js +15 -4
  418. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +77 -15
  419. package/vscode/src/vs/platform/quickinput/browser/quickInputList.js +6 -6
  420. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +1 -1
  421. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +2 -2
  422. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeAccessibilityProvider.js +1 -1
  423. package/vscode/src/vs/platform/quickinput/browser/tree/quickInputTreeController.js +1 -1
  424. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.d.ts +1 -0
  425. package/vscode/src/vs/platform/quickinput/browser/tree/quickTree.js +5 -1
  426. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +19 -0
  427. package/vscode/src/vs/platform/remote/common/remoteHosts.d.ts +13 -0
  428. package/vscode/src/vs/platform/remote/common/remoteHosts.js +11 -1
  429. package/vscode/src/vs/platform/request/common/request.js +19 -19
  430. package/vscode/src/vs/platform/telemetry/common/telemetryUtils.js +8 -2
  431. package/vscode/src/vs/platform/terminal/common/terminal.d.ts +13 -2
  432. package/vscode/src/vs/platform/terminal/common/terminal.js +2 -0
  433. package/vscode/src/vs/platform/terminal/common/terminal.service.d.ts +1 -1
  434. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +31 -31
  435. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +1 -1
  436. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.d.ts +0 -13
  437. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +2 -2
  438. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +3 -3
  439. package/vscode/src/vs/platform/theme/common/colorUtils.js +2 -2
  440. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +18 -18
  441. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +8 -8
  442. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +95 -95
  443. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +51 -51
  444. package/vscode/src/vs/platform/theme/common/colors/listColors.js +36 -36
  445. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +8 -8
  446. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +11 -11
  447. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +16 -16
  448. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +9 -9
  449. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +3 -3
  450. package/vscode/src/vs/platform/theme/common/iconRegistry.js +6 -6
  451. package/vscode/src/vs/platform/theme/common/sizeRegistry.d.ts +2 -0
  452. package/vscode/src/vs/platform/theme/common/sizeUtils.d.ts +90 -0
  453. package/vscode/src/vs/platform/theme/common/sizeUtils.js +142 -0
  454. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.d.ts +11 -0
  455. package/vscode/src/vs/platform/theme/common/sizes/baseSizes.js +18 -0
  456. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +42 -42
  457. package/vscode/src/vs/platform/tunnel/common/tunnel.js +4 -3
  458. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +20 -20
  459. package/vscode/src/vs/platform/update/common/update.d.ts +14 -6
  460. package/vscode/src/vs/platform/update/common/update.js +4 -3
  461. package/vscode/src/vs/platform/update/common/update.service.d.ts +5 -2
  462. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +1 -1
  463. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +2 -2
  464. package/vscode/src/vs/platform/userDataSync/common/keybindingsSync.js +2 -2
  465. package/vscode/src/vs/platform/userDataSync/common/settingsSync.js +1 -1
  466. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +5 -5
  467. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +1 -1
  468. package/vscode/src/vs/platform/userInteraction/browser/userInteractionService.d.ts +25 -0
  469. package/vscode/src/vs/platform/userInteraction/browser/userInteractionService.service.d.ts +28 -0
  470. package/vscode/src/vs/platform/userInteraction/browser/userInteractionService.service.js +6 -0
  471. package/vscode/src/vs/platform/userInteraction/browser/userInteractionServiceImpl.d.ts +13 -0
  472. package/vscode/src/vs/platform/userInteraction/browser/userInteractionServiceImpl.js +62 -0
  473. package/vscode/src/vs/platform/window/common/window.d.ts +1 -0
  474. package/vscode/src/vs/platform/workspace/common/workspace.d.ts +1 -7
  475. package/vscode/src/vs/platform/workspace/common/workspace.js +3 -16
  476. package/vscode/src/vs/platform/workspace/common/workspace.service.d.ts +4 -0
  477. package/vscode/src/vs/sessions/contrib/agentFeedback/browser/agentFeedbackService.service.d.ts +47 -0
  478. package/vscode/src/vs/{workbench/services/layout/common/workbenchModeService.service.js → sessions/contrib/agentFeedback/browser/agentFeedbackService.service.js} +2 -2
  479. package/vscode/src/vs/sessions/contrib/chat/browser/sessionTargetPicker.d.ts +73 -0
  480. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.service.d.ts +37 -0
  481. package/vscode/src/vs/sessions/contrib/chat/browser/sessionsConfigurationService.service.js +6 -0
  482. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.service.d.ts +47 -0
  483. package/vscode/src/vs/sessions/contrib/sessions/browser/sessionsManagementService.service.js +6 -0
  484. package/vscode/src/vs/workbench/api/browser/statusBarExtensionPoint.js +12 -12
  485. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +145 -7
  486. package/vscode/src/vs/workbench/api/common/extHost.common.services.js +6 -0
  487. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +250 -12
  488. package/vscode/src/vs/workbench/api/common/extHost.protocol.js +17 -3
  489. package/vscode/src/vs/workbench/api/common/extHostAuthentication.js +6 -5
  490. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.d.ts +23 -3
  491. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +68 -5
  492. package/vscode/src/vs/workbench/api/common/extHostChatContext.js +34 -13
  493. package/vscode/src/vs/workbench/api/common/extHostChatDebug.d.ts +22 -0
  494. package/vscode/src/vs/workbench/api/common/extHostChatDebug.js +287 -0
  495. package/vscode/src/vs/workbench/api/common/extHostChatSessions.d.ts +4 -12
  496. package/vscode/src/vs/workbench/api/common/extHostChatSessions.js +158 -139
  497. package/vscode/src/vs/workbench/api/common/extHostComments.js +1 -0
  498. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +1 -1
  499. package/vscode/src/vs/workbench/api/common/extHostDocuments.d.ts +1 -1
  500. package/vscode/src/vs/workbench/api/common/extHostDocuments.js +6 -6
  501. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +6 -3
  502. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.d.ts +31 -0
  503. package/vscode/src/vs/workbench/api/common/extHostGitExtensionService.js +167 -0
  504. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.d.ts +1 -0
  505. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +41 -3
  506. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +0 -3
  507. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.d.ts +1 -1
  508. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +7 -4
  509. package/vscode/src/vs/workbench/api/common/extHostLogService.js +1 -1
  510. package/vscode/src/vs/workbench/api/common/extHostMcp.d.ts +4 -0
  511. package/vscode/src/vs/workbench/api/common/extHostMcp.js +15 -1
  512. package/vscode/src/vs/workbench/api/common/extHostMeteredConnection.d.ts +19 -0
  513. package/vscode/src/vs/workbench/api/common/extHostMeteredConnection.js +28 -0
  514. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +2 -2
  515. package/vscode/src/vs/workbench/api/common/extHostNotebookKernels.js +6 -3
  516. package/vscode/src/vs/workbench/api/common/extHostPower.d.ts +45 -0
  517. package/vscode/src/vs/workbench/api/common/extHostPower.js +88 -0
  518. package/vscode/src/vs/workbench/api/common/extHostSCM.js +3 -0
  519. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +4 -2
  520. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +2 -1
  521. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +1 -1
  522. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +46 -12
  523. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +3 -3
  524. package/vscode/src/vs/workbench/api/common/extHostTextEditors.js +7 -7
  525. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +11 -24
  526. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +3 -3
  527. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.d.ts +11 -5
  528. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +173 -16
  529. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +159 -8
  530. package/vscode/src/vs/workbench/api/common/extHostTypes.js +132 -7
  531. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +0 -1
  532. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +3 -10
  533. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +11 -11
  534. package/vscode/src/vs/workbench/browser/actions/developerActions.js +32 -32
  535. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +130 -130
  536. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +6 -6
  537. package/vscode/src/vs/workbench/browser/actions/windowActions.js +29 -29
  538. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +21 -21
  539. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +4 -4
  540. package/vscode/src/vs/workbench/browser/contextkeys.d.ts +2 -8
  541. package/vscode/src/vs/workbench/browser/contextkeys.js +8 -26
  542. package/vscode/src/vs/workbench/browser/editor.js +2 -2
  543. package/vscode/src/vs/workbench/browser/labels.js +4 -4
  544. package/vscode/src/vs/workbench/browser/media/style.css +14 -1
  545. package/vscode/src/vs/workbench/browser/panecomposite.d.ts +1 -0
  546. package/vscode/src/vs/workbench/browser/panecomposite.js +3 -1
  547. package/vscode/src/vs/workbench/browser/part.d.ts +1 -1
  548. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.d.ts +15 -4
  549. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +112 -33
  550. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css +26 -6
  551. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css +10 -1
  552. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +44 -40
  553. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.d.ts +2 -0
  554. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +39 -6
  555. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +1 -1
  556. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +13 -13
  557. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +1 -1
  558. package/vscode/src/vs/workbench/browser/parts/compositePart.js +23 -17
  559. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.d.ts +11 -0
  560. package/vscode/src/vs/{platform/dialogs/browser → workbench/browser/parts/dialogs}/dialog.js +12 -10
  561. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.d.ts +1 -0
  562. package/vscode/src/vs/workbench/browser/parts/editor/auxiliaryEditorPart.js +19 -7
  563. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +1 -1
  564. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +3 -3
  565. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +37 -37
  566. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -12
  567. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +3 -3
  568. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +8 -10
  569. package/vscode/src/vs/workbench/browser/parts/editor/editor.d.ts +3 -2
  570. package/vscode/src/vs/workbench/browser/parts/editor/editor.js +2 -0
  571. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +135 -135
  572. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.d.ts +6 -0
  573. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +220 -20
  574. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.d.ts +3 -1
  575. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +14 -6
  576. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +7 -7
  577. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +13 -13
  578. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +2 -2
  579. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.d.ts +5 -5
  580. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +16 -9
  581. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.d.ts +9 -2
  582. package/vscode/src/vs/workbench/browser/parts/editor/editorParts.js +79 -22
  583. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +10 -10
  584. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +5 -5
  585. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +66 -66
  586. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +4 -3
  587. package/vscode/src/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css +4 -0
  588. package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css +46 -0
  589. package/vscode/src/vs/workbench/browser/parts/editor/media/modalEditorPart.css +142 -0
  590. package/vscode/src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css +8 -0
  591. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.d.ts +64 -0
  592. package/vscode/src/vs/workbench/browser/parts/editor/modalEditorPart.js +405 -0
  593. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +1 -1
  594. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +1 -1
  595. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +1 -1
  596. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +3 -3
  597. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +1 -1
  598. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +21 -20
  599. package/vscode/src/vs/workbench/browser/parts/media/paneCompositePart.css +9 -1
  600. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsCenter.css +14 -2
  601. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsToasts.css +19 -5
  602. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.d.ts +12 -1
  603. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +49 -18
  604. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +3 -3
  605. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.d.ts +10 -1
  606. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +87 -28
  607. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +92 -11
  608. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +6 -6
  609. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.d.ts +5 -1
  610. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +58 -25
  611. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.d.ts +8 -1
  612. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +62 -20
  613. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.d.ts +3 -1
  614. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +24 -8
  615. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.d.ts +3 -2
  616. package/vscode/src/vs/workbench/browser/parts/paneCompositeBar.js +9 -8
  617. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.d.ts +13 -7
  618. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +89 -68
  619. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +38 -50
  620. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +6 -4
  621. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarActions.js +2 -2
  622. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +2 -0
  623. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +44 -7
  624. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +21 -21
  625. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarActions.js +23 -14
  626. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +3 -3
  627. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +1 -1
  628. package/vscode/src/vs/workbench/browser/parts/views/media/paneviewlet.css +1 -1
  629. package/vscode/src/vs/workbench/browser/parts/views/media/views.css +33 -2
  630. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +8 -7
  631. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.d.ts +19 -1
  632. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +27 -4
  633. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +7 -5
  634. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +178 -174
  635. package/vscode/src/vs/workbench/browser/parts/visibleViewContainersTracker.d.ts +29 -0
  636. package/vscode/src/vs/workbench/browser/parts/visibleViewContainersTracker.js +104 -0
  637. package/vscode/src/vs/workbench/browser/quickaccess.js +1 -1
  638. package/vscode/src/vs/workbench/browser/window.js +14 -14
  639. package/vscode/src/vs/workbench/browser/workbench.contribution.js +317 -225
  640. package/vscode/src/vs/workbench/common/configuration.js +9 -9
  641. package/vscode/src/vs/workbench/common/contextkeys.d.ts +4 -2
  642. package/vscode/src/vs/workbench/common/contextkeys.js +78 -76
  643. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +1 -1
  644. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +4 -1
  645. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +1 -1
  646. package/vscode/src/vs/workbench/common/editor.d.ts +7 -1
  647. package/vscode/src/vs/workbench/common/editor.js +5 -4
  648. package/vscode/src/vs/workbench/common/notifications.d.ts +11 -0
  649. package/vscode/src/vs/workbench/common/notifications.js +19 -1
  650. package/vscode/src/vs/workbench/common/theme.d.ts +1 -0
  651. package/vscode/src/vs/workbench/common/theme.js +161 -160
  652. package/vscode/src/vs/workbench/common/views.d.ts +32 -5
  653. package/vscode/src/vs/workbench/common/views.js +16 -12
  654. package/vscode/src/vs/workbench/common/views.service.d.ts +1 -0
  655. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.d.ts +4 -2
  656. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +170 -152
  657. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +12 -12
  658. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +1 -0
  659. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.d.ts +40 -0
  660. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +524 -102
  661. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.d.ts +4 -6
  662. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.js +26 -18
  663. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.d.ts +9 -2
  664. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel.js +34 -12
  665. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.service.d.ts +1 -0
  666. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.service.d.ts +19 -0
  667. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgetRegistry.service.js +6 -0
  668. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.d.ts +44 -0
  669. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatDynamicVariables.js +243 -0
  670. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatScreenshotContext.js +1 -1
  671. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.d.ts +15 -0
  672. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +76 -0
  673. package/vscode/src/vs/workbench/contrib/chat/browser/chat.d.ts +48 -0
  674. package/vscode/src/vs/workbench/contrib/chat/browser/chat.service.d.ts +9 -0
  675. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorContextKeys.js +7 -7
  676. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.service.d.ts +73 -7
  677. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileRewriter.js +2 -2
  678. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.d.ts +3 -1
  679. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput.js +30 -17
  680. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.d.ts +24 -1
  681. package/vscode/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.js +137 -66
  682. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service.d.ts +71 -0
  683. package/vscode/src/vs/workbench/contrib/chat/common/aiCustomizationWorkspaceService.service.js +6 -0
  684. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.d.ts +40 -4
  685. package/vscode/src/vs/workbench/contrib/chat/common/attachments/chatVariableEntries.js +3 -3
  686. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.service.d.ts +91 -0
  687. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugService.service.js +6 -0
  688. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.d.ts +10 -1
  689. package/vscode/src/vs/workbench/contrib/chat/common/chatModes.js +41 -13
  690. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.d.ts +123 -5
  691. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.js +4 -2
  692. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatService.service.d.ts +27 -13
  693. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.d.ts +11 -6
  694. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionsService.service.d.ts +36 -13
  695. package/vscode/src/vs/workbench/contrib/chat/common/constants.d.ts +34 -9
  696. package/vscode/src/vs/workbench/contrib/chat/common/constants.js +29 -11
  697. package/vscode/src/vs/workbench/contrib/chat/common/contextContrib/chatContext.d.ts +3 -2
  698. package/vscode/src/vs/workbench/contrib/chat/common/editing/chatEditingService.js +2 -2
  699. package/vscode/src/vs/workbench/contrib/chat/common/languageModelStats.js +3 -3
  700. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.d.ts +52 -6
  701. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +253 -32
  702. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.service.d.ts +33 -3
  703. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.d.ts +21 -6
  704. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModel.js +104 -12
  705. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.d.ts +22 -0
  706. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatQuestionCarouselData.js +26 -0
  707. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +71 -0
  708. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +298 -0
  709. package/vscode/src/vs/workbench/contrib/chat/common/model/chatUri.d.ts +1 -0
  710. package/vscode/src/vs/workbench/contrib/chat/common/model/chatUri.js +5 -0
  711. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.d.ts +17 -33
  712. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.js +10 -73
  713. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatAgents.service.d.ts +1 -1
  714. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.service.d.ts +2 -2
  715. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.d.ts +23 -0
  716. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service.d.ts +64 -0
  717. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginRepositoryService.service.js +6 -0
  718. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.service.d.ts +10 -0
  719. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.service.js +6 -0
  720. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service.d.ts +20 -0
  721. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginInstallService.service.js +6 -0
  722. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service.d.ts +21 -0
  723. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.service.js +6 -0
  724. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginSource.d.ts +53 -0
  725. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.d.ts +7 -1
  726. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/computeAutomaticInstructions.js +35 -20
  727. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.d.ts +4 -0
  728. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/config.js +1 -0
  729. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.d.ts +10 -1
  730. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/config/promptFileLocations.js +20 -2
  731. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.d.ts +54 -76
  732. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookSchema.js +221 -158
  733. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.d.ts +34 -0
  734. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookTypes.js +94 -0
  735. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.d.ts +67 -0
  736. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptFileAttributes.js +565 -0
  737. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.d.ts +21 -36
  738. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileParser.js +148 -111
  739. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.d.ts +6 -0
  740. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptTypes.js +8 -1
  741. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +60 -18
  742. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +3 -9
  743. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.service.d.ts +30 -7
  744. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.d.ts +2 -2
  745. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptEditHelper.js +1 -1
  746. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils.d.ts +7 -0
  747. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptsServiceUtils.js +12 -1
  748. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.d.ts +5 -1
  749. package/vscode/src/vs/workbench/contrib/chat/common/requestParser/chatRequestParser.js +15 -3
  750. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.d.ts +57 -0
  751. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/askQuestionsTool.js +544 -0
  752. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.d.ts +3 -0
  753. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/confirmationTool.js +40 -2
  754. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/manageTodoListTool.js +9 -9
  755. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/resolveDebugEventDetailsTool.d.ts +11 -0
  756. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/resolveDebugEventDetailsTool.js +205 -0
  757. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.d.ts +3 -6
  758. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/runSubagentTool.js +40 -29
  759. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.d.ts +12 -0
  760. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/taskCompleteTool.js +53 -0
  761. package/vscode/src/vs/workbench/contrib/chat/common/tools/builtinTools/tools.js +17 -1
  762. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.service.d.ts +1 -0
  763. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.d.ts +3 -1
  764. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsConfirmationService.service.d.ts +9 -0
  765. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +45 -25
  766. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.d.ts +9 -11
  767. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsService.js +4 -4
  768. package/vscode/src/vs/workbench/contrib/chat/common/tools/promptTsxTypes.d.ts +3 -0
  769. package/vscode/src/vs/workbench/contrib/chat/common/tools/promptTsxTypes.js +12 -1
  770. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service.d.ts +15 -0
  771. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.service.js +6 -0
  772. package/vscode/src/vs/workbench/contrib/chat/common/widget/input/modelPickerWidget.js +1 -1
  773. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +11 -11
  774. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.css +1 -1
  775. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +4 -4
  776. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +5 -5
  777. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +3 -3
  778. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css +1 -1
  779. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.d.ts +19 -1
  780. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +35 -11
  781. package/vscode/src/vs/workbench/contrib/codeEditor/browser/inspectEditorTokens/inspectEditorTokens.js +2 -2
  782. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +3 -3
  783. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.d.ts +1 -3
  784. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +9 -11
  785. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +4 -4
  786. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +2 -2
  787. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +2 -2
  788. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +3 -3
  789. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +2 -2
  790. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +2 -2
  791. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -6
  792. package/vscode/src/vs/workbench/contrib/codeEditor/common/languageConfigurationExtensionPoint.js +65 -65
  793. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +7 -7
  794. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +7 -7
  795. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +5 -4
  796. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +3 -3
  797. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +4 -4
  798. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +3 -3
  799. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +4 -4
  800. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +7 -4
  801. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +12 -12
  802. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.d.ts +2 -2
  803. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +30 -28
  804. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +1 -1
  805. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +9 -9
  806. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +14 -14
  807. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +16 -16
  808. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +7 -7
  809. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.d.ts +2 -1
  810. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +4 -1
  811. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +12 -12
  812. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +3 -3
  813. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +1 -1
  814. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +29 -29
  815. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +14 -14
  816. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +75 -75
  817. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +2 -2
  818. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +14 -8
  819. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +12 -12
  820. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +38 -38
  821. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +5 -8
  822. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +4 -3
  823. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +57 -57
  824. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +3 -3
  825. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +4 -4
  826. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +2 -2
  827. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css +7 -2
  828. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +19 -19
  829. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +5 -5
  830. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +11 -11
  831. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +3 -1
  832. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +68 -68
  833. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +7 -9
  834. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +1 -1
  835. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +2 -2
  836. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +2 -2
  837. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +1 -1
  838. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/commands.js +2 -2
  839. package/vscode/src/vs/workbench/contrib/dropOrPasteInto/browser/configurationSchema.js +4 -4
  840. package/vscode/src/vs/workbench/contrib/extensions/browser/abstractRuntimeExtensionsEditor.js +18 -18
  841. package/vscode/src/vs/workbench/contrib/extensions/browser/configBasedRecommendations.js +1 -1
  842. package/vscode/src/vs/workbench/contrib/extensions/browser/exeBasedRecommendations.js +1 -1
  843. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEditor.js +49 -47
  844. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionEnablementWorkspaceTrustTransitionParticipant.js +1 -1
  845. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionFeaturesTab.js +15 -15
  846. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionRecommendationNotificationService.js +14 -14
  847. package/vscode/src/vs/workbench/contrib/extensions/browser/extensions.contribution.js +159 -147
  848. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +181 -181
  849. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActivationProgress.js +1 -1
  850. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsCompletionItemsProvider.js +1 -1
  851. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsDependencyChecker.js +5 -5
  852. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.d.ts +1 -0
  853. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +29 -25
  854. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsList.js +4 -3
  855. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsQuickAccess.js +4 -4
  856. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.d.ts +10 -2
  857. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewer.js +93 -13
  858. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.d.ts +4 -4
  859. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViewlet.js +92 -91
  860. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.d.ts +2 -0
  861. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsViews.js +24 -6
  862. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.d.ts +7 -0
  863. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWidgets.js +58 -31
  864. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.d.ts +3 -1
  865. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.js +134 -82
  866. package/vscode/src/vs/workbench/contrib/extensions/browser/fileBasedRecommendations.js +2 -2
  867. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extension.css +24 -3
  868. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionEditor.css +1 -1
  869. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionsViewlet.css +34 -9
  870. package/vscode/src/vs/workbench/contrib/extensions/browser/webRecommendations.js +1 -1
  871. package/vscode/src/vs/workbench/contrib/extensions/browser/workspaceRecommendations.js +2 -2
  872. package/vscode/src/vs/workbench/contrib/extensions/common/extensionQuery.js +2 -1
  873. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.d.ts +6 -0
  874. package/vscode/src/vs/workbench/contrib/extensions/common/extensions.js +3 -2
  875. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +5 -5
  876. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +2 -2
  877. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +3 -3
  878. package/vscode/src/vs/workbench/contrib/extensions/common/runtimeExtensionsInput.js +2 -2
  879. package/vscode/src/vs/workbench/contrib/extensions/common/searchExtensionsTool.js +3 -3
  880. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +4 -4
  881. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +3 -3
  882. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +1 -1
  883. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +8 -8
  884. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +18 -18
  885. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +14 -14
  886. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +39 -39
  887. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +84 -84
  888. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +4 -4
  889. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +2 -2
  890. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +6 -6
  891. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +27 -27
  892. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +50 -50
  893. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +2 -2
  894. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +1 -1
  895. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +4 -4
  896. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +7 -7
  897. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +18 -17
  898. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +7 -7
  899. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +4 -4
  900. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +1 -1
  901. package/vscode/src/vs/workbench/contrib/files/common/explorerModel.js +1 -0
  902. package/vscode/src/vs/workbench/contrib/files/common/files.js +16 -16
  903. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +3 -3
  904. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +20 -20
  905. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +4 -4
  906. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +1 -1
  907. package/vscode/src/vs/workbench/contrib/git/browser/gitService.d.ts +25 -0
  908. package/vscode/src/vs/workbench/contrib/git/browser/gitService.js +61 -0
  909. package/vscode/src/vs/workbench/contrib/git/common/gitService.service.d.ts +10 -0
  910. package/vscode/src/vs/workbench/contrib/git/common/gitService.service.js +6 -0
  911. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +4 -4
  912. package/vscode/src/vs/workbench/contrib/list/browser/listResizeColumnAction.js +2 -2
  913. package/vscode/src/vs/workbench/contrib/list/browser/tableColumnResizeQuickPick.js +5 -5
  914. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpCommandsAddConfiguration.js +71 -69
  915. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.d.ts +259 -0
  916. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerActions.js +1225 -0
  917. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.d.ts +72 -0
  918. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditor.js +996 -0
  919. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.d.ts +17 -0
  920. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerEditorInput.js +49 -0
  921. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.d.ts +5 -0
  922. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerIcons.js +12 -0
  923. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.d.ts +88 -0
  924. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpServerWidgets.js +464 -0
  925. package/vscode/src/vs/workbench/contrib/mcp/browser/media/mcpServerEditor.css +94 -0
  926. package/vscode/src/vs/workbench/contrib/mcp/common/mcpConfiguration.js +118 -31
  927. package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayService.d.ts +11 -0
  928. package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayService.service.d.ts +26 -0
  929. package/vscode/src/vs/workbench/contrib/mcp/common/mcpGatewayService.service.js +6 -0
  930. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSandboxService.service.d.ts +13 -0
  931. package/vscode/src/vs/workbench/contrib/mcp/common/mcpSandboxService.service.js +6 -0
  932. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.d.ts +15 -3
  933. package/vscode/src/vs/workbench/contrib/mcp/common/mcpServer.js +155 -19
  934. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTaskManager.js +1 -1
  935. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.d.ts +19 -3
  936. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.js +15 -12
  937. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypes.service.d.ts +1 -1
  938. package/vscode/src/vs/workbench/contrib/mcp/common/mcpTypesUtils.js +1 -0
  939. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocol.d.ts +1 -2917
  940. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +4 -4
  941. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +23 -23
  942. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +2 -2
  943. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +8 -8
  944. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.d.ts +1 -0
  945. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnection.contribution.js +55 -0
  946. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.d.ts +13 -0
  947. package/vscode/src/vs/workbench/contrib/meteredConnection/browser/meteredConnectionStatus.js +62 -0
  948. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +1 -1
  949. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +3 -3
  950. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +1 -1
  951. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findModel.js +1 -1
  952. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.css +1 -1
  953. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +19 -18
  954. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  955. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +6 -6
  956. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +4 -4
  957. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +3 -3
  958. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  959. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  960. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  961. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +1 -1
  962. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +2 -4
  963. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  964. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  965. package/vscode/src/vs/workbench/contrib/notebook/browser/media/notebook.css +13 -1
  966. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +4 -4
  967. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +7 -7
  968. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +24 -24
  969. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -29
  970. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -5
  971. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +7 -7
  972. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +2 -2
  973. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +4 -4
  974. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +1 -1
  975. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +3 -3
  976. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +1 -1
  977. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +2 -2
  978. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +4 -4
  979. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +1 -1
  980. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/notebookViewModelImpl.js +1 -1
  981. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +14 -14
  982. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +2 -2
  983. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookViewZones.js +1 -1
  984. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -2
  985. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +4 -5
  986. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css +3 -0
  987. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +13 -13
  988. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +11 -11
  989. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.d.ts +1 -1
  990. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +151 -57
  991. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.d.ts +1 -1
  992. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +16 -4
  993. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.d.ts +0 -1
  994. package/vscode/src/vs/workbench/contrib/preferences/common/preferences.js +5 -6
  995. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +21 -21
  996. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +18 -17
  997. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +17 -17
  998. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +84 -84
  999. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.d.ts +15 -2
  1000. package/vscode/src/vs/workbench/contrib/remote/browser/urlFinder.js +28 -5
  1001. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistory.js +11 -11
  1002. package/vscode/src/vs/workbench/contrib/scm/browser/scmHistoryChatContext.js +6 -6
  1003. package/vscode/src/vs/workbench/contrib/scm/common/quickDiff.js +14 -14
  1004. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +9 -9
  1005. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css +3 -3
  1006. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearch/notebookSearchModel.js +1 -1
  1007. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +3 -3
  1008. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +1 -1
  1009. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +12 -12
  1010. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +9 -9
  1011. package/vscode/src/vs/workbench/contrib/search/browser/searchChatContext.js +6 -6
  1012. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +1 -1
  1013. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +20 -20
  1014. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +2 -2
  1015. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +14 -14
  1016. package/vscode/src/vs/workbench/contrib/search/browser/searchTreeModel/fileMatch.js +1 -1
  1017. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +55 -55
  1018. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.d.ts +15 -0
  1019. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +33 -10
  1020. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +2 -2
  1021. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +4 -4
  1022. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +5 -5
  1023. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +3 -3
  1024. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +3 -3
  1025. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +9 -9
  1026. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +29 -29
  1027. package/vscode/src/vs/workbench/contrib/tasks/common/constants.js +1 -1
  1028. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.d.ts +433 -0
  1029. package/vscode/src/vs/workbench/contrib/tasks/common/problemMatcher.js +1637 -0
  1030. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.d.ts +514 -0
  1031. package/vscode/src/vs/workbench/contrib/tasks/common/taskConfiguration.js +1796 -0
  1032. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +5 -5
  1033. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.d.ts +1 -0
  1034. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +6 -6
  1035. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.d.ts +18 -14
  1036. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +30 -27
  1037. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +1 -0
  1038. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +6 -7
  1039. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +4 -4
  1040. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +13 -13
  1041. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.d.ts +2 -1
  1042. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +195 -87
  1043. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +15 -15
  1044. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +5 -3
  1045. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +17 -9
  1046. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +23 -23
  1047. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +17 -17
  1048. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +26 -26
  1049. package/vscode/src/vs/workbench/contrib/terminal/terminalContribExports.js +2 -0
  1050. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/common/terminalAccessibilityConfiguration.js +2 -2
  1051. package/vscode/src/vs/workbench/contrib/terminalContrib/autoReplies/common/terminalAutoRepliesConfiguration.js +2 -2
  1052. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalChatAgentToolsConfiguration.js +71 -61
  1053. package/vscode/src/vs/workbench/contrib/terminalContrib/commandGuide/common/terminalCommandGuideConfiguration.js +1 -1
  1054. package/vscode/src/vs/workbench/contrib/terminalContrib/history/common/terminal.history.js +1 -1
  1055. package/vscode/src/vs/workbench/contrib/terminalContrib/inlineHint/common/terminalInitialHintConfiguration.js +1 -1
  1056. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.d.ts +6 -0
  1057. package/vscode/src/vs/workbench/contrib/terminalContrib/notification/common/terminalNotificationConfiguration.js +21 -0
  1058. package/vscode/src/vs/workbench/contrib/terminalContrib/stickyScroll/common/terminalStickyScrollConfiguration.js +3 -3
  1059. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminalSuggestConfiguration.js +30 -30
  1060. package/vscode/src/vs/workbench/contrib/terminalContrib/typeAhead/common/terminalTypeAheadConfiguration.js +5 -5
  1061. package/vscode/src/vs/workbench/contrib/terminalContrib/zoom/common/terminal.zoom.js +2 -2
  1062. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +11 -11
  1063. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +2 -2
  1064. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +3 -3
  1065. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomainService.d.ts +2 -1
  1066. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +6 -6
  1067. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +6 -3
  1068. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.d.ts +10 -0
  1069. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindAccessibilityHelp.js +118 -0
  1070. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +10 -4
  1071. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +2 -2
  1072. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.d.ts +6 -2
  1073. package/vscode/src/vs/workbench/services/accounts/browser/defaultAccount.js +193 -100
  1074. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.d.ts +1 -1
  1075. package/vscode/src/vs/workbench/services/assignment/common/assignmentService.service.d.ts +1 -1
  1076. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +11 -11
  1077. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +5 -5
  1078. package/vscode/src/vs/workbench/services/banner/browser/bannerService.d.ts +1 -1
  1079. package/vscode/src/vs/workbench/services/browserElements/browser/browserElementsService.service.d.ts +2 -0
  1080. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.d.ts +9 -0
  1081. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.js +34 -17
  1082. package/vscode/src/vs/workbench/services/chat/common/chatEntitlementService.service.d.ts +3 -0
  1083. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +16 -16
  1084. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +1 -1
  1085. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +16 -16
  1086. package/vscode/src/vs/workbench/services/editor/common/editorGroupColumn.js +2 -2
  1087. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.d.ts +7 -7
  1088. package/vscode/src/vs/workbench/services/editor/common/editorGroupFinder.js +39 -20
  1089. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.d.ts +59 -3
  1090. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.js +6 -1
  1091. package/vscode/src/vs/workbench/services/editor/common/editorGroupsService.service.d.ts +14 -1
  1092. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +1 -1
  1093. package/vscode/src/vs/workbench/services/editor/common/editorService.d.ts +6 -1
  1094. package/vscode/src/vs/workbench/services/editor/common/editorService.js +2 -1
  1095. package/vscode/src/vs/workbench/services/editor/common/editorService.service.d.ts +1 -1
  1096. package/vscode/src/vs/workbench/services/environment/browser/environmentService.d.ts +1 -1
  1097. package/vscode/src/vs/workbench/services/environment/browser/environmentService.js +16 -9
  1098. package/vscode/src/vs/workbench/services/environment/common/environmentService.service.d.ts +1 -0
  1099. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionsIcons.js +3 -3
  1100. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +6 -6
  1101. package/vscode/src/vs/workbench/services/extensions/browser/extensionUrlHandler.js +10 -10
  1102. package/vscode/src/vs/workbench/services/extensions/common/extensionHostProtocol.d.ts +1 -1
  1103. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +90 -90
  1104. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +5 -5
  1105. package/vscode/src/vs/workbench/services/host/browser/host.d.ts +11 -0
  1106. package/vscode/src/vs/workbench/services/host/browser/host.service.d.ts +11 -0
  1107. package/vscode/src/vs/workbench/services/language/common/languageService.js +24 -24
  1108. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +3 -0
  1109. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +3 -0
  1110. package/vscode/src/vs/workbench/services/log/common/logConstants.js +1 -1
  1111. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.d.ts +87 -0
  1112. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.js +702 -0
  1113. package/vscode/src/vs/workbench/services/mcp/common/mcpWorkbenchManagementService.service.d.ts +1 -1
  1114. package/vscode/src/vs/workbench/services/panecomposite/browser/panecomposite.service.d.ts +3 -0
  1115. package/vscode/src/vs/workbench/services/power/common/powerService.d.ts +12 -0
  1116. package/vscode/src/vs/workbench/services/power/common/powerService.service.d.ts +25 -0
  1117. package/vscode/src/vs/workbench/services/power/common/powerService.service.js +6 -0
  1118. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +2 -2
  1119. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +7 -7
  1120. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -0
  1121. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +4 -4
  1122. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +8 -8
  1123. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.d.ts +1 -1
  1124. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +13 -13
  1125. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +1 -1
  1126. package/vscode/src/vs/workbench/services/search/common/textSearchManager.js +16 -14
  1127. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +9 -9
  1128. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +3 -3
  1129. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +18 -18
  1130. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +8 -8
  1131. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +13 -13
  1132. package/vscode/src/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +24 -24
  1133. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.d.ts +9 -9
  1134. package/vscode/src/vs/workbench/services/themes/common/workbenchThemeService.js +10 -8
  1135. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +3 -3
  1136. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +1 -1
  1137. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +13 -13
  1138. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +16 -16
  1139. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.d.ts +12 -0
  1140. package/vscode/src/vs/workbench/services/workspaces/common/workspaceEditing.service.d.ts +7 -0
  1141. package/vscode-dts/vscode.d.ts +26 -1
  1142. package/vscode-dts/vscode.proposed.chatContextProvider.d.ts +47 -11
  1143. package/vscode-dts/vscode.proposed.chatDebug.d.ts +657 -0
  1144. package/vscode-dts/vscode.proposed.chatHooks.d.ts +1 -1
  1145. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +98 -12
  1146. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +36 -6
  1147. package/vscode-dts/vscode.proposed.chatPromptFiles.d.ts +33 -0
  1148. package/vscode-dts/vscode.proposed.chatProvider.d.ts +16 -1
  1149. package/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts +90 -15
  1150. package/vscode-dts/vscode.proposed.d.ts +4 -1
  1151. package/vscode-dts/{vscode.proposed.envIsAppPortable.d.ts → vscode.proposed.envIsConnectionMetered.d.ts} +7 -7
  1152. package/vscode-dts/vscode.proposed.environmentPower.d.ts +166 -0
  1153. package/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts +17 -0
  1154. package/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts +1 -1
  1155. package/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts +28 -0
  1156. package/vscode-dts/vscode.proposed.terminalTitle.d.ts +37 -0
  1157. package/vscode/src/vs/platform/assignment/common/assignment.d.ts +0 -85
  1158. package/vscode/src/vs/platform/dialogs/browser/dialog.d.ts +0 -10
  1159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +0 -44
  1160. package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.d.ts +0 -16
  1161. package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.js +0 -20
  1162. package/vscode/src/vs/workbench/services/layout/common/workbenchModeService.service.d.ts +0 -27
  1163. package/vscode/src/vs/workbench/services/views/browser/viewsService.d.ts +0 -77
  1164. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +0 -733
  1165. /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocol.js +0 -0
  1166. /package/vscode/src/vs/workbench/contrib/url/{browser → common}/trustedDomainService.service.d.ts +0 -0
  1167. /package/vscode/src/vs/workbench/contrib/url/{browser → common}/trustedDomainService.service.js +0 -0
@@ -0,0 +1,1637 @@
1
+
2
+ import { localize } from '../../../../nls.js';
3
+ import { deepClone, mixin } from '../../../../base/common/objects.js';
4
+ import { trim, equalsIgnoreCase } from '../../../../base/common/strings.js';
5
+ import { ok } from '../../../../base/common/assert.js';
6
+ import { join, normalize } from '../../../../base/common/path.js';
7
+ import { isString, isUndefined, isStringArray, isUndefinedOrNull, isBoolean, isNumber } from '../../../../base/common/types.js';
8
+ import { generateUuid } from '../../../../base/common/uuid.js';
9
+ import { OS, OperatingSystem } from '../../../../base/common/platform.js';
10
+ import Severity$1 from '../../../../base/common/severity.js';
11
+ import { URI } from '../../../../base/common/uri.js';
12
+ import { Parser, ValidationStatus, ValidationState } from '../../../../base/common/parsers.js';
13
+ import { asArray } from '../../../../base/common/arrays.js';
14
+ import { Schemas as Schemas$1 } from '../../../../base/common/network.js';
15
+ import { MarkerSeverity } from '../../../../platform/markers/common/markers.js';
16
+ import { ExtensionsRegistry } from '../../../services/extensions/common/extensionsRegistry.js';
17
+ import { Emitter } from '../../../../base/common/event.js';
18
+ import { FileType } from '../../../../platform/files/common/files.js';
19
+
20
+ var FileLocationKind;
21
+ (function(FileLocationKind) {
22
+ FileLocationKind[FileLocationKind["Default"] = 0] = "Default";
23
+ FileLocationKind[FileLocationKind["Relative"] = 1] = "Relative";
24
+ FileLocationKind[FileLocationKind["Absolute"] = 2] = "Absolute";
25
+ FileLocationKind[FileLocationKind["AutoDetect"] = 3] = "AutoDetect";
26
+ FileLocationKind[FileLocationKind["Search"] = 4] = "Search";
27
+ })(FileLocationKind || (FileLocationKind = {}));
28
+ (function(FileLocationKind) {
29
+ function fromString(value) {
30
+ value = value.toLowerCase();
31
+ if (value === "absolute") {
32
+ return FileLocationKind.Absolute;
33
+ } else if (value === "relative") {
34
+ return FileLocationKind.Relative;
35
+ } else if (value === "autodetect") {
36
+ return FileLocationKind.AutoDetect;
37
+ } else if (value === "search") {
38
+ return FileLocationKind.Search;
39
+ } else {
40
+ return undefined;
41
+ }
42
+ }
43
+ FileLocationKind.fromString = fromString;
44
+ })(FileLocationKind || (FileLocationKind = {}));
45
+ var ProblemLocationKind;
46
+ (function(ProblemLocationKind) {
47
+ ProblemLocationKind[ProblemLocationKind["File"] = 0] = "File";
48
+ ProblemLocationKind[ProblemLocationKind["Location"] = 1] = "Location";
49
+ })(ProblemLocationKind || (ProblemLocationKind = {}));
50
+ (function(ProblemLocationKind) {
51
+ function fromString(value) {
52
+ value = value.toLowerCase();
53
+ if (value === "file") {
54
+ return ProblemLocationKind.File;
55
+ } else if (value === "location") {
56
+ return ProblemLocationKind.Location;
57
+ } else {
58
+ return undefined;
59
+ }
60
+ }
61
+ ProblemLocationKind.fromString = fromString;
62
+ })(ProblemLocationKind || (ProblemLocationKind = {}));
63
+ var ApplyToKind;
64
+ (function(ApplyToKind) {
65
+ ApplyToKind[ApplyToKind["allDocuments"] = 0] = "allDocuments";
66
+ ApplyToKind[ApplyToKind["openDocuments"] = 1] = "openDocuments";
67
+ ApplyToKind[ApplyToKind["closedDocuments"] = 2] = "closedDocuments";
68
+ })(ApplyToKind || (ApplyToKind = {}));
69
+ (function(ApplyToKind) {
70
+ function fromString(value) {
71
+ value = value.toLowerCase();
72
+ if (value === "alldocuments") {
73
+ return ApplyToKind.allDocuments;
74
+ } else if (value === "opendocuments") {
75
+ return ApplyToKind.openDocuments;
76
+ } else if (value === "closeddocuments") {
77
+ return ApplyToKind.closedDocuments;
78
+ } else {
79
+ return undefined;
80
+ }
81
+ }
82
+ ApplyToKind.fromString = fromString;
83
+ })(ApplyToKind || (ApplyToKind = {}));
84
+ function isNamedProblemMatcher(value) {
85
+ return value && isString(value.name) ? true : false;
86
+ }
87
+ async function getResource(filename, matcher, fileService) {
88
+ const kind = matcher.fileLocation;
89
+ let fullPath;
90
+ if (kind === FileLocationKind.Absolute) {
91
+ fullPath = filename;
92
+ } else if ((kind === FileLocationKind.Relative) && matcher.filePrefix && isString(matcher.filePrefix)) {
93
+ fullPath = join(matcher.filePrefix, filename);
94
+ } else if (kind === FileLocationKind.AutoDetect) {
95
+ const matcherClone = deepClone(matcher);
96
+ matcherClone.fileLocation = FileLocationKind.Relative;
97
+ if (fileService) {
98
+ const relative = await getResource(filename, matcherClone);
99
+ let stat = undefined;
100
+ try {
101
+ stat = await fileService.stat(relative);
102
+ } catch (ex) {}
103
+ if (stat) {
104
+ return relative;
105
+ }
106
+ }
107
+ matcherClone.fileLocation = FileLocationKind.Absolute;
108
+ return getResource(filename, matcherClone);
109
+ } else if (kind === FileLocationKind.Search && fileService) {
110
+ const fsProvider = fileService.getProvider(Schemas$1.file);
111
+ if (fsProvider) {
112
+ const uri = await searchForFileLocation(filename, fsProvider, matcher.filePrefix);
113
+ fullPath = uri?.path;
114
+ }
115
+ if (!fullPath) {
116
+ const absoluteMatcher = deepClone(matcher);
117
+ absoluteMatcher.fileLocation = FileLocationKind.Absolute;
118
+ return getResource(filename, absoluteMatcher);
119
+ }
120
+ }
121
+ if (fullPath === undefined) {
122
+ throw ( new Error(
123
+ "FileLocationKind is not actionable. Does the matcher have a filePrefix? This should never happen."
124
+ ));
125
+ }
126
+ fullPath = normalize(fullPath);
127
+ fullPath = fullPath.replace(/\\/g, "/");
128
+ if (fullPath[0] !== "/") {
129
+ fullPath = "/" + fullPath;
130
+ }
131
+ if (matcher.uriProvider !== undefined) {
132
+ return matcher.uriProvider(fullPath);
133
+ } else {
134
+ return URI.file(fullPath);
135
+ }
136
+ }
137
+ async function searchForFileLocation(filename, fsProvider, args) {
138
+ const exclusions = ( new Set(( asArray(args.exclude || []).map(x => URI.file(x).path))));
139
+ async function search(dir) {
140
+ if (( exclusions.has(dir.path))) {
141
+ return undefined;
142
+ }
143
+ const entries = await fsProvider.readdir(dir);
144
+ const subdirs = [];
145
+ for (const [name, fileType] of entries) {
146
+ if (fileType === FileType.Directory) {
147
+ subdirs.push(URI.joinPath(dir, name));
148
+ continue;
149
+ }
150
+ if (fileType === FileType.File) {
151
+ const fullUri = URI.joinPath(dir, name);
152
+ if (fullUri.path.endsWith(filename)) {
153
+ return fullUri;
154
+ }
155
+ }
156
+ }
157
+ for (const subdir of subdirs) {
158
+ const result = await search(subdir);
159
+ if (result) {
160
+ return result;
161
+ }
162
+ }
163
+ return undefined;
164
+ }
165
+ for (const dir of asArray(args.include || [])) {
166
+ const hit = await search(URI.file(dir));
167
+ if (hit) {
168
+ return hit;
169
+ }
170
+ }
171
+ return undefined;
172
+ }
173
+ function createLineMatcher(matcher, fileService, logService) {
174
+ const pattern = matcher.pattern;
175
+ if (Array.isArray(pattern)) {
176
+ return ( new MultiLineMatcher(matcher, fileService, logService));
177
+ } else {
178
+ return ( new SingleLineMatcher(matcher, fileService, logService));
179
+ }
180
+ }
181
+ const endOfLine = OS === OperatingSystem.Windows ? "\r\n" : "\n";
182
+ class AbstractLineMatcher {
183
+ constructor(matcher, fileService, logService) {
184
+ this.matcher = matcher;
185
+ this.fileService = fileService;
186
+ this.logService = logService;
187
+ }
188
+ handle(lines, start = 0) {
189
+ return {
190
+ match: null,
191
+ continue: false
192
+ };
193
+ }
194
+ next(line) {
195
+ return null;
196
+ }
197
+ regexpExec(regexp, line) {
198
+ const start = Date.now();
199
+ const result = regexp.exec(line);
200
+ const elapsed = Date.now() - start;
201
+ if (elapsed > 5) {
202
+ this.logService?.trace(`ProblemMatcher: slow regexp took ${elapsed}ms to execute`, regexp.source);
203
+ }
204
+ return result;
205
+ }
206
+ fillProblemData(data, pattern, matches) {
207
+ if (data) {
208
+ this.fillProperty(data, "file", pattern, matches, true);
209
+ this.appendProperty(data, "message", pattern, matches, true);
210
+ this.fillProperty(data, "code", pattern, matches, true);
211
+ this.fillProperty(data, "severity", pattern, matches, true);
212
+ this.fillProperty(data, "location", pattern, matches, true);
213
+ this.fillProperty(data, "line", pattern, matches);
214
+ this.fillProperty(data, "character", pattern, matches);
215
+ this.fillProperty(data, "endLine", pattern, matches);
216
+ this.fillProperty(data, "endCharacter", pattern, matches);
217
+ return true;
218
+ } else {
219
+ return false;
220
+ }
221
+ }
222
+ appendProperty(data, property, pattern, matches, trim$1 = false) {
223
+ const patternProperty = pattern[property];
224
+ if (isUndefined(data[property])) {
225
+ this.fillProperty(data, property, pattern, matches, trim$1);
226
+ } else if (!isUndefined(patternProperty) && patternProperty < matches.length) {
227
+ let value = matches[patternProperty];
228
+ if (trim$1) {
229
+ value = trim(value);
230
+ }
231
+ data[property] = data[property] + endOfLine + value;
232
+ }
233
+ }
234
+ fillProperty(data, property, pattern, matches, trim$1 = false) {
235
+ const patternAtProperty = pattern[property];
236
+ if (isUndefined(data[property]) && !isUndefined(patternAtProperty) && patternAtProperty < matches.length) {
237
+ let value = matches[patternAtProperty];
238
+ if (value !== undefined) {
239
+ if (trim$1) {
240
+ value = trim(value);
241
+ }
242
+ data[property] = value;
243
+ }
244
+ }
245
+ }
246
+ getMarkerMatch(data) {
247
+ try {
248
+ const location = this.getLocation(data);
249
+ if (data.file && location && data.message) {
250
+ const marker = {
251
+ severity: this.getSeverity(data),
252
+ startLineNumber: location.startLineNumber,
253
+ startColumn: location.startCharacter,
254
+ endLineNumber: location.endLineNumber,
255
+ endColumn: location.endCharacter,
256
+ message: data.message
257
+ };
258
+ if (data.code !== undefined) {
259
+ marker.code = data.code;
260
+ }
261
+ if (this.matcher.source !== undefined) {
262
+ marker.source = this.matcher.source;
263
+ }
264
+ return {
265
+ description: this.matcher,
266
+ resource: this.getResource(data.file),
267
+ marker: marker
268
+ };
269
+ }
270
+ } catch (err) {
271
+ console.error(`Failed to convert problem data into match: ${JSON.stringify(data)}`);
272
+ }
273
+ return undefined;
274
+ }
275
+ getResource(filename) {
276
+ return getResource(filename, this.matcher, this.fileService);
277
+ }
278
+ getLocation(data) {
279
+ if (data.kind === ProblemLocationKind.File) {
280
+ return this.createLocation(0, 0, 0, 0);
281
+ }
282
+ if (data.location) {
283
+ return this.parseLocationInfo(data.location);
284
+ }
285
+ if (!data.line) {
286
+ return null;
287
+ }
288
+ const startLine = parseInt(data.line);
289
+ const startColumn = data.character ? parseInt(data.character) : undefined;
290
+ const endLine = data.endLine ? parseInt(data.endLine) : undefined;
291
+ const endColumn = data.endCharacter ? parseInt(data.endCharacter) : undefined;
292
+ return this.createLocation(startLine, startColumn, endLine, endColumn);
293
+ }
294
+ parseLocationInfo(value) {
295
+ if (!value || !value.match(/(\d+|\d+,\d+|\d+,\d+,\d+,\d+)/)) {
296
+ return null;
297
+ }
298
+ const parts = value.split(",");
299
+ const startLine = parseInt(parts[0]);
300
+ const startColumn = parts.length > 1 ? parseInt(parts[1]) : undefined;
301
+ if (parts.length > 3) {
302
+ return this.createLocation(startLine, startColumn, parseInt(parts[2]), parseInt(parts[3]));
303
+ } else {
304
+ return this.createLocation(startLine, startColumn, undefined, undefined);
305
+ }
306
+ }
307
+ createLocation(startLine, startColumn, endLine, endColumn) {
308
+ if (startColumn !== undefined && endColumn !== undefined) {
309
+ return {
310
+ startLineNumber: startLine,
311
+ startCharacter: startColumn,
312
+ endLineNumber: endLine || startLine,
313
+ endCharacter: endColumn
314
+ };
315
+ }
316
+ if (startColumn !== undefined) {
317
+ return {
318
+ startLineNumber: startLine,
319
+ startCharacter: startColumn,
320
+ endLineNumber: startLine,
321
+ endCharacter: startColumn
322
+ };
323
+ }
324
+ return {
325
+ startLineNumber: startLine,
326
+ startCharacter: 1,
327
+ endLineNumber: startLine,
328
+ endCharacter: 2 ** 31 - 1
329
+ };
330
+ }
331
+ getSeverity(data) {
332
+ let result = null;
333
+ if (data.severity) {
334
+ const value = data.severity;
335
+ if (value) {
336
+ result = Severity$1.fromValue(value);
337
+ if (result === Severity$1.Ignore) {
338
+ if (value === "E") {
339
+ result = Severity$1.Error;
340
+ } else if (value === "W") {
341
+ result = Severity$1.Warning;
342
+ } else if (value === "I") {
343
+ result = Severity$1.Info;
344
+ } else if (equalsIgnoreCase(value, "hint")) {
345
+ result = Severity$1.Info;
346
+ } else if (equalsIgnoreCase(value, "note")) {
347
+ result = Severity$1.Info;
348
+ }
349
+ }
350
+ }
351
+ }
352
+ if (result === null || result === Severity$1.Ignore) {
353
+ result = this.matcher.severity || Severity$1.Error;
354
+ }
355
+ return MarkerSeverity.fromSeverity(result);
356
+ }
357
+ }
358
+ class SingleLineMatcher extends AbstractLineMatcher {
359
+ constructor(matcher, fileService, logService) {
360
+ super(matcher, fileService, logService);
361
+ this.pattern = matcher.pattern;
362
+ }
363
+ get matchLength() {
364
+ return 1;
365
+ }
366
+ handle(lines, start = 0) {
367
+ ok(lines.length - start === 1);
368
+ const data = Object.create(null);
369
+ if (this.pattern.kind !== undefined) {
370
+ data.kind = this.pattern.kind;
371
+ }
372
+ const matches = this.regexpExec(this.pattern.regexp, lines[start]);
373
+ if (matches) {
374
+ this.fillProblemData(data, this.pattern, matches);
375
+ if (data.kind === ProblemLocationKind.Location && !data.location && !data.line && data.file) {
376
+ data.kind = ProblemLocationKind.File;
377
+ }
378
+ const match = this.getMarkerMatch(data);
379
+ if (match) {
380
+ return {
381
+ match: match,
382
+ continue: false
383
+ };
384
+ }
385
+ }
386
+ return {
387
+ match: null,
388
+ continue: false
389
+ };
390
+ }
391
+ next(line) {
392
+ return null;
393
+ }
394
+ }
395
+ class MultiLineMatcher extends AbstractLineMatcher {
396
+ constructor(matcher, fileService, logService) {
397
+ super(matcher, fileService, logService);
398
+ this.patterns = matcher.pattern;
399
+ }
400
+ get matchLength() {
401
+ return this.patterns.length;
402
+ }
403
+ handle(lines, start = 0) {
404
+ ok(lines.length - start === this.patterns.length);
405
+ this.data = Object.create(null);
406
+ let data = this.data;
407
+ data.kind = this.patterns[0].kind;
408
+ for (let i = 0; i < this.patterns.length; i++) {
409
+ const pattern = this.patterns[i];
410
+ const matches = this.regexpExec(pattern.regexp, lines[i + start]);
411
+ if (!matches) {
412
+ return {
413
+ match: null,
414
+ continue: false
415
+ };
416
+ } else {
417
+ if (pattern.loop && i === this.patterns.length - 1) {
418
+ data = deepClone(data);
419
+ }
420
+ this.fillProblemData(data, pattern, matches);
421
+ }
422
+ }
423
+ const loop = !!this.patterns[this.patterns.length - 1].loop;
424
+ if (!loop) {
425
+ this.data = undefined;
426
+ }
427
+ const markerMatch = data ? this.getMarkerMatch(data) : null;
428
+ return {
429
+ match: markerMatch ? markerMatch : null,
430
+ continue: loop
431
+ };
432
+ }
433
+ next(line) {
434
+ const pattern = this.patterns[this.patterns.length - 1];
435
+ ok(pattern.loop === true && this.data !== null);
436
+ const matches = this.regexpExec(pattern.regexp, line);
437
+ if (!matches) {
438
+ this.data = undefined;
439
+ return null;
440
+ }
441
+ const data = deepClone(this.data);
442
+ let problemMatch;
443
+ if (this.fillProblemData(data, pattern, matches)) {
444
+ problemMatch = this.getMarkerMatch(data);
445
+ }
446
+ return problemMatch ? problemMatch : null;
447
+ }
448
+ }
449
+ var Config;
450
+ (function(Config) {
451
+ (function(CheckedProblemPattern) {
452
+ function is(value) {
453
+ const candidate = value;
454
+ return candidate && isString(candidate.regexp);
455
+ }
456
+ CheckedProblemPattern.is = is;
457
+ })(
458
+ Config.CheckedProblemPattern || (Config.CheckedProblemPattern = {})
459
+ );
460
+ let NamedProblemPattern;
461
+ (function(NamedProblemPattern) {
462
+ function is(value) {
463
+ const candidate = value;
464
+ return candidate && isString(candidate.name);
465
+ }
466
+ NamedProblemPattern.is = is;
467
+ })(
468
+ NamedProblemPattern = Config.NamedProblemPattern || (Config.NamedProblemPattern = {})
469
+ );
470
+ (function(NamedCheckedProblemPattern) {
471
+ function is(value) {
472
+ const candidate = value;
473
+ return candidate && NamedProblemPattern.is(candidate) && isString(candidate.regexp);
474
+ }
475
+ NamedCheckedProblemPattern.is = is;
476
+ })(
477
+ Config.NamedCheckedProblemPattern || (Config.NamedCheckedProblemPattern = {})
478
+ );
479
+ let MultiLineProblemPattern;
480
+ (function(MultiLineProblemPattern) {
481
+ function is(value) {
482
+ return Array.isArray(value);
483
+ }
484
+ MultiLineProblemPattern.is = is;
485
+ })(
486
+ MultiLineProblemPattern = Config.MultiLineProblemPattern || (Config.MultiLineProblemPattern = {})
487
+ );
488
+ let MultiLineCheckedProblemPattern;
489
+ (function(MultiLineCheckedProblemPattern) {
490
+ function is(value) {
491
+ if (!MultiLineProblemPattern.is(value)) {
492
+ return false;
493
+ }
494
+ for (const element of value) {
495
+ if (!Config.CheckedProblemPattern.is(element)) {
496
+ return false;
497
+ }
498
+ }
499
+ return true;
500
+ }
501
+ MultiLineCheckedProblemPattern.is = is;
502
+ })(
503
+ MultiLineCheckedProblemPattern = Config.MultiLineCheckedProblemPattern || (Config.MultiLineCheckedProblemPattern = {})
504
+ );
505
+ (function(NamedMultiLineCheckedProblemPattern) {
506
+ function is(value) {
507
+ const candidate = value;
508
+ return candidate && isString(candidate.name) && Array.isArray(candidate.patterns) && MultiLineCheckedProblemPattern.is(candidate.patterns);
509
+ }
510
+ NamedMultiLineCheckedProblemPattern.is = is;
511
+ })(
512
+ Config.NamedMultiLineCheckedProblemPattern || (Config.NamedMultiLineCheckedProblemPattern = {})
513
+ );
514
+ function isNamedProblemMatcher(value) {
515
+ return isString(value.name);
516
+ }
517
+ Config.isNamedProblemMatcher = isNamedProblemMatcher;
518
+ })(Config || (Config = {}));
519
+ class ProblemPatternParser extends Parser {
520
+ constructor(logger) {
521
+ super(logger);
522
+ }
523
+ parse(value) {
524
+ if (Config.NamedMultiLineCheckedProblemPattern.is(value)) {
525
+ return this.createNamedMultiLineProblemPattern(value);
526
+ } else if (Config.MultiLineCheckedProblemPattern.is(value)) {
527
+ return this.createMultiLineProblemPattern(value);
528
+ } else if (Config.NamedCheckedProblemPattern.is(value)) {
529
+ const result = this.createSingleProblemPattern(value);
530
+ result.name = value.name;
531
+ return result;
532
+ } else if (Config.CheckedProblemPattern.is(value)) {
533
+ return this.createSingleProblemPattern(value);
534
+ } else {
535
+ this.error(( localize(12910, "The problem pattern is missing a regular expression.")));
536
+ return null;
537
+ }
538
+ }
539
+ createSingleProblemPattern(value) {
540
+ const result = this.doCreateSingleProblemPattern(value, true);
541
+ if (result === undefined) {
542
+ return null;
543
+ } else if (result.kind === undefined) {
544
+ result.kind = ProblemLocationKind.Location;
545
+ }
546
+ return this.validateProblemPattern([result]) ? result : null;
547
+ }
548
+ createNamedMultiLineProblemPattern(value) {
549
+ const validPatterns = this.createMultiLineProblemPattern(value.patterns);
550
+ if (!validPatterns) {
551
+ return null;
552
+ }
553
+ const result = {
554
+ name: value.name,
555
+ label: value.label ? value.label : value.name,
556
+ patterns: validPatterns
557
+ };
558
+ return result;
559
+ }
560
+ createMultiLineProblemPattern(values) {
561
+ const result = [];
562
+ for (let i = 0; i < values.length; i++) {
563
+ const pattern = this.doCreateSingleProblemPattern(values[i], false);
564
+ if (pattern === undefined) {
565
+ return null;
566
+ }
567
+ if (i < values.length - 1) {
568
+ if (!isUndefined(pattern.loop) && pattern.loop) {
569
+ pattern.loop = false;
570
+ this.error(( localize(12911, "The loop property is only supported on the last line matcher.")));
571
+ }
572
+ }
573
+ result.push(pattern);
574
+ }
575
+ if (!result || result.length === 0) {
576
+ this.error(( localize(
577
+ 12912,
578
+ "The problem pattern is invalid. It must contain at least one pattern."
579
+ )));
580
+ return null;
581
+ }
582
+ if (result[0].kind === undefined) {
583
+ result[0].kind = ProblemLocationKind.Location;
584
+ }
585
+ return this.validateProblemPattern(result) ? result : null;
586
+ }
587
+ doCreateSingleProblemPattern(value, setDefaults) {
588
+ const regexp = this.createRegularExpression(value.regexp);
589
+ if (regexp === undefined) {
590
+ return undefined;
591
+ }
592
+ let result = {
593
+ regexp
594
+ };
595
+ if (value.kind) {
596
+ result.kind = ProblemLocationKind.fromString(value.kind);
597
+ }
598
+ function copyProperty(result, source, resultKey, sourceKey) {
599
+ const value = source[sourceKey];
600
+ if (typeof value === "number") {
601
+ result[resultKey] = value;
602
+ }
603
+ }
604
+ copyProperty(result, value, "file", "file");
605
+ copyProperty(result, value, "location", "location");
606
+ copyProperty(result, value, "line", "line");
607
+ copyProperty(result, value, "character", "column");
608
+ copyProperty(result, value, "endLine", "endLine");
609
+ copyProperty(result, value, "endCharacter", "endColumn");
610
+ copyProperty(result, value, "severity", "severity");
611
+ copyProperty(result, value, "code", "code");
612
+ copyProperty(result, value, "message", "message");
613
+ if (value.loop === true || value.loop === false) {
614
+ result.loop = value.loop;
615
+ }
616
+ if (setDefaults) {
617
+ if (result.location || result.kind === ProblemLocationKind.File) {
618
+ const defaultValue = {
619
+ file: 1,
620
+ message: 0
621
+ };
622
+ result = mixin(result, defaultValue, false);
623
+ } else {
624
+ const defaultValue = {
625
+ file: 1,
626
+ line: 2,
627
+ character: 3,
628
+ message: 0
629
+ };
630
+ result = mixin(result, defaultValue, false);
631
+ }
632
+ }
633
+ return result;
634
+ }
635
+ validateProblemPattern(values) {
636
+ if (!values || values.length === 0) {
637
+ this.error(( localize(
638
+ 12912,
639
+ "The problem pattern is invalid. It must contain at least one pattern."
640
+ )));
641
+ return false;
642
+ }
643
+ let file = false, message = false, location = false, line = false;
644
+ const locationKind = (values[0].kind === undefined) ? ProblemLocationKind.Location : values[0].kind;
645
+ values.forEach((pattern, i) => {
646
+ if (i !== 0 && pattern.kind) {
647
+ this.error(( localize(
648
+ 12913,
649
+ "The problem pattern is invalid. The kind property must be provided only in the first element"
650
+ )));
651
+ }
652
+ file = file || !isUndefined(pattern.file);
653
+ message = message || !isUndefined(pattern.message);
654
+ location = location || !isUndefined(pattern.location);
655
+ line = line || !isUndefined(pattern.line);
656
+ });
657
+ if (!(file && message)) {
658
+ this.error(( localize(
659
+ 12914,
660
+ "The problem pattern is invalid. It must have at least have a file and a message."
661
+ )));
662
+ return false;
663
+ }
664
+ if (locationKind === ProblemLocationKind.Location && !(location || line)) {
665
+ this.error(( localize(
666
+ 12915,
667
+ "The problem pattern is invalid. It must either have kind: \"file\" or have a line or location match group."
668
+ )));
669
+ return false;
670
+ }
671
+ return true;
672
+ }
673
+ createRegularExpression(value) {
674
+ let result;
675
+ try {
676
+ result = ( new RegExp(value));
677
+ } catch (err) {
678
+ this.error(( localize(12916, "Error: The string {0} is not a valid regular expression.\n", value)));
679
+ }
680
+ return result;
681
+ }
682
+ }
683
+ class ExtensionRegistryReporter {
684
+ constructor(
685
+ _collector,
686
+ _validationStatus = ( new ValidationStatus())
687
+ ) {
688
+ this._collector = _collector;
689
+ this._validationStatus = _validationStatus;
690
+ }
691
+ info(message) {
692
+ this._validationStatus.state = ValidationState.Info;
693
+ this._collector.info(message);
694
+ }
695
+ warn(message) {
696
+ this._validationStatus.state = ValidationState.Warning;
697
+ this._collector.warn(message);
698
+ }
699
+ error(message) {
700
+ this._validationStatus.state = ValidationState.Error;
701
+ this._collector.error(message);
702
+ }
703
+ fatal(message) {
704
+ this._validationStatus.state = ValidationState.Fatal;
705
+ this._collector.error(message);
706
+ }
707
+ get status() {
708
+ return this._validationStatus;
709
+ }
710
+ }
711
+ var Schemas;
712
+ (function(Schemas) {
713
+ Schemas.ProblemPattern = {
714
+ default: {
715
+ regexp: "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
716
+ file: 1,
717
+ location: 2,
718
+ message: 3
719
+ },
720
+ type: "object",
721
+ additionalProperties: false,
722
+ properties: {
723
+ regexp: {
724
+ type: "string",
725
+ description: ( localize(
726
+ 12917,
727
+ "The regular expression to find an error, warning or info in the output."
728
+ ))
729
+ },
730
+ kind: {
731
+ type: "string",
732
+ description: ( localize(
733
+ 12918,
734
+ "whether the pattern matches a location (file and line) or only a file."
735
+ ))
736
+ },
737
+ file: {
738
+ type: "integer",
739
+ description: ( localize(12919, "The match group index of the filename. If omitted 1 is used."))
740
+ },
741
+ location: {
742
+ type: "integer",
743
+ description: ( localize(
744
+ 12920,
745
+ "The match group index of the problem's location. Valid location patterns are: (line), (line,column) and (startLine,startColumn,endLine,endColumn). If omitted (line,column) is assumed."
746
+ ))
747
+ },
748
+ line: {
749
+ type: "integer",
750
+ description: ( localize(12921, "The match group index of the problem's line. Defaults to 2"))
751
+ },
752
+ column: {
753
+ type: "integer",
754
+ description: ( localize(
755
+ 12922,
756
+ "The match group index of the problem's line character. Defaults to 3"
757
+ ))
758
+ },
759
+ endLine: {
760
+ type: "integer",
761
+ description: ( localize(
762
+ 12923,
763
+ "The match group index of the problem's end line. Defaults to undefined"
764
+ ))
765
+ },
766
+ endColumn: {
767
+ type: "integer",
768
+ description: ( localize(
769
+ 12924,
770
+ "The match group index of the problem's end line character. Defaults to undefined"
771
+ ))
772
+ },
773
+ severity: {
774
+ type: "integer",
775
+ description: ( localize(
776
+ 12925,
777
+ "The match group index of the problem's severity. Defaults to undefined"
778
+ ))
779
+ },
780
+ code: {
781
+ type: "integer",
782
+ description: ( localize(
783
+ 12926,
784
+ "The match group index of the problem's code. Defaults to undefined"
785
+ ))
786
+ },
787
+ message: {
788
+ type: "integer",
789
+ description: ( localize(
790
+ 12927,
791
+ "The match group index of the message. If omitted it defaults to 4 if location is specified. Otherwise it defaults to 5."
792
+ ))
793
+ },
794
+ loop: {
795
+ type: "boolean",
796
+ description: ( localize(
797
+ 12928,
798
+ "In a multi line matcher loop indicated whether this pattern is executed in a loop as long as it matches. Can only specified on a last pattern in a multi line pattern."
799
+ ))
800
+ }
801
+ }
802
+ };
803
+ Schemas.NamedProblemPattern = deepClone(Schemas.ProblemPattern);
804
+ Schemas.NamedProblemPattern.properties = deepClone(Schemas.NamedProblemPattern.properties) || {};
805
+ Schemas.NamedProblemPattern.properties["name"] = {
806
+ type: "string",
807
+ description: ( localize(12929, "The name of the problem pattern."))
808
+ };
809
+ Schemas.MultiLineProblemPattern = {
810
+ type: "array",
811
+ items: Schemas.ProblemPattern
812
+ };
813
+ Schemas.NamedMultiLineProblemPattern = {
814
+ type: "object",
815
+ additionalProperties: false,
816
+ properties: {
817
+ name: {
818
+ type: "string",
819
+ description: ( localize(12930, "The name of the problem multi line problem pattern."))
820
+ },
821
+ patterns: {
822
+ type: "array",
823
+ description: ( localize(12931, "The actual patterns.")),
824
+ items: Schemas.ProblemPattern
825
+ }
826
+ }
827
+ };
828
+ Schemas.WatchingPattern = {
829
+ type: "object",
830
+ additionalProperties: false,
831
+ properties: {
832
+ regexp: {
833
+ type: "string",
834
+ description: ( localize(
835
+ 12932,
836
+ "The regular expression to detect the begin or end of a background task."
837
+ ))
838
+ },
839
+ file: {
840
+ type: "integer",
841
+ description: ( localize(12933, "The match group index of the filename. Can be omitted."))
842
+ }
843
+ }
844
+ };
845
+ Schemas.PatternType = {
846
+ anyOf: [{
847
+ type: "string",
848
+ description: ( localize(12934, "The name of a contributed or predefined pattern"))
849
+ }, Schemas.ProblemPattern, Schemas.MultiLineProblemPattern],
850
+ description: ( localize(
851
+ 12935,
852
+ "A problem pattern or the name of a contributed or predefined problem pattern. Can be omitted if base is specified."
853
+ ))
854
+ };
855
+ Schemas.ProblemMatcher = {
856
+ type: "object",
857
+ additionalProperties: false,
858
+ properties: {
859
+ base: {
860
+ type: "string",
861
+ description: ( localize(12936, "The name of a base problem matcher to use."))
862
+ },
863
+ owner: {
864
+ type: "string",
865
+ description: ( localize(
866
+ 12937,
867
+ "The owner of the problem inside Code. Can be omitted if base is specified. Defaults to 'external' if omitted and base is not specified."
868
+ ))
869
+ },
870
+ source: {
871
+ type: "string",
872
+ description: ( localize(
873
+ 12938,
874
+ "A human-readable string describing the source of this diagnostic, e.g. 'typescript' or 'super lint'."
875
+ ))
876
+ },
877
+ severity: {
878
+ type: "string",
879
+ enum: ["error", "warning", "info"],
880
+ description: ( localize(
881
+ 12939,
882
+ "The default severity for captures problems. Is used if the pattern doesn't define a match group for severity."
883
+ ))
884
+ },
885
+ applyTo: {
886
+ type: "string",
887
+ enum: ["allDocuments", "openDocuments", "closedDocuments"],
888
+ description: ( localize(
889
+ 12940,
890
+ "Controls if a problem reported on a text document is applied only to open, closed or all documents."
891
+ ))
892
+ },
893
+ pattern: Schemas.PatternType,
894
+ fileLocation: {
895
+ oneOf: [{
896
+ type: "string",
897
+ enum: ["absolute", "relative", "autoDetect", "search"]
898
+ }, {
899
+ type: "array",
900
+ prefixItems: [{
901
+ type: "string",
902
+ enum: ["absolute", "relative", "autoDetect", "search"]
903
+ }],
904
+ minItems: 1,
905
+ maxItems: 1,
906
+ additionalItems: false
907
+ }, {
908
+ type: "array",
909
+ prefixItems: [{
910
+ type: "string",
911
+ enum: ["relative", "autoDetect"]
912
+ }, {
913
+ type: "string"
914
+ }],
915
+ minItems: 2,
916
+ maxItems: 2,
917
+ additionalItems: false,
918
+ examples: [["relative", "${workspaceFolder}"], ["autoDetect", "${workspaceFolder}"]]
919
+ }, {
920
+ type: "array",
921
+ prefixItems: [{
922
+ type: "string",
923
+ enum: ["search"]
924
+ }, {
925
+ type: "object",
926
+ properties: {
927
+ "include": {
928
+ oneOf: [{
929
+ type: "string"
930
+ }, {
931
+ type: "array",
932
+ items: {
933
+ type: "string"
934
+ }
935
+ }]
936
+ },
937
+ "exclude": {
938
+ oneOf: [{
939
+ type: "string"
940
+ }, {
941
+ type: "array",
942
+ items: {
943
+ type: "string"
944
+ }
945
+ }]
946
+ }
947
+ },
948
+ required: ["include"]
949
+ }],
950
+ minItems: 2,
951
+ maxItems: 2,
952
+ additionalItems: false,
953
+ examples: [["search", {
954
+ "include": ["${workspaceFolder}"]
955
+ }], ["search", {
956
+ "include": ["${workspaceFolder}"],
957
+ "exclude": []
958
+ }]]
959
+ }],
960
+ description: ( localize(
961
+ 12941,
962
+ "Defines how file names reported in a problem pattern should be interpreted. A relative fileLocation may be an array, where the second element of the array is the path of the relative file location. The search fileLocation mode, performs a deep (and, possibly, heavy) file system search within the directories specified by the include/exclude properties of the second element (or the current workspace directory if not specified)."
963
+ ))
964
+ },
965
+ background: {
966
+ type: "object",
967
+ additionalProperties: false,
968
+ description: ( localize(
969
+ 12942,
970
+ "Patterns to track the begin and end of a matcher active on a background task."
971
+ )),
972
+ properties: {
973
+ activeOnStart: {
974
+ type: "boolean",
975
+ description: ( localize(
976
+ 12943,
977
+ "If set to true the background monitor starts in active mode. This is the same as outputting a line that matches beginsPattern when the task starts."
978
+ ))
979
+ },
980
+ beginsPattern: {
981
+ oneOf: [{
982
+ type: "string"
983
+ }, Schemas.WatchingPattern],
984
+ description: ( localize(
985
+ 12944,
986
+ "If matched in the output the start of a background task is signaled."
987
+ ))
988
+ },
989
+ endsPattern: {
990
+ oneOf: [{
991
+ type: "string"
992
+ }, Schemas.WatchingPattern],
993
+ description: ( localize(
994
+ 12945,
995
+ "If matched in the output the end of a background task is signaled."
996
+ ))
997
+ }
998
+ }
999
+ },
1000
+ watching: {
1001
+ type: "object",
1002
+ additionalProperties: false,
1003
+ deprecationMessage: ( localize(12946, "The watching property is deprecated. Use background instead.")),
1004
+ description: ( localize(12947, "Patterns to track the begin and end of a watching matcher.")),
1005
+ properties: {
1006
+ activeOnStart: {
1007
+ type: "boolean",
1008
+ description: ( localize(
1009
+ 12948,
1010
+ "If set to true the watcher starts in active mode. This is the same as outputting a line that matches beginsPattern when the task starts."
1011
+ ))
1012
+ },
1013
+ beginsPattern: {
1014
+ oneOf: [{
1015
+ type: "string"
1016
+ }, Schemas.WatchingPattern],
1017
+ description: ( localize(
1018
+ 12949,
1019
+ "If matched in the output the start of a watching task is signaled."
1020
+ ))
1021
+ },
1022
+ endsPattern: {
1023
+ oneOf: [{
1024
+ type: "string"
1025
+ }, Schemas.WatchingPattern],
1026
+ description: ( localize(12950, "If matched in the output the end of a watching task is signaled."))
1027
+ }
1028
+ }
1029
+ }
1030
+ }
1031
+ };
1032
+ Schemas.LegacyProblemMatcher = deepClone(Schemas.ProblemMatcher);
1033
+ Schemas.LegacyProblemMatcher.properties = deepClone(Schemas.LegacyProblemMatcher.properties) || {};
1034
+ Schemas.LegacyProblemMatcher.properties["watchedTaskBeginsRegExp"] = {
1035
+ type: "string",
1036
+ deprecationMessage: ( localize(12951, "This property is deprecated. Use the watching property instead.")),
1037
+ description: ( localize(
1038
+ 12952,
1039
+ "A regular expression signaling that a watched tasks begins executing triggered through file watching."
1040
+ ))
1041
+ };
1042
+ Schemas.LegacyProblemMatcher.properties["watchedTaskEndsRegExp"] = {
1043
+ type: "string",
1044
+ deprecationMessage: ( localize(12953, "This property is deprecated. Use the watching property instead.")),
1045
+ description: ( localize(
1046
+ 12954,
1047
+ "A regular expression signaling that a watched tasks ends executing."
1048
+ ))
1049
+ };
1050
+ Schemas.NamedProblemMatcher = deepClone(Schemas.ProblemMatcher);
1051
+ Schemas.NamedProblemMatcher.properties = deepClone(Schemas.NamedProblemMatcher.properties) || {};
1052
+ Schemas.NamedProblemMatcher.properties.name = {
1053
+ type: "string",
1054
+ description: ( localize(12955, "The name of the problem matcher used to refer to it."))
1055
+ };
1056
+ Schemas.NamedProblemMatcher.properties.label = {
1057
+ type: "string",
1058
+ description: ( localize(12956, "A human readable label of the problem matcher."))
1059
+ };
1060
+ })(Schemas || (Schemas = {}));
1061
+ const problemPatternExtPoint = ExtensionsRegistry.registerExtensionPoint({
1062
+ extensionPoint: "problemPatterns",
1063
+ jsonSchema: {
1064
+ description: ( localize(12957, "Contributes problem patterns")),
1065
+ type: "array",
1066
+ items: {
1067
+ anyOf: [Schemas.NamedProblemPattern, Schemas.NamedMultiLineProblemPattern]
1068
+ }
1069
+ }
1070
+ });
1071
+ class ProblemPatternRegistryImpl {
1072
+ constructor() {
1073
+ this.patterns = Object.create(null);
1074
+ this.fillDefaults();
1075
+ this.readyPromise = ( new Promise((resolve, reject) => {
1076
+ problemPatternExtPoint.setHandler((extensions, delta) => {
1077
+ try {
1078
+ delta.removed.forEach(extension => {
1079
+ const problemPatterns = extension.value;
1080
+ for (const pattern of problemPatterns) {
1081
+ if (this.patterns[pattern.name]) {
1082
+ delete this.patterns[pattern.name];
1083
+ }
1084
+ }
1085
+ });
1086
+ delta.added.forEach(extension => {
1087
+ const problemPatterns = extension.value;
1088
+ const parser = ( new ProblemPatternParser(( new ExtensionRegistryReporter(extension.collector))));
1089
+ for (const pattern of problemPatterns) {
1090
+ if (Config.NamedMultiLineCheckedProblemPattern.is(pattern)) {
1091
+ const result = parser.parse(pattern);
1092
+ if (parser.problemReporter.status.state < ValidationState.Error) {
1093
+ this.add(result.name, result.patterns);
1094
+ } else {
1095
+ extension.collector.error(( localize(12958, "Invalid problem pattern. The pattern will be ignored.")));
1096
+ extension.collector.error(JSON.stringify(pattern, undefined, 4));
1097
+ }
1098
+ } else if (Config.NamedProblemPattern.is(pattern)) {
1099
+ const result = parser.parse(pattern);
1100
+ if (parser.problemReporter.status.state < ValidationState.Error) {
1101
+ this.add(pattern.name, result);
1102
+ } else {
1103
+ extension.collector.error(( localize(12958, "Invalid problem pattern. The pattern will be ignored.")));
1104
+ extension.collector.error(JSON.stringify(pattern, undefined, 4));
1105
+ }
1106
+ }
1107
+ parser.reset();
1108
+ }
1109
+ });
1110
+ } catch (error) {}
1111
+ resolve(undefined);
1112
+ });
1113
+ }));
1114
+ }
1115
+ onReady() {
1116
+ return this.readyPromise;
1117
+ }
1118
+ add(key, value) {
1119
+ this.patterns[key] = value;
1120
+ }
1121
+ get(key) {
1122
+ return this.patterns[key];
1123
+ }
1124
+ fillDefaults() {
1125
+ this.add("msCompile", {
1126
+ regexp: /^\s*(?:\s*\d+>)?(\S.*?)(?:\((\d+|\d+,\d+|\d+,\d+,\d+,\d+)\))?\s*:\s+(?:(\S+)\s+)?((?:fatal +)?error|warning|info)\s+(\w+\d+)?\s*:\s*(.*)$/,
1127
+ kind: ProblemLocationKind.Location,
1128
+ file: 1,
1129
+ location: 2,
1130
+ severity: 4,
1131
+ code: 5,
1132
+ message: 6
1133
+ });
1134
+ this.add("gulp-tsc", {
1135
+ regexp: /^([^\s].*)\((\d+|\d+,\d+|\d+,\d+,\d+,\d+)\):\s+(\d+)\s+(.*)$/,
1136
+ kind: ProblemLocationKind.Location,
1137
+ file: 1,
1138
+ location: 2,
1139
+ code: 3,
1140
+ message: 4
1141
+ });
1142
+ this.add("cpp", {
1143
+ regexp: /^(\S.*)\((\d+|\d+,\d+|\d+,\d+,\d+,\d+)\):\s+(error|warning|info)\s+(C\d+)\s*:\s*(.*)$/,
1144
+ kind: ProblemLocationKind.Location,
1145
+ file: 1,
1146
+ location: 2,
1147
+ severity: 3,
1148
+ code: 4,
1149
+ message: 5
1150
+ });
1151
+ this.add("csc", {
1152
+ regexp: /^(\S.*)\((\d+|\d+,\d+|\d+,\d+,\d+,\d+)\):\s+(error|warning|info)\s+(CS\d+)\s*:\s*(.*)$/,
1153
+ kind: ProblemLocationKind.Location,
1154
+ file: 1,
1155
+ location: 2,
1156
+ severity: 3,
1157
+ code: 4,
1158
+ message: 5
1159
+ });
1160
+ this.add("vb", {
1161
+ regexp: /^(\S.*)\((\d+|\d+,\d+|\d+,\d+,\d+,\d+)\):\s+(error|warning|info)\s+(BC\d+)\s*:\s*(.*)$/,
1162
+ kind: ProblemLocationKind.Location,
1163
+ file: 1,
1164
+ location: 2,
1165
+ severity: 3,
1166
+ code: 4,
1167
+ message: 5
1168
+ });
1169
+ this.add("lessCompile", {
1170
+ regexp: /^\s*(.*) in file (.*) line no. (\d+)$/,
1171
+ kind: ProblemLocationKind.Location,
1172
+ message: 1,
1173
+ file: 2,
1174
+ line: 3
1175
+ });
1176
+ this.add("jshint", {
1177
+ regexp: /^(.*):\s+line\s+(\d+),\s+col\s+(\d+),\s(.+?)(?:\s+\((\w)(\d+)\))?$/,
1178
+ kind: ProblemLocationKind.Location,
1179
+ file: 1,
1180
+ line: 2,
1181
+ character: 3,
1182
+ message: 4,
1183
+ severity: 5,
1184
+ code: 6
1185
+ });
1186
+ this.add("jshint-stylish", [{
1187
+ regexp: /^(.+)$/,
1188
+ kind: ProblemLocationKind.Location,
1189
+ file: 1
1190
+ }, {
1191
+ regexp: /^\s+line\s+(\d+)\s+col\s+(\d+)\s+(.+?)(?:\s+\((\w)(\d+)\))?$/,
1192
+ line: 1,
1193
+ character: 2,
1194
+ message: 3,
1195
+ severity: 4,
1196
+ code: 5,
1197
+ loop: true
1198
+ }]);
1199
+ this.add("eslint-compact", {
1200
+ regexp: /^(.+):\sline\s(\d+),\scol\s(\d+),\s(Error|Warning|Info)\s-\s(.+)\s\((.+)\)$/,
1201
+ file: 1,
1202
+ kind: ProblemLocationKind.Location,
1203
+ line: 2,
1204
+ character: 3,
1205
+ severity: 4,
1206
+ message: 5,
1207
+ code: 6
1208
+ });
1209
+ this.add("eslint-stylish", [{
1210
+ regexp: /^((?:[a-zA-Z]:)*[./\\]+.*?)$/,
1211
+ kind: ProblemLocationKind.Location,
1212
+ file: 1
1213
+ }, {
1214
+ regexp: /^\s+(\d+):(\d+)\s+(error|warning|info)\s+(.+?)(?:\s\s+(.*))?$/,
1215
+ line: 1,
1216
+ character: 2,
1217
+ severity: 3,
1218
+ message: 4,
1219
+ code: 5,
1220
+ loop: true
1221
+ }]);
1222
+ this.add("go", {
1223
+ regexp: /^([^:]*: )?((.:)?[^:]*):(\d+)(:(\d+))?: (.*)$/,
1224
+ kind: ProblemLocationKind.Location,
1225
+ file: 2,
1226
+ line: 4,
1227
+ character: 6,
1228
+ message: 7
1229
+ });
1230
+ }
1231
+ }
1232
+ const ProblemPatternRegistry = ( new ProblemPatternRegistryImpl());
1233
+ class ProblemMatcherParser extends Parser {
1234
+ constructor(logger) {
1235
+ super(logger);
1236
+ }
1237
+ parse(json) {
1238
+ const result = this.createProblemMatcher(json);
1239
+ if (!this.checkProblemMatcherValid(json, result)) {
1240
+ return undefined;
1241
+ }
1242
+ this.addWatchingMatcher(json, result);
1243
+ return result;
1244
+ }
1245
+ checkProblemMatcherValid(externalProblemMatcher, problemMatcher) {
1246
+ if (!problemMatcher) {
1247
+ this.error(( localize(
1248
+ 12959,
1249
+ "Error: the description can't be converted into a problem matcher:\n{0}\n",
1250
+ JSON.stringify(externalProblemMatcher, null, 4)
1251
+ )));
1252
+ return false;
1253
+ }
1254
+ if (!problemMatcher.pattern) {
1255
+ this.error(( localize(
1256
+ 12960,
1257
+ "Error: the description doesn't define a valid problem pattern:\n{0}\n",
1258
+ JSON.stringify(externalProblemMatcher, null, 4)
1259
+ )));
1260
+ return false;
1261
+ }
1262
+ if (!problemMatcher.owner) {
1263
+ this.error(( localize(
1264
+ 12961,
1265
+ "Error: the description doesn't define an owner:\n{0}\n",
1266
+ JSON.stringify(externalProblemMatcher, null, 4)
1267
+ )));
1268
+ return false;
1269
+ }
1270
+ if (isUndefined(problemMatcher.fileLocation)) {
1271
+ this.error(( localize(
1272
+ 12962,
1273
+ "Error: the description doesn't define a file location:\n{0}\n",
1274
+ JSON.stringify(externalProblemMatcher, null, 4)
1275
+ )));
1276
+ return false;
1277
+ }
1278
+ return true;
1279
+ }
1280
+ createProblemMatcher(description) {
1281
+ let result = null;
1282
+ const owner = isString(description.owner) ? description.owner : generateUuid();
1283
+ const source = isString(description.source) ? description.source : undefined;
1284
+ let applyTo = isString(description.applyTo) ? ApplyToKind.fromString(description.applyTo) : ApplyToKind.allDocuments;
1285
+ if (!applyTo) {
1286
+ applyTo = ApplyToKind.allDocuments;
1287
+ }
1288
+ let fileLocation = undefined;
1289
+ let filePrefix = undefined;
1290
+ let kind;
1291
+ if (isUndefined(description.fileLocation)) {
1292
+ fileLocation = FileLocationKind.Relative;
1293
+ filePrefix = "${workspaceFolder}";
1294
+ } else if (isString(description.fileLocation)) {
1295
+ kind = FileLocationKind.fromString(description.fileLocation);
1296
+ if (kind) {
1297
+ fileLocation = kind;
1298
+ if ((kind === FileLocationKind.Relative) || (kind === FileLocationKind.AutoDetect)) {
1299
+ filePrefix = "${workspaceFolder}";
1300
+ } else if (kind === FileLocationKind.Search) {
1301
+ filePrefix = {
1302
+ include: ["${workspaceFolder}"]
1303
+ };
1304
+ }
1305
+ }
1306
+ } else if (isStringArray(description.fileLocation)) {
1307
+ const values = description.fileLocation;
1308
+ if (values.length > 0) {
1309
+ kind = FileLocationKind.fromString(values[0]);
1310
+ if (values.length === 1 && kind === FileLocationKind.Absolute) {
1311
+ fileLocation = kind;
1312
+ } else if (values.length === 2 && (kind === FileLocationKind.Relative || kind === FileLocationKind.AutoDetect) && values[1]) {
1313
+ fileLocation = kind;
1314
+ filePrefix = values[1];
1315
+ }
1316
+ }
1317
+ } else if (Array.isArray(description.fileLocation)) {
1318
+ const kind = FileLocationKind.fromString(description.fileLocation[0]);
1319
+ if (kind === FileLocationKind.Search) {
1320
+ fileLocation = FileLocationKind.Search;
1321
+ filePrefix = description.fileLocation[1] ?? {
1322
+ include: ["${workspaceFolder}"]
1323
+ };
1324
+ }
1325
+ }
1326
+ const pattern = description.pattern ? this.createProblemPattern(description.pattern) : undefined;
1327
+ let severity = description.severity ? Severity$1.fromValue(description.severity) : undefined;
1328
+ if (severity === Severity$1.Ignore) {
1329
+ this.info(( localize(
1330
+ 12963,
1331
+ "Info: unknown severity {0}. Valid values are error, warning and info.\n",
1332
+ description.severity
1333
+ )));
1334
+ severity = Severity$1.Error;
1335
+ }
1336
+ if (isString(description.base)) {
1337
+ const variableName = description.base;
1338
+ if (variableName.length > 1 && variableName[0] === "$") {
1339
+ const base = ProblemMatcherRegistry.get(variableName.substring(1));
1340
+ if (base) {
1341
+ result = deepClone(base);
1342
+ if (description.owner !== undefined && owner !== undefined) {
1343
+ result.owner = owner;
1344
+ }
1345
+ if (description.source !== undefined && source !== undefined) {
1346
+ result.source = source;
1347
+ }
1348
+ if (description.fileLocation !== undefined && fileLocation !== undefined) {
1349
+ result.fileLocation = fileLocation;
1350
+ result.filePrefix = filePrefix;
1351
+ }
1352
+ if (description.pattern !== undefined && pattern !== undefined && pattern !== null) {
1353
+ result.pattern = pattern;
1354
+ }
1355
+ if (description.severity !== undefined && severity !== undefined) {
1356
+ result.severity = severity;
1357
+ }
1358
+ if (description.applyTo !== undefined && applyTo !== undefined) {
1359
+ result.applyTo = applyTo;
1360
+ }
1361
+ }
1362
+ }
1363
+ } else if (fileLocation && pattern) {
1364
+ result = {
1365
+ owner: owner,
1366
+ applyTo: applyTo,
1367
+ fileLocation: fileLocation,
1368
+ pattern: pattern
1369
+ };
1370
+ if (source) {
1371
+ result.source = source;
1372
+ }
1373
+ if (filePrefix) {
1374
+ result.filePrefix = filePrefix;
1375
+ }
1376
+ if (severity) {
1377
+ result.severity = severity;
1378
+ }
1379
+ }
1380
+ if (Config.isNamedProblemMatcher(description)) {
1381
+ result.name = description.name;
1382
+ result.label = isString(description.label) ? description.label : description.name;
1383
+ }
1384
+ return result;
1385
+ }
1386
+ createProblemPattern(value) {
1387
+ if (isString(value)) {
1388
+ const variableName = value;
1389
+ if (variableName.length > 1 && variableName[0] === "$") {
1390
+ const result = ProblemPatternRegistry.get(variableName.substring(1));
1391
+ if (!result) {
1392
+ this.error(( localize(
1393
+ 12964,
1394
+ "Error: the pattern with the identifier {0} doesn't exist.",
1395
+ variableName
1396
+ )));
1397
+ }
1398
+ return result;
1399
+ } else {
1400
+ if (variableName.length === 0) {
1401
+ this.error(( localize(12965, "Error: the pattern property refers to an empty identifier.")));
1402
+ } else {
1403
+ this.error(( localize(
1404
+ 12966,
1405
+ "Error: the pattern property {0} is not a valid pattern variable name.",
1406
+ variableName
1407
+ )));
1408
+ }
1409
+ }
1410
+ } else if (value) {
1411
+ const problemPatternParser = ( new ProblemPatternParser(this.problemReporter));
1412
+ if (Array.isArray(value)) {
1413
+ return problemPatternParser.parse(value);
1414
+ } else {
1415
+ return problemPatternParser.parse(value);
1416
+ }
1417
+ }
1418
+ return null;
1419
+ }
1420
+ addWatchingMatcher(external, internal) {
1421
+ const oldBegins = this.createRegularExpression(external.watchedTaskBeginsRegExp);
1422
+ const oldEnds = this.createRegularExpression(external.watchedTaskEndsRegExp);
1423
+ if (oldBegins && oldEnds) {
1424
+ internal.watching = {
1425
+ activeOnStart: false,
1426
+ beginsPattern: {
1427
+ regexp: oldBegins
1428
+ },
1429
+ endsPattern: {
1430
+ regexp: oldEnds
1431
+ }
1432
+ };
1433
+ return;
1434
+ }
1435
+ const backgroundMonitor = external.background || external.watching;
1436
+ if (isUndefinedOrNull(backgroundMonitor)) {
1437
+ return;
1438
+ }
1439
+ const begins = this.createWatchingPattern(backgroundMonitor.beginsPattern);
1440
+ const ends = this.createWatchingPattern(backgroundMonitor.endsPattern);
1441
+ if (begins && ends) {
1442
+ internal.watching = {
1443
+ activeOnStart: isBoolean(backgroundMonitor.activeOnStart) ? backgroundMonitor.activeOnStart : false,
1444
+ beginsPattern: begins,
1445
+ endsPattern: ends
1446
+ };
1447
+ return;
1448
+ }
1449
+ if (begins || ends) {
1450
+ this.error(( localize(
1451
+ 12967,
1452
+ "A problem matcher must define both a begin pattern and an end pattern for watching."
1453
+ )));
1454
+ }
1455
+ }
1456
+ createWatchingPattern(external) {
1457
+ if (isUndefinedOrNull(external)) {
1458
+ return null;
1459
+ }
1460
+ let regexp;
1461
+ let file;
1462
+ if (isString(external)) {
1463
+ regexp = this.createRegularExpression(external);
1464
+ } else {
1465
+ regexp = this.createRegularExpression(external.regexp);
1466
+ if (isNumber(external.file)) {
1467
+ file = external.file;
1468
+ }
1469
+ }
1470
+ if (!regexp) {
1471
+ return null;
1472
+ }
1473
+ return file ? {
1474
+ regexp,
1475
+ file
1476
+ } : {
1477
+ regexp,
1478
+ file: 1
1479
+ };
1480
+ }
1481
+ createRegularExpression(value) {
1482
+ let result = null;
1483
+ if (!value) {
1484
+ return result;
1485
+ }
1486
+ try {
1487
+ result = ( new RegExp(value));
1488
+ } catch (err) {
1489
+ this.error(( localize(12968, "Error: The string {0} is not a valid regular expression.\n", value)));
1490
+ }
1491
+ return result;
1492
+ }
1493
+ }
1494
+ const problemMatchersExtPoint = ExtensionsRegistry.registerExtensionPoint({
1495
+ extensionPoint: "problemMatchers",
1496
+ deps: [problemPatternExtPoint],
1497
+ jsonSchema: {
1498
+ description: ( localize(12969, "Contributes problem matchers")),
1499
+ type: "array",
1500
+ items: Schemas.NamedProblemMatcher
1501
+ }
1502
+ });
1503
+ class ProblemMatcherRegistryImpl {
1504
+ constructor() {
1505
+ this._onMatchersChanged = ( new Emitter());
1506
+ this.onMatcherChanged = this._onMatchersChanged.event;
1507
+ this.matchers = Object.create(null);
1508
+ this.fillDefaults();
1509
+ this.readyPromise = ( new Promise((resolve, reject) => {
1510
+ problemMatchersExtPoint.setHandler((extensions, delta) => {
1511
+ try {
1512
+ delta.removed.forEach(extension => {
1513
+ const problemMatchers = extension.value;
1514
+ for (const matcher of problemMatchers) {
1515
+ if (this.matchers[matcher.name]) {
1516
+ delete this.matchers[matcher.name];
1517
+ }
1518
+ }
1519
+ });
1520
+ delta.added.forEach(extension => {
1521
+ const problemMatchers = extension.value;
1522
+ const parser = ( new ProblemMatcherParser(( new ExtensionRegistryReporter(extension.collector))));
1523
+ for (const matcher of problemMatchers) {
1524
+ const result = parser.parse(matcher);
1525
+ if (result && isNamedProblemMatcher(result)) {
1526
+ this.add(result);
1527
+ }
1528
+ }
1529
+ });
1530
+ if ((delta.removed.length > 0) || (delta.added.length > 0)) {
1531
+ this._onMatchersChanged.fire();
1532
+ }
1533
+ } catch (error) {}
1534
+ const matcher = this.get("tsc-watch");
1535
+ if (matcher) {
1536
+ matcher.tscWatch = true;
1537
+ }
1538
+ resolve(undefined);
1539
+ });
1540
+ }));
1541
+ }
1542
+ onReady() {
1543
+ ProblemPatternRegistry.onReady();
1544
+ return this.readyPromise;
1545
+ }
1546
+ add(matcher) {
1547
+ this.matchers[matcher.name] = matcher;
1548
+ }
1549
+ get(name) {
1550
+ return this.matchers[name];
1551
+ }
1552
+ keys() {
1553
+ return ( Object.keys(this.matchers));
1554
+ }
1555
+ fillDefaults() {
1556
+ this.add({
1557
+ name: "msCompile",
1558
+ label: ( localize(12970, "Microsoft compiler problems")),
1559
+ owner: "msCompile",
1560
+ source: "cpp",
1561
+ applyTo: ApplyToKind.allDocuments,
1562
+ fileLocation: FileLocationKind.Absolute,
1563
+ pattern: ProblemPatternRegistry.get("msCompile")
1564
+ });
1565
+ this.add({
1566
+ name: "lessCompile",
1567
+ label: ( localize(12971, "Less problems")),
1568
+ deprecated: true,
1569
+ owner: "lessCompile",
1570
+ source: "less",
1571
+ applyTo: ApplyToKind.allDocuments,
1572
+ fileLocation: FileLocationKind.Absolute,
1573
+ pattern: ProblemPatternRegistry.get("lessCompile"),
1574
+ severity: Severity$1.Error
1575
+ });
1576
+ this.add({
1577
+ name: "gulp-tsc",
1578
+ label: ( localize(12972, "Gulp TSC Problems")),
1579
+ owner: "typescript",
1580
+ source: "ts",
1581
+ applyTo: ApplyToKind.closedDocuments,
1582
+ fileLocation: FileLocationKind.Relative,
1583
+ filePrefix: "${workspaceFolder}",
1584
+ pattern: ProblemPatternRegistry.get("gulp-tsc")
1585
+ });
1586
+ this.add({
1587
+ name: "jshint",
1588
+ label: ( localize(12973, "JSHint problems")),
1589
+ owner: "jshint",
1590
+ source: "jshint",
1591
+ applyTo: ApplyToKind.allDocuments,
1592
+ fileLocation: FileLocationKind.Absolute,
1593
+ pattern: ProblemPatternRegistry.get("jshint")
1594
+ });
1595
+ this.add({
1596
+ name: "jshint-stylish",
1597
+ label: ( localize(12974, "JSHint stylish problems")),
1598
+ owner: "jshint",
1599
+ source: "jshint",
1600
+ applyTo: ApplyToKind.allDocuments,
1601
+ fileLocation: FileLocationKind.Absolute,
1602
+ pattern: ProblemPatternRegistry.get("jshint-stylish")
1603
+ });
1604
+ this.add({
1605
+ name: "eslint-compact",
1606
+ label: ( localize(12975, "ESLint compact problems")),
1607
+ owner: "eslint",
1608
+ source: "eslint",
1609
+ applyTo: ApplyToKind.allDocuments,
1610
+ fileLocation: FileLocationKind.Absolute,
1611
+ filePrefix: "${workspaceFolder}",
1612
+ pattern: ProblemPatternRegistry.get("eslint-compact")
1613
+ });
1614
+ this.add({
1615
+ name: "eslint-stylish",
1616
+ label: ( localize(12976, "ESLint stylish problems")),
1617
+ owner: "eslint",
1618
+ source: "eslint",
1619
+ applyTo: ApplyToKind.allDocuments,
1620
+ fileLocation: FileLocationKind.Absolute,
1621
+ pattern: ProblemPatternRegistry.get("eslint-stylish")
1622
+ });
1623
+ this.add({
1624
+ name: "go",
1625
+ label: ( localize(12977, "Go problems")),
1626
+ owner: "go",
1627
+ source: "go",
1628
+ applyTo: ApplyToKind.allDocuments,
1629
+ fileLocation: FileLocationKind.Relative,
1630
+ filePrefix: "${workspaceFolder}",
1631
+ pattern: ProblemPatternRegistry.get("go")
1632
+ });
1633
+ }
1634
+ }
1635
+ const ProblemMatcherRegistry = ( new ProblemMatcherRegistryImpl());
1636
+
1637
+ export { ApplyToKind, Config, ExtensionRegistryReporter, FileLocationKind, ProblemLocationKind, ProblemMatcherParser, ProblemMatcherRegistry, ProblemPatternParser, ProblemPatternRegistry, Schemas, createLineMatcher, getResource, isNamedProblemMatcher };