@codingame/monaco-vscode-api 7.0.11 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (683) hide show
  1. package/api.js +60 -10
  2. package/extensions.d.ts +9 -0
  3. package/l10n.d.ts +13 -1
  4. package/l10n.js +3 -2
  5. package/missing-services.js +35 -21
  6. package/package.json +9 -9
  7. package/service-override/workingCopy.d.ts +4 -1
  8. package/services.js +2 -2
  9. package/vscode/src/vs/base/browser/browser.js +4 -1
  10. package/vscode/src/vs/base/browser/defaultWorkerFactory.js +7 -1
  11. package/vscode/src/vs/base/browser/dom.js +8 -1
  12. package/vscode/src/vs/base/browser/markdownRenderer.js +1 -1
  13. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.d.ts +1 -0
  14. package/vscode/src/vs/base/browser/ui/actionbar/actionViewItems.js +13 -6
  15. package/vscode/src/vs/base/browser/ui/actionbar/actionbar.js +1 -1
  16. package/vscode/src/vs/base/browser/ui/button/button.js +2 -3
  17. package/vscode/src/vs/base/browser/ui/dialog/dialog.js +7 -8
  18. package/vscode/src/vs/base/browser/ui/dropdown/dropdownActionViewItem.js +2 -3
  19. package/vscode/src/vs/base/browser/ui/findinput/findInput.js +2 -3
  20. package/vscode/src/vs/base/browser/ui/findinput/findInputToggles.js +4 -5
  21. package/vscode/src/vs/base/browser/ui/findinput/replaceInput.js +3 -4
  22. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.css.js +1 -1
  23. package/vscode/src/vs/base/browser/ui/hover/hoverWidget.js +3 -5
  24. package/vscode/src/vs/base/browser/ui/icons/iconSelectBox.js +3 -4
  25. package/vscode/src/vs/base/browser/ui/inputbox/inputBox.js +7 -8
  26. package/vscode/src/vs/base/browser/ui/keybindingLabel/keybindingLabel.js +2 -3
  27. package/vscode/src/vs/base/browser/ui/list/listView.js +2 -2
  28. package/vscode/src/vs/base/browser/ui/menu/menubar.js +2 -3
  29. package/vscode/src/vs/base/browser/ui/selectBox/selectBoxCustom.js +4 -5
  30. package/vscode/src/vs/base/browser/ui/splitview/paneview.js +2 -3
  31. package/vscode/src/vs/base/browser/ui/table/tableWidget.js +1 -1
  32. package/vscode/src/vs/base/browser/ui/toggle/toggle.css.js +1 -1
  33. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.js +2 -3
  34. package/vscode/src/vs/base/browser/ui/tree/abstractTree.js +11 -12
  35. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +2 -3
  36. package/vscode/src/vs/base/common/actions.js +2 -3
  37. package/vscode/src/vs/base/common/arrays.js +7 -1
  38. package/vscode/src/vs/base/common/date.js +61 -63
  39. package/vscode/src/vs/base/common/errorMessage.js +8 -22
  40. package/vscode/src/vs/base/common/event.d.ts +16 -0
  41. package/vscode/src/vs/base/common/event.js +4 -0
  42. package/vscode/src/vs/base/common/hotReload.js +13 -1
  43. package/vscode/src/vs/base/common/hotReloadHelpers.js +25 -0
  44. package/vscode/src/vs/base/common/jsonErrorMessages.js +10 -11
  45. package/vscode/src/vs/base/common/jsonSchema.js +122 -0
  46. package/vscode/src/vs/base/common/keybindingLabels.js +21 -22
  47. package/vscode/src/vs/base/common/labels.js +2 -2
  48. package/vscode/src/vs/base/common/network.js +1 -1
  49. package/vscode/src/vs/base/common/observableInternal/base.d.ts +1 -0
  50. package/vscode/src/vs/base/common/observableInternal/base.js +6 -0
  51. package/vscode/src/vs/base/common/observableInternal/utils.js +4 -1
  52. package/vscode/src/vs/base/common/path.d.ts +1 -1
  53. package/vscode/src/vs/base/common/path.js +20 -17
  54. package/vscode/src/vs/base/common/performance.js +78 -15
  55. package/vscode/src/vs/base/common/platform.js +14 -17
  56. package/vscode/src/vs/base/common/prefixTree.d.ts +2 -0
  57. package/vscode/src/vs/base/common/prefixTree.js +3 -0
  58. package/vscode/src/vs/base/common/product.d.ts +3 -7
  59. package/vscode/src/vs/base/common/uri.js +3 -0
  60. package/vscode/src/vs/base/parts/ipc/common/ipc.net.js +6 -3
  61. package/vscode/src/vs/editor/browser/controller/mouseHandler.js +66 -18
  62. package/vscode/src/vs/editor/browser/controller/mouseTarget.js +18 -5
  63. package/vscode/src/vs/editor/browser/controller/pointerHandler.js +3 -3
  64. package/vscode/src/vs/editor/browser/controller/textAreaHandler.js +9 -13
  65. package/vscode/src/vs/editor/browser/coreCommands.js +4 -5
  66. package/vscode/src/vs/editor/browser/editorExtensions.js +7 -8
  67. package/vscode/src/vs/editor/browser/observableCodeEditor.js +2 -0
  68. package/vscode/src/vs/editor/browser/services/hoverService/hoverWidget.js +2 -3
  69. package/vscode/src/vs/editor/browser/services/hoverService/updatableHoverWidget.js +2 -3
  70. package/vscode/src/vs/editor/browser/view.js +3 -1
  71. package/vscode/src/vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler.js +1 -2
  72. package/vscode/src/vs/editor/browser/widget/codeEditor/codeEditorWidget.js +4 -6
  73. package/vscode/src/vs/editor/browser/widget/codeEditor/editor.css.js +1 -1
  74. package/vscode/src/vs/editor/browser/widget/diffEditor/commands.js +13 -14
  75. package/vscode/src/vs/editor/browser/widget/diffEditor/components/accessibleDiffViewer.js +17 -38
  76. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorDecorations.js +20 -2
  77. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorEditors.js +6 -6
  78. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/diffEditorViewZones.js +11 -2
  79. package/vscode/src/vs/editor/browser/widget/diffEditor/components/diffEditorViewZones/inlineDiffDeletedCodeMargin.js +10 -13
  80. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditor.contribution.js +6 -7
  81. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorOptions.js +37 -3
  82. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorViewModel.js +4 -2
  83. package/vscode/src/vs/editor/browser/widget/diffEditor/diffEditorWidget.js +33 -23
  84. package/vscode/src/vs/editor/browser/widget/diffEditor/features/hideUnchangedRegionsFeature.js +91 -41
  85. package/vscode/src/vs/editor/browser/widget/diffEditor/features/movedBlocksLinesFeature.js +9 -14
  86. package/vscode/src/vs/editor/browser/widget/diffEditor/features/overviewRulerFeature.js +1 -1
  87. package/vscode/src/vs/editor/browser/widget/diffEditor/features/revertButtonsFeature.js +3 -4
  88. package/vscode/src/vs/editor/browser/widget/diffEditor/registrations.contribution.js +7 -13
  89. package/vscode/src/vs/editor/browser/widget/diffEditor/style.css.js +1 -1
  90. package/vscode/src/vs/editor/browser/widget/diffEditor/utils.js +80 -21
  91. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/colors.js +4 -5
  92. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/diffEditorItemTemplate.js +24 -18
  93. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorViewModel.js +26 -13
  94. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidget.js +4 -1
  95. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/multiDiffEditorWidgetImpl.js +8 -4
  96. package/vscode/src/vs/editor/common/config/diffEditor.js +2 -0
  97. package/vscode/src/vs/editor/common/config/editorConfigurationSchema.js +86 -115
  98. package/vscode/src/vs/editor/common/config/editorOptions.d.ts +11 -1
  99. package/vscode/src/vs/editor/common/config/editorOptions.js +547 -932
  100. package/vscode/src/vs/editor/common/core/editorColorRegistry.js +102 -144
  101. package/vscode/src/vs/editor/common/core/lineRange.js +1 -1
  102. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.js +11 -0
  103. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.js +2 -2
  104. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.js +8 -3
  105. package/vscode/src/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.js +34 -34
  106. package/vscode/src/vs/editor/common/diff/rangeMapping.d.ts +7 -0
  107. package/vscode/src/vs/editor/common/diff/rangeMapping.js +40 -0
  108. package/vscode/src/vs/editor/common/editorContextKeys.js +52 -69
  109. package/vscode/src/vs/editor/common/languageFeatureRegistry.d.ts +1 -1
  110. package/vscode/src/vs/editor/common/languageFeatureRegistry.js +27 -14
  111. package/vscode/src/vs/editor/common/languages/modesRegistry.js +2 -3
  112. package/vscode/src/vs/editor/common/languages.d.ts +4 -0
  113. package/vscode/src/vs/editor/common/languages.js +28 -29
  114. package/vscode/src/vs/editor/common/model/editStack.js +2 -3
  115. package/vscode/src/vs/editor/common/model/guidesTextModelPart.js +1 -1
  116. package/vscode/src/vs/editor/common/standaloneStrings.js +57 -54
  117. package/vscode/src/vs/editor/common/viewLayout/viewLineRenderer.js +3 -9
  118. package/vscode/src/vs/editor/common/viewModel/modelLineProjection.js +1 -1
  119. package/vscode/src/vs/editor/contrib/anchorSelect/browser/anchorSelect.js +7 -14
  120. package/vscode/src/vs/editor/contrib/bracketMatching/browser/bracketMatching.js +7 -12
  121. package/vscode/src/vs/editor/contrib/caretOperations/browser/caretOperations.js +3 -4
  122. package/vscode/src/vs/editor/contrib/caretOperations/browser/transpose.js +2 -3
  123. package/vscode/src/vs/editor/contrib/clipboard/browser/clipboard.js +18 -19
  124. package/vscode/src/vs/editor/contrib/codeAction/browser/codeAction.js +2 -3
  125. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionCommands.js +29 -53
  126. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionContributions.js +22 -10
  127. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionController.js +8 -9
  128. package/vscode/src/vs/editor/contrib/codeAction/browser/codeActionMenu.js +9 -10
  129. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.css.js +1 -1
  130. package/vscode/src/vs/editor/contrib/codeAction/browser/lightBulbWidget.js +183 -9
  131. package/vscode/src/vs/editor/contrib/codelens/browser/codeLensCache.js +4 -5
  132. package/vscode/src/vs/editor/contrib/codelens/browser/codelensController.js +3 -4
  133. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorHoverParticipant.js +2 -3
  134. package/vscode/src/vs/editor/contrib/colorPicker/browser/colorPickerWidget.js +3 -4
  135. package/vscode/src/vs/editor/contrib/colorPicker/browser/standaloneColorPickerActions.js +10 -13
  136. package/vscode/src/vs/editor/contrib/comment/browser/comment.js +7 -8
  137. package/vscode/src/vs/editor/contrib/contextmenu/browser/contextmenu.js +12 -15
  138. package/vscode/src/vs/editor/contrib/cursorUndo/browser/cursorUndo.js +3 -4
  139. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js +5 -7
  140. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/copyPasteController.js +9 -11
  141. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/defaultProviders.js +9 -10
  142. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js +3 -5
  143. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/dropIntoEditorController.js +4 -5
  144. package/vscode/src/vs/editor/contrib/dropOrPasteInto/browser/postEditWidget.js +3 -16
  145. package/vscode/src/vs/editor/contrib/editorState/browser/keybindingCancellation.js +3 -5
  146. package/vscode/src/vs/editor/contrib/find/browser/findController.js +20 -24
  147. package/vscode/src/vs/editor/contrib/find/browser/findModel.js +6 -1
  148. package/vscode/src/vs/editor/contrib/find/browser/findWidget.js +31 -35
  149. package/vscode/src/vs/editor/contrib/folding/browser/folding.js +20 -21
  150. package/vscode/src/vs/editor/contrib/folding/browser/foldingDecorations.js +11 -25
  151. package/vscode/src/vs/editor/contrib/fontZoom/browser/fontZoom.js +4 -5
  152. package/vscode/src/vs/editor/contrib/format/browser/formatActions.js +3 -4
  153. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoError.js +9 -10
  154. package/vscode/src/vs/editor/contrib/gotoError/browser/gotoErrorWidget.js +18 -25
  155. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToCommands.js +46 -47
  156. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/goToSymbol.js +42 -17
  157. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js +3 -4
  158. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesController.js +5 -13
  159. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesTree.js +4 -5
  160. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/peek/referencesWidget.js +4 -5
  161. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/referencesModel.js +15 -22
  162. package/vscode/src/vs/editor/contrib/gotoSymbol/browser/symbolNavigation.js +7 -11
  163. package/vscode/src/vs/editor/contrib/hover/browser/contentHoverRendered.js +5 -7
  164. package/vscode/src/vs/editor/contrib/hover/browser/getHover.js +8 -4
  165. package/vscode/src/vs/editor/contrib/hover/browser/hoverAccessibleViews.js +24 -38
  166. package/vscode/src/vs/editor/contrib/hover/browser/hoverActionIds.js +3 -4
  167. package/vscode/src/vs/editor/contrib/hover/browser/hoverActions.js +25 -27
  168. package/vscode/src/vs/editor/contrib/hover/browser/markdownHoverParticipant.js +12 -15
  169. package/vscode/src/vs/editor/contrib/hover/browser/markerHoverParticipant.js +6 -7
  170. package/vscode/src/vs/editor/contrib/inPlaceReplace/browser/inPlaceReplace.js +3 -4
  171. package/vscode/src/vs/editor/contrib/indentation/browser/indentation.js +21 -22
  172. package/vscode/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.js +9 -10
  173. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/commands.js +12 -13
  174. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/ghostTextWidget.js +2 -2
  175. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/hoverParticipant.js +3 -4
  176. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionContextKeys.js +7 -10
  177. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsAccessibleView.js +51 -42
  178. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsController.js +3 -5
  179. package/vscode/src/vs/editor/contrib/inlineCompletions/browser/inlineCompletionsHintsWidget.js +6 -7
  180. package/vscode/src/vs/editor/contrib/inlineEdit/browser/ghostTextWidget.js +12 -16
  181. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.contribution.js +0 -3
  182. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEdit.css.js +1 -1
  183. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditController.js +58 -39
  184. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditHintsWidget.js +1 -1
  185. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.css.js +4 -0
  186. package/vscode/src/vs/editor/contrib/inlineEdit/browser/inlineEditSideBySideWidget.js +301 -0
  187. package/vscode/src/vs/editor/contrib/inlineEdits/browser/commands.js +7 -8
  188. package/vscode/src/vs/editor/contrib/inlineEdits/browser/consts.js +3 -4
  189. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsController.js +1 -1
  190. package/vscode/src/vs/editor/contrib/inlineEdits/browser/inlineEditsWidget.js +1 -1
  191. package/vscode/src/vs/editor/contrib/lineSelection/browser/lineSelection.js +2 -3
  192. package/vscode/src/vs/editor/contrib/linesOperations/browser/linesOperations.js +31 -32
  193. package/vscode/src/vs/editor/contrib/linkedEditing/browser/linkedEditing.js +3 -4
  194. package/vscode/src/vs/editor/contrib/links/browser/links.js +12 -14
  195. package/vscode/src/vs/editor/contrib/message/browser/messageController.js +2 -3
  196. package/vscode/src/vs/editor/contrib/multicursor/browser/multicursor.js +23 -24
  197. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.css.js +1 -1
  198. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHints.js +2 -3
  199. package/vscode/src/vs/editor/contrib/parameterHints/browser/parameterHintsWidget.js +11 -12
  200. package/vscode/src/vs/editor/contrib/peekView/browser/peekView.js +20 -35
  201. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.contribution.js +5 -56
  202. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderText.css.js +1 -1
  203. package/vscode/src/vs/editor/contrib/placeholderText/browser/placeholderTextContribution.js +71 -0
  204. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoLineQuickAccess.js +8 -11
  205. package/vscode/src/vs/editor/contrib/quickAccess/browser/gotoSymbolQuickAccess.js +35 -41
  206. package/vscode/src/vs/editor/contrib/readOnlyMessage/browser/contribution.js +3 -4
  207. package/vscode/src/vs/editor/contrib/rename/browser/rename.js +13 -25
  208. package/vscode/src/vs/editor/contrib/rename/browser/renameWidget.js +9 -11
  209. package/vscode/src/vs/editor/contrib/smartSelect/browser/smartSelect.js +5 -6
  210. package/vscode/src/vs/editor/contrib/snippet/browser/snippetController2.js +5 -6
  211. package/vscode/src/vs/editor/contrib/snippet/browser/snippetVariables.js +5 -6
  212. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollActions.js +13 -15
  213. package/vscode/src/vs/editor/contrib/stickyScroll/browser/stickyScrollController.js +1 -1
  214. package/vscode/src/vs/editor/contrib/suggest/browser/suggest.js +10 -20
  215. package/vscode/src/vs/editor/contrib/suggest/browser/suggestController.js +12 -14
  216. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidget.js +19 -32
  217. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetDetails.js +3 -4
  218. package/vscode/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.js +3 -4
  219. package/vscode/src/vs/editor/contrib/symbolIcons/browser/symbolIcons.js +67 -101
  220. package/vscode/src/vs/editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js +6 -12
  221. package/vscode/src/vs/editor/contrib/tokenization/browser/tokenization.js +2 -3
  222. package/vscode/src/vs/editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js +30 -49
  223. package/vscode/src/vs/editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js +7 -9
  224. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/highlightDecorations.js +18 -27
  225. package/vscode/src/vs/editor/contrib/wordHighlighter/browser/wordHighlighter.js +5 -6
  226. package/vscode/src/vs/editor/contrib/wordOperations/browser/wordOperations.js +2 -3
  227. package/vscode/src/vs/nls.js +27 -21
  228. package/vscode/src/vs/platform/accessibility/browser/accessibleView.js +15 -9
  229. package/vscode/src/vs/platform/accessibility/browser/accessibleViewRegistry.js +1 -16
  230. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.d.ts +0 -1
  231. package/vscode/src/vs/platform/accessibilitySignal/browser/accessibilitySignalService.js +53 -56
  232. package/vscode/src/vs/platform/action/common/actionCommonCategories.js +7 -8
  233. package/vscode/src/vs/platform/actionWidget/browser/actionList.js +5 -6
  234. package/vscode/src/vs/platform/actionWidget/browser/actionWidget.js +8 -9
  235. package/vscode/src/vs/platform/actions/browser/buttonbar.js +4 -5
  236. package/vscode/src/vs/platform/actions/browser/menuEntryActionViewItem.js +43 -13
  237. package/vscode/src/vs/platform/actions/browser/toolbar.js +5 -6
  238. package/vscode/src/vs/platform/actions/common/actions.d.ts +4 -0
  239. package/vscode/src/vs/platform/actions/common/actions.js +4 -0
  240. package/vscode/src/vs/platform/actions/common/actions.service.d.ts +14 -1
  241. package/vscode/src/vs/platform/actions/common/menuResetAction.js +2 -3
  242. package/vscode/src/vs/platform/actions/common/menuService.js +52 -21
  243. package/vscode/src/vs/platform/configuration/common/configurationModels.js +11 -3
  244. package/vscode/src/vs/platform/configuration/common/configurationRegistry.d.ts +14 -8
  245. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +180 -146
  246. package/vscode/src/vs/platform/configuration/common/configurations.js +2 -2
  247. package/vscode/src/vs/platform/contextkey/browser/contextKeyService.js +2 -3
  248. package/vscode/src/vs/platform/contextkey/common/contextkey.js +13 -21
  249. package/vscode/src/vs/platform/contextkey/common/contextkeys.js +10 -15
  250. package/vscode/src/vs/platform/contextkey/common/scanner.js +7 -16
  251. package/vscode/src/vs/platform/contextview/browser/contextMenuService.js +2 -3
  252. package/vscode/src/vs/platform/dialogs/common/dialogs.js +11 -13
  253. package/vscode/src/vs/platform/dnd/browser/dnd.js +3 -5
  254. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.d.ts +7 -1
  255. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.js +3 -5
  256. package/vscode/src/vs/platform/extensionManagement/common/extensionManagement.service.d.ts +3 -2
  257. package/vscode/src/vs/platform/extensionManagement/common/extensionNls.js +2 -3
  258. package/vscode/src/vs/platform/extensionManagement/common/extensionStorage.js +1 -1
  259. package/vscode/src/vs/platform/extensionManagement/common/extensionsScannerService.js +25 -33
  260. package/vscode/src/vs/platform/extensions/common/extensionValidator.js +33 -67
  261. package/vscode/src/vs/platform/extensions/common/extensions.d.ts +3 -18
  262. package/vscode/src/vs/platform/extensions/common/extensionsApiProposals.js +31 -0
  263. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.js +3 -8
  264. package/vscode/src/vs/platform/files/common/files.js +7 -8
  265. package/vscode/src/vs/platform/history/browser/contextScopedHistoryWidget.js +2 -3
  266. package/vscode/src/vs/platform/instantiation/common/instantiationService.js +5 -0
  267. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.d.ts +10 -0
  268. package/vscode/src/vs/platform/jsonschemas/common/jsonContributionRegistry.js +8 -0
  269. package/vscode/src/vs/platform/keybinding/common/abstractKeybindingService.js +9 -14
  270. package/vscode/src/vs/platform/languagePacks/common/languagePacks.js +2 -3
  271. package/vscode/src/vs/platform/languagePacks/common/localizedStrings.js +4 -5
  272. package/vscode/src/vs/platform/list/browser/listService.js +43 -71
  273. package/vscode/src/vs/platform/log/common/log.js +7 -8
  274. package/vscode/src/vs/platform/markers/common/markers.js +4 -5
  275. package/vscode/src/vs/platform/observable/common/wrapInReloadableClass.js +51 -0
  276. package/vscode/src/vs/platform/quickinput/browser/media/quickInput.css.js +1 -1
  277. package/vscode/src/vs/platform/quickinput/browser/quickInput.js +39 -32
  278. package/vscode/src/vs/platform/quickinput/browser/quickInputActions.js +7 -11
  279. package/vscode/src/vs/platform/quickinput/browser/quickInputController.js +14 -11
  280. package/vscode/src/vs/platform/quickinput/browser/quickInputTree.js +99 -142
  281. package/vscode/src/vs/platform/quickinput/browser/quickInputUtils.js +3 -5
  282. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +3 -4
  283. package/vscode/src/vs/platform/quickinput/common/quickInput.d.ts +16 -1
  284. package/vscode/src/vs/platform/quickinput/common/quickInput.js +6 -1
  285. package/vscode/src/vs/platform/request/common/request.js +23 -36
  286. package/vscode/src/vs/platform/theme/browser/defaultStyles.js +11 -2
  287. package/vscode/src/vs/platform/theme/common/colorUtils.js +3 -4
  288. package/vscode/src/vs/platform/theme/common/colors/baseColors.js +27 -37
  289. package/vscode/src/vs/platform/theme/common/colors/chartsColors.js +10 -11
  290. package/vscode/src/vs/platform/theme/common/colors/editorColors.js +120 -207
  291. package/vscode/src/vs/platform/theme/common/colors/inputColors.js +53 -61
  292. package/vscode/src/vs/platform/theme/common/colors/listColors.js +51 -98
  293. package/vscode/src/vs/platform/theme/common/colors/menuColors.js +8 -9
  294. package/vscode/src/vs/platform/theme/common/colors/minimapColors.js +13 -15
  295. package/vscode/src/vs/platform/theme/common/colors/miscColors.js +12 -16
  296. package/vscode/src/vs/platform/theme/common/colors/quickpickColors.js +13 -17
  297. package/vscode/src/vs/platform/theme/common/colors/searchColors.js +4 -9
  298. package/vscode/src/vs/platform/theme/common/iconRegistry.js +7 -9
  299. package/vscode/src/vs/platform/theme/common/tokenClassificationRegistry.js +49 -56
  300. package/vscode/src/vs/platform/undoRedo/common/undoRedoService.js +35 -55
  301. package/vscode/src/vs/platform/userDataProfile/common/userDataProfile.js +2 -3
  302. package/vscode/src/vs/platform/userDataSync/common/abstractSynchronizer.js +5 -8
  303. package/vscode/src/vs/platform/userDataSync/common/userDataSync.js +38 -19
  304. package/vscode/src/vs/platform/userDataSync/common/userDataSyncMachines.js +3 -5
  305. package/vscode/src/vs/platform/workspace/common/workspace.js +2 -3
  306. package/vscode/src/vs/workbench/api/common/extHost.api.impl.js +88 -8
  307. package/vscode/src/vs/workbench/api/common/extHostApiCommands.js +60 -0
  308. package/vscode/src/vs/workbench/api/common/extHostChatAgents2.js +48 -18
  309. package/vscode/src/vs/workbench/api/common/extHostComments.js +26 -4
  310. package/vscode/src/vs/workbench/api/common/extHostDiagnostics.js +4 -6
  311. package/vscode/src/vs/workbench/api/common/extHostDocumentData.js +3 -0
  312. package/vscode/src/vs/workbench/api/common/extHostEmbedding.js +1 -0
  313. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.js +6 -5
  314. package/vscode/src/vs/workbench/api/common/extHostExtensionService.js +19 -17
  315. package/vscode/src/vs/workbench/api/common/extHostLanguageFeatures.js +45 -48
  316. package/vscode/src/vs/workbench/api/common/extHostLanguageModelTools.js +2 -1
  317. package/vscode/src/vs/workbench/api/common/extHostLanguageModels.js +2 -3
  318. package/vscode/src/vs/workbench/api/common/extHostLogService.js +2 -3
  319. package/vscode/src/vs/workbench/api/common/extHostNotebook.js +3 -9
  320. package/vscode/src/vs/workbench/api/common/extHostNotebookDocument.js +3 -0
  321. package/vscode/src/vs/workbench/api/common/extHostNotebookEditor.js +3 -0
  322. package/vscode/src/vs/workbench/api/common/extHostQuickOpen.js +12 -8
  323. package/vscode/src/vs/workbench/api/common/extHostSCM.js +5 -5
  324. package/vscode/src/vs/workbench/api/common/extHostStatusBar.js +4 -6
  325. package/vscode/src/vs/workbench/api/common/extHostTelemetry.js +3 -5
  326. package/vscode/src/vs/workbench/api/common/extHostTerminalService.js +2 -8
  327. package/vscode/src/vs/workbench/api/common/extHostTerminalShellIntegration.js +4 -4
  328. package/vscode/src/vs/workbench/api/common/extHostTesting.js +69 -6
  329. package/vscode/src/vs/workbench/api/common/extHostTextEditor.js +4 -1
  330. package/vscode/src/vs/workbench/api/common/extHostTreeViews.js +2 -3
  331. package/vscode/src/vs/workbench/api/common/extHostTunnelService.js +3 -4
  332. package/vscode/src/vs/workbench/api/common/extHostTypeConverters.js +41 -11
  333. package/vscode/src/vs/workbench/api/common/extHostTypes.js +78 -23
  334. package/vscode/src/vs/workbench/api/common/extHostWorkspace.js +10 -5
  335. package/vscode/src/vs/workbench/api/common/jsonValidationExtensionPoint.js +19 -30
  336. package/vscode/src/vs/workbench/browser/actions/developerActions.js +41 -59
  337. package/vscode/src/vs/workbench/browser/actions/layoutActions.js +161 -132
  338. package/vscode/src/vs/workbench/browser/actions/textInputActions.js +7 -8
  339. package/vscode/src/vs/workbench/browser/actions/windowActions.js +30 -43
  340. package/vscode/src/vs/workbench/browser/actions/workspaceActions.js +22 -23
  341. package/vscode/src/vs/workbench/browser/actions/workspaceCommands.js +5 -6
  342. package/vscode/src/vs/workbench/browser/actions.js +2 -3
  343. package/vscode/src/vs/workbench/browser/editor.js +3 -4
  344. package/vscode/src/vs/workbench/browser/labels.js +3 -4
  345. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +12 -17
  346. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.js +16 -25
  347. package/vscode/src/vs/workbench/browser/parts/editor/binaryDiffEditor.js +2 -3
  348. package/vscode/src/vs/workbench/browser/parts/editor/binaryEditor.js +5 -7
  349. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbs.js +45 -53
  350. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +12 -13
  351. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +2 -3
  352. package/vscode/src/vs/workbench/browser/parts/editor/diffEditorCommands.js +7 -8
  353. package/vscode/src/vs/workbench/browser/parts/editor/editorActions.js +153 -156
  354. package/vscode/src/vs/workbench/browser/parts/editor/editorCommands.js +206 -329
  355. package/vscode/src/vs/workbench/browser/parts/editor/editorCommandsContext.js +134 -0
  356. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +17 -17
  357. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +14 -15
  358. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +3 -4
  359. package/vscode/src/vs/workbench/browser/parts/editor/editorPlaceholder.js +15 -23
  360. package/vscode/src/vs/workbench/browser/parts/editor/editorQuickAccess.js +8 -11
  361. package/vscode/src/vs/workbench/browser/parts/editor/editorStatus.js +63 -75
  362. package/vscode/src/vs/workbench/browser/parts/editor/editorTabsControl.js +3 -4
  363. package/vscode/src/vs/workbench/browser/parts/editor/multiEditorTabsControl.js +16 -17
  364. package/vscode/src/vs/workbench/browser/parts/editor/multiRowEditorTabsControl.js +1 -3
  365. package/vscode/src/vs/workbench/browser/parts/editor/sideBySideEditor.js +2 -3
  366. package/vscode/src/vs/workbench/browser/parts/editor/textCodeEditor.js +2 -3
  367. package/vscode/src/vs/workbench/browser/parts/editor/textDiffEditor.js +6 -9
  368. package/vscode/src/vs/workbench/browser/parts/editor/textEditor.js +2 -3
  369. package/vscode/src/vs/workbench/browser/parts/globalCompositeBar.js +17 -19
  370. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +18 -19
  371. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +7 -11
  372. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +7 -8
  373. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCommands.js +10 -11
  374. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +9 -24
  375. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsStatus.js +16 -28
  376. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +4 -11
  377. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +6 -13
  378. package/vscode/src/vs/workbench/browser/parts/panel/media/panelpart.css.js +1 -1
  379. package/vscode/src/vs/workbench/browser/parts/panel/panelActions.js +48 -49
  380. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.js +20 -22
  381. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +3 -4
  382. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +2 -3
  383. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +55 -49
  384. package/vscode/src/vs/workbench/browser/parts/views/viewFilter.js +2 -3
  385. package/vscode/src/vs/workbench/browser/parts/views/viewPane.d.ts +2 -2
  386. package/vscode/src/vs/workbench/browser/parts/views/viewPane.js +12 -11
  387. package/vscode/src/vs/workbench/browser/parts/views/viewPaneContainer.js +11 -11
  388. package/vscode/src/vs/workbench/browser/quickaccess.js +2 -3
  389. package/vscode/src/vs/workbench/browser/window.js +20 -28
  390. package/vscode/src/vs/workbench/browser/workbench.contribution.js +376 -584
  391. package/vscode/src/vs/workbench/common/configuration.js +15 -19
  392. package/vscode/src/vs/workbench/common/contextkeys.js +87 -100
  393. package/vscode/src/vs/workbench/common/editor/diffEditorInput.js +2 -3
  394. package/vscode/src/vs/workbench/common/editor/sideBySideEditorInput.js +2 -9
  395. package/vscode/src/vs/workbench/common/editor/textEditorModel.js +3 -5
  396. package/vscode/src/vs/workbench/common/editor.d.ts +5 -2
  397. package/vscode/src/vs/workbench/common/editor.js +5 -6
  398. package/vscode/src/vs/workbench/common/theme.js +281 -450
  399. package/vscode/src/vs/workbench/common/views.js +7 -11
  400. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration.js +207 -284
  401. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibleViewActions.js +50 -16
  402. package/vscode/src/vs/workbench/contrib/accessibility/browser/editorAccessibilityHelp.js +5 -2
  403. package/vscode/src/vs/workbench/contrib/accessibility/common/accessibilityCommands.js +1 -0
  404. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatActions.js +29 -15
  405. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClear.js +17 -0
  406. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +5 -6
  407. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +10 -15
  408. package/vscode/src/vs/workbench/contrib/chat/browser/chat.js +2 -3
  409. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityProvider.js +26 -27
  410. package/vscode/src/vs/workbench/contrib/chat/browser/chatAgentHover.js +3 -4
  411. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatAttachmentsContentPart.js +119 -0
  412. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCodeCitationContentPart.js +48 -0
  413. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatCommandContentPart.js +2 -3
  414. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatConfirmationContentPart.js +11 -6
  415. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatReferencesContentPart.js +62 -33
  416. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTaskContentPart.js +2 -2
  417. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTextEditContentPart.js +5 -5
  418. package/vscode/src/vs/workbench/contrib/chat/browser/chatContentParts/chatTreeContentPart.js +2 -3
  419. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditorInput.js +3 -4
  420. package/vscode/src/vs/workbench/contrib/chat/browser/chatFollowups.js +2 -3
  421. package/vscode/src/vs/workbench/contrib/chat/browser/chatInputPart.js +47 -26
  422. package/vscode/src/vs/workbench/contrib/chat/browser/chatListRenderer.js +64 -37
  423. package/vscode/src/vs/workbench/contrib/chat/browser/chatMarkdownRenderer.js +2 -0
  424. package/vscode/src/vs/workbench/contrib/chat/browser/chatWidget.js +36 -20
  425. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockPart.js +32 -29
  426. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatDynamicVariables.js +8 -8
  427. package/vscode/src/vs/workbench/contrib/chat/browser/media/chat.css.js +1 -1
  428. package/vscode/src/vs/workbench/contrib/chat/common/chatAgents.js +0 -1
  429. package/vscode/src/vs/workbench/contrib/chat/common/chatColors.js +7 -8
  430. package/vscode/src/vs/workbench/contrib/chat/common/chatContextKeys.js +17 -28
  431. package/vscode/src/vs/workbench/contrib/chat/common/chatModel.js +59 -9
  432. package/vscode/src/vs/workbench/contrib/chat/common/chatRequestParser.js +10 -3
  433. package/vscode/src/vs/workbench/contrib/chat/common/chatService.js +9 -1
  434. package/vscode/src/vs/workbench/contrib/chat/common/chatViewModel.js +16 -6
  435. package/vscode/src/vs/workbench/contrib/chat/common/chatWordCounter.js +1 -1
  436. package/vscode/src/vs/workbench/contrib/chat/common/languageModels.js +8 -14
  437. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActions.contribution.js +3 -1
  438. package/vscode/src/vs/workbench/contrib/codeActions/browser/codeActionsContribution.js +80 -23
  439. package/vscode/src/vs/workbench/contrib/codeActions/common/codeActionsExtensionPoint.js +11 -12
  440. package/vscode/src/vs/workbench/contrib/codeActions/common/documentationExtensionPoint.js +7 -8
  441. package/vscode/src/vs/workbench/contrib/codeEditor/browser/dictation/editorDictation.js +5 -6
  442. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorAccessibilityHelp.js +25 -30
  443. package/vscode/src/vs/workbench/contrib/codeEditor/browser/diffEditorHelper.js +5 -7
  444. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +11 -12
  445. package/vscode/src/vs/workbench/contrib/codeEditor/browser/largeFileOptimizations.js +5 -11
  446. package/vscode/src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.js +7 -8
  447. package/vscode/src/vs/workbench/contrib/codeEditor/browser/saveParticipants.js +45 -13
  448. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMinimap.js +3 -4
  449. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleMultiCursorModifier.js +5 -6
  450. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderControlCharacter.js +3 -4
  451. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleRenderWhitespace.js +3 -4
  452. package/vscode/src/vs/workbench/contrib/codeEditor/browser/toggleWordWrap.js +6 -7
  453. package/vscode/src/vs/workbench/contrib/comments/browser/commentColors.js +9 -11
  454. package/vscode/src/vs/workbench/contrib/comments/browser/commentGlyphWidget.js +10 -15
  455. package/vscode/src/vs/workbench/contrib/comments/browser/commentNode.js +5 -6
  456. package/vscode/src/vs/workbench/contrib/comments/browser/commentReply.js +14 -49
  457. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadBody.js +21 -18
  458. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadHeader.js +4 -5
  459. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadWidget.js +8 -13
  460. package/vscode/src/vs/workbench/contrib/comments/browser/commentThreadZoneWidget.js +43 -25
  461. package/vscode/src/vs/workbench/contrib/comments/browser/commentsAccessibility.js +27 -39
  462. package/vscode/src/vs/workbench/contrib/comments/browser/commentsController.js +10 -14
  463. package/vscode/src/vs/workbench/contrib/comments/browser/commentsModel.js +2 -3
  464. package/vscode/src/vs/workbench/contrib/comments/browser/commentsTreeViewer.js +15 -18
  465. package/vscode/src/vs/workbench/contrib/comments/browser/commentsView.js +25 -29
  466. package/vscode/src/vs/workbench/contrib/comments/browser/commentsViewActions.js +10 -11
  467. package/vscode/src/vs/workbench/contrib/comments/browser/reactionsAction.js +11 -15
  468. package/vscode/src/vs/workbench/contrib/comments/browser/simpleCommentEditor.js +1 -0
  469. package/vscode/src/vs/workbench/contrib/comments/common/commentContextKeys.js +11 -17
  470. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInput.js +6 -9
  471. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +2 -3
  472. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +33 -36
  473. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +18 -22
  474. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +77 -97
  475. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +15 -17
  476. package/vscode/src/vs/workbench/contrib/debug/browser/debugColors.js +13 -14
  477. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +35 -40
  478. package/vscode/src/vs/workbench/contrib/debug/browser/debugIcons.js +58 -75
  479. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +4 -5
  480. package/vscode/src/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +2 -3
  481. package/vscode/src/vs/workbench/contrib/debug/common/debug.d.ts +8 -1
  482. package/vscode/src/vs/workbench/contrib/debug/common/debug.js +90 -205
  483. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +28 -11
  484. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +2 -3
  485. package/vscode/src/vs/workbench/contrib/debug/common/debugUtils.js +1 -1
  486. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +3 -4
  487. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +2 -3
  488. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +5 -6
  489. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +342 -359
  490. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsIcons.js +35 -74
  491. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +8 -19
  492. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsInput.js +3 -4
  493. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsUtils.js +5 -7
  494. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/configuration.js +7 -14
  495. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpenerService.js +6 -8
  496. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +2 -3
  497. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +12 -20
  498. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +28 -38
  499. package/vscode/src/vs/workbench/contrib/files/browser/explorerViewlet.js +18 -22
  500. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.js +108 -168
  501. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands._save.js +55 -30
  502. package/vscode/src/vs/workbench/contrib/files/browser/fileConstants.js +9 -9
  503. package/vscode/src/vs/workbench/contrib/files/browser/fileImportExport.js +45 -59
  504. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._configuration.js +102 -151
  505. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution._editorPane.js +3 -4
  506. package/vscode/src/vs/workbench/contrib/files/browser/files.js +21 -12
  507. package/vscode/src/vs/workbench/contrib/files/browser/views/emptyView.js +2 -3
  508. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerDecorationsProvider.js +6 -8
  509. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerView.js +9 -10
  510. package/vscode/src/vs/workbench/contrib/files/browser/views/explorerViewer.js +20 -29
  511. package/vscode/src/vs/workbench/contrib/files/browser/views/openEditorsView.js +54 -35
  512. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +7 -10
  513. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +2 -3
  514. package/vscode/src/vs/workbench/contrib/files/common/files.js +19 -40
  515. package/vscode/src/vs/workbench/contrib/folding/browser/folding.contribution.js +5 -7
  516. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsMultiple.js +28 -36
  517. package/vscode/src/vs/workbench/contrib/format/browser/formatActionsNone.js +5 -6
  518. package/vscode/src/vs/workbench/contrib/format/browser/formatModified.js +2 -3
  519. package/vscode/src/vs/workbench/contrib/inlayHints/browser/inlayHintsAccessibilty.js +5 -10
  520. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +23 -25
  521. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatContentWidget.js +20 -6
  522. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +26 -88
  523. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +2 -34
  524. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.js +7 -8
  525. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +13 -33
  526. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +2 -3
  527. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css.js +1 -1
  528. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +51 -91
  529. package/vscode/src/vs/workbench/contrib/issue/common/issue.service.js +2 -1
  530. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInput.js +2 -3
  531. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/mergeEditorInputModel.js +40 -56
  532. package/vscode/src/vs/workbench/contrib/mergeEditor/browser/model/mergeEditorModel.js +3 -4
  533. package/vscode/src/vs/workbench/contrib/mergeEditor/common/mergeEditor.js +9 -10
  534. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/icons.contribution.js +2 -3
  535. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffEditorInput.js +43 -46
  536. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/multiDiffSourceResolverService.js +6 -5
  537. package/vscode/src/vs/workbench/contrib/multiDiffEditor/browser/scmMultiDiffSourceResolver.js +3 -4
  538. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +8 -14
  539. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +18 -19
  540. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +4 -5
  541. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +3 -4
  542. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOutputActions.js +30 -5
  543. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -13
  544. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatController.js +16 -6
  545. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/coreActions.js +9 -11
  546. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/foldingController.js +4 -5
  547. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookAccessibilityProvider.js +5 -7
  548. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditor.js +13 -18
  549. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.js +29 -54
  550. package/vscode/src/vs/workbench/contrib/notebook/browser/notebookIcons.js +29 -30
  551. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellPart.js +1 -1
  552. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellComments.js +11 -18
  553. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellEditorOptions.js +5 -6
  554. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/cellOutput.js +54 -24
  555. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCell.js +3 -9
  556. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellExecutionIcon.js +5 -6
  557. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/codeCellRunToolbar.js +2 -3
  558. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/collapsedCellOutput.js +4 -10
  559. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/foldedCellHint.js +3 -4
  560. package/vscode/src/vs/workbench/contrib/notebook/browser/view/cellParts/markupCell.js +3 -9
  561. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.js +5 -6
  562. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.js +2 -3
  563. package/vscode/src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.js +22 -13
  564. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/baseCellViewModel.js +8 -0
  565. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/cellOutputViewModel.js +17 -0
  566. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/codeCellViewModel.js +13 -25
  567. package/vscode/src/vs/workbench/contrib/notebook/browser/viewModel/markupCellViewModel.js +51 -43
  568. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookEditorStickyScroll.js +2 -2
  569. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelQuickPickStrategy.js +18 -26
  570. package/vscode/src/vs/workbench/contrib/notebook/browser/viewParts/notebookKernelView.js +3 -4
  571. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +3 -1
  572. package/vscode/src/vs/workbench/contrib/notebook/common/notebookEditorInput.js +2 -3
  573. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +4 -10
  574. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +14 -24
  575. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +12 -12
  576. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +50 -51
  577. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +3 -2
  578. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +24 -31
  579. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +27 -39
  580. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +18 -23
  581. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +68 -80
  582. package/vscode/src/vs/workbench/contrib/scm/browser/dirtyDiffSwitcher.js +3 -4
  583. package/vscode/src/vs/workbench/contrib/scm/browser/dirtydiffDecorator.js +26 -57
  584. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +11 -12
  585. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +2 -3
  586. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +14 -16
  587. package/vscode/src/vs/workbench/contrib/search/browser/searchModel.js +1 -1
  588. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +3 -4
  589. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +2 -3
  590. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +3 -4
  591. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +5 -19
  592. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsFile.js +4 -5
  593. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetsService.js +17 -29
  594. package/vscode/src/vs/workbench/contrib/speech/common/speechService.js +30 -31
  595. package/vscode/src/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +9 -13
  596. package/vscode/src/vs/workbench/contrib/tasks/common/taskService.js +9 -13
  597. package/vscode/src/vs/workbench/contrib/tasks/common/tasks.js +5 -7
  598. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +5 -0
  599. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.service.d.ts +1 -0
  600. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorInput.js +5 -14
  601. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +33 -34
  602. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +2 -0
  603. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.d.ts +1 -1
  604. package/vscode/src/vs/workbench/contrib/terminal/common/terminal.js +9 -15
  605. package/vscode/src/vs/workbench/contrib/terminal/common/terminalColorRegistry.js +37 -51
  606. package/vscode/src/vs/workbench/contrib/terminal/common/terminalContextKey.js +21 -37
  607. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +29 -34
  608. package/vscode/src/vs/workbench/contrib/terminalContrib/suggest/common/terminal.suggest.js +4 -0
  609. package/vscode/src/vs/workbench/contrib/testing/common/constants.js +16 -13
  610. package/vscode/src/vs/workbench/contrib/testing/common/testId.js +1 -1
  611. package/vscode/src/vs/workbench/contrib/testing/common/testResult.js +6 -7
  612. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.d.ts +23 -1
  613. package/vscode/src/vs/workbench/contrib/testing/common/testTypes.js +23 -1
  614. package/vscode/src/vs/workbench/contrib/url/browser/trustedDomains.js +7 -8
  615. package/vscode/src/vs/workbench/contrib/webview/browser/webview.contribution.js +4 -5
  616. package/vscode/src/vs/workbench/contrib/webview/browser/webviewWindowDragMonitor.js +21 -2
  617. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditor.js +2 -3
  618. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +3 -8
  619. package/vscode/src/vs/workbench/services/authentication/browser/authenticationService.js +17 -11
  620. package/vscode/src/vs/workbench/services/auxiliaryWindow/browser/auxiliaryWindowService.js +23 -25
  621. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +21 -34
  622. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +3 -5
  623. package/vscode/src/vs/workbench/services/configurationResolver/common/variableResolver.js +35 -53
  624. package/vscode/src/vs/workbench/services/editor/common/editorResolverService.js +3 -5
  625. package/vscode/src/vs/workbench/services/extensionManagement/common/extensionManagement.js +2 -3
  626. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +7 -8
  627. package/vscode/src/vs/workbench/services/extensions/common/extensionsRegistry.js +145 -236
  628. package/vscode/src/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +14 -19
  629. package/vscode/src/vs/workbench/services/language/common/languageService.js +40 -57
  630. package/vscode/src/vs/workbench/services/layout/browser/layoutService.d.ts +2 -1
  631. package/vscode/src/vs/workbench/services/layout/browser/layoutService.js +8 -2
  632. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.d.ts +34 -4
  633. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycle.js +6 -1
  634. package/vscode/src/vs/workbench/services/lifecycle/common/lifecycleService.js +3 -3
  635. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +3 -4
  636. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +8 -9
  637. package/vscode/src/vs/workbench/services/preferences/common/preferences.d.ts +1 -3
  638. package/vscode/src/vs/workbench/services/preferences/common/preferences.js +2 -1
  639. package/vscode/src/vs/workbench/services/preferences/common/preferences.service.d.ts +5 -2
  640. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +3 -4
  641. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.d.ts +5 -3
  642. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.d.ts +1 -0
  643. package/vscode/src/vs/workbench/services/remote/common/remoteAgentService.service.d.ts +4 -0
  644. package/vscode/src/vs/workbench/services/remote/common/remoteExplorerService.js +14 -20
  645. package/vscode/src/vs/workbench/services/remote/common/tunnelModel.js +9 -9
  646. package/vscode/src/vs/workbench/services/search/common/queryBuilder.js +2 -8
  647. package/vscode/src/vs/workbench/services/search/common/search.js +1 -1
  648. package/vscode/src/vs/workbench/services/search/common/searchExtTypes.js +41 -1
  649. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +12 -27
  650. package/vscode/src/vs/workbench/services/textfile/common/textFileEditorModel.js +4 -5
  651. package/vscode/src/vs/workbench/services/themes/common/colorExtensionPoint.js +34 -50
  652. package/vscode/src/vs/workbench/services/themes/common/iconExtensionPoint.js +22 -31
  653. package/vscode/src/vs/workbench/services/untitled/common/untitledTextEditorModel.js +1 -1
  654. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfile.js +4 -5
  655. package/vscode/src/vs/workbench/services/userDataProfile/common/userDataProfileIcons.js +2 -3
  656. package/vscode/src/vs/workbench/services/userDataSync/common/userDataSync.js +12 -13
  657. package/vscode/src/vs/workbench/services/views/browser/viewsService.js +8 -9
  658. package/vscode/src/vs/workbench/services/workingCopy/common/storedFileWorkingCopy.js +25 -33
  659. package/vscode-dts/vscode.proposed.aiTextSearchProviderNew.d.ts +119 -0
  660. package/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts +61 -3
  661. package/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts +26 -0
  662. package/vscode-dts/vscode.proposed.commentReveal.d.ts +21 -8
  663. package/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts +0 -2
  664. package/vscode-dts/vscode.proposed.contribSourceControlHistoryItemChangesMenu.d.ts +7 -0
  665. package/vscode-dts/vscode.proposed.fileComments.d.ts +1 -1
  666. package/vscode-dts/vscode.proposed.fileSearchProviderNew.d.ts +100 -0
  667. package/vscode-dts/vscode.proposed.findFiles2New.d.ts +80 -0
  668. package/vscode-dts/vscode.proposed.findTextInFilesNew.d.ts +143 -0
  669. package/vscode-dts/vscode.proposed.lmTools.d.ts +5 -0
  670. package/vscode-dts/vscode.proposed.quickInputButtonLocation.d.ts +29 -0
  671. package/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts +2 -0
  672. package/vscode-dts/vscode.proposed.testMessageStackTrace.d.ts +38 -0
  673. package/vscode-dts/vscode.proposed.testRelatedCode.d.ts +36 -0
  674. package/vscode-dts/vscode.proposed.textSearchCompleteNew.d.ts +46 -0
  675. package/vscode-dts/vscode.proposed.textSearchProviderNew.d.ts +234 -0
  676. package/vscode/src/vs/editor/browser/widget/multiDiffEditor/model.js +0 -14
  677. package/vscode/src/vs/editor/contrib/inlineEdit/browser/hoverParticipant.js +0 -115
  678. package/vscode/src/vs/platform/issue/common/issue.service.js +0 -3
  679. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/editActions.js +0 -570
  680. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/notebookIndentationActions.js +0 -207
  681. package/vscode/src/vs/workbench/contrib/testing/common/observableValue.js +0 -30
  682. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +0 -1016
  683. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +0 -390
@@ -1,1016 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { coalesce, tail } from '../../../../base/common/arrays.js';
3
- import { Emitter } from '../../../../base/common/event.js';
4
- import { visit } from '../../../../base/common/json.js';
5
- import { Disposable } from '../../../../base/common/lifecycle.js';
6
- import { Range } from '../../../../editor/common/core/range.js';
7
- import { Selection } from '../../../../editor/common/core/selection.js';
8
- import { localizeWithPath } from '../../../../nls.js';
9
- import { ConfigurationTarget } from '../../../../platform/configuration/common/configuration.js';
10
- import { IConfigurationService } from '../../../../platform/configuration/common/configuration.service.js';
11
- import { Extensions, ConfigurationScope, OVERRIDE_PROPERTY_REGEX } from '../../../../platform/configuration/common/configurationRegistry.js';
12
- import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.service.js';
13
- import { Registry } from '../../../../platform/registry/common/platform.js';
14
- import { EditorModel } from '../../../common/editor/editorModel.js';
15
- import { SettingMatchType } from './preferences.js';
16
- import { FOLDER_SCOPES, WORKSPACE_SCOPES } from '../../configuration/common/configuration.js';
17
- import { createValidator } from './preferencesValidation.js';
18
- const _moduleId = "vs/workbench/services/preferences/common/preferencesModels";
19
- const nullRange = { startLineNumber: -1, startColumn: -1, endLineNumber: -1, endColumn: -1 };
20
- function isNullRange(range) { return range.startLineNumber === -1 && range.startColumn === -1 && range.endLineNumber === -1 && range.endColumn === -1; }
21
- class AbstractSettingsModel extends EditorModel {
22
- constructor() {
23
- super(...arguments);
24
- this._currentResultGroups = ( (new Map()));
25
- }
26
- updateResultGroup(id, resultGroup) {
27
- if (resultGroup) {
28
- this._currentResultGroups.set(id, resultGroup);
29
- }
30
- else {
31
- this._currentResultGroups.delete(id);
32
- }
33
- this.removeDuplicateResults();
34
- return this.update();
35
- }
36
- removeDuplicateResults() {
37
- const settingKeys = ( (new Set()));
38
- [...( (this._currentResultGroups.keys()))]
39
- .sort((a, b) => this._currentResultGroups.get(a).order - this._currentResultGroups.get(b).order)
40
- .forEach(groupId => {
41
- const group = this._currentResultGroups.get(groupId);
42
- group.result.filterMatches = group.result.filterMatches.filter(s => !( (settingKeys.has(s.setting.key))));
43
- group.result.filterMatches.forEach(s => settingKeys.add(s.setting.key));
44
- });
45
- }
46
- filterSettings(filter, groupFilter, settingMatcher) {
47
- const allGroups = this.filterGroups;
48
- const filterMatches = [];
49
- for (const group of allGroups) {
50
- const groupMatched = groupFilter(group);
51
- for (const section of group.sections) {
52
- for (const setting of section.settings) {
53
- const settingMatchResult = settingMatcher(setting, group);
54
- if (groupMatched || settingMatchResult) {
55
- filterMatches.push({
56
- setting,
57
- matches: settingMatchResult && settingMatchResult.matches,
58
- matchType: settingMatchResult?.matchType ?? SettingMatchType.None,
59
- score: settingMatchResult?.score ?? 0
60
- });
61
- }
62
- }
63
- }
64
- }
65
- return filterMatches;
66
- }
67
- getPreference(key) {
68
- for (const group of this.settingsGroups) {
69
- for (const section of group.sections) {
70
- for (const setting of section.settings) {
71
- if (key === setting.key) {
72
- return setting;
73
- }
74
- }
75
- }
76
- }
77
- return undefined;
78
- }
79
- collectMetadata(groups) {
80
- const metadata = Object.create(null);
81
- let hasMetadata = false;
82
- groups.forEach(g => {
83
- if (g.result.metadata) {
84
- metadata[g.id] = g.result.metadata;
85
- hasMetadata = true;
86
- }
87
- });
88
- return hasMetadata ? metadata : null;
89
- }
90
- get filterGroups() {
91
- return this.settingsGroups;
92
- }
93
- }
94
- class SettingsEditorModel extends AbstractSettingsModel {
95
- constructor(reference, _configurationTarget) {
96
- super();
97
- this._configurationTarget = _configurationTarget;
98
- this._onDidChangeGroups = this._register(( (new Emitter())));
99
- this.onDidChangeGroups = this._onDidChangeGroups.event;
100
- this.settingsModel = reference.object.textEditorModel;
101
- this._register(this.onWillDispose(() => reference.dispose()));
102
- this._register(this.settingsModel.onDidChangeContent(() => {
103
- this._settingsGroups = undefined;
104
- this._onDidChangeGroups.fire();
105
- }));
106
- }
107
- get uri() {
108
- return this.settingsModel.uri;
109
- }
110
- get configurationTarget() {
111
- return this._configurationTarget;
112
- }
113
- get settingsGroups() {
114
- if (!this._settingsGroups) {
115
- this.parse();
116
- }
117
- return this._settingsGroups;
118
- }
119
- get content() {
120
- return this.settingsModel.getValue();
121
- }
122
- findValueMatches(filter, setting) {
123
- return (
124
- (this.settingsModel.findMatches(filter, setting.valueRange, false, false, null, false).map(match => match.range))
125
- );
126
- }
127
- isSettingsProperty(property, previousParents) {
128
- return previousParents.length === 0;
129
- }
130
- parse() {
131
- this._settingsGroups = parse(this.settingsModel, (property, previousParents) => this.isSettingsProperty(property, previousParents));
132
- }
133
- update() {
134
- const resultGroups = [...( (this._currentResultGroups.values()))];
135
- if (!resultGroups.length) {
136
- return undefined;
137
- }
138
- const filteredSettings = [];
139
- const matches = [];
140
- resultGroups.forEach(group => {
141
- group.result.filterMatches.forEach(filterMatch => {
142
- filteredSettings.push(filterMatch.setting);
143
- if (filterMatch.matches) {
144
- matches.push(...filterMatch.matches);
145
- }
146
- });
147
- });
148
- let filteredGroup;
149
- const modelGroup = this.settingsGroups[0];
150
- if (modelGroup) {
151
- filteredGroup = {
152
- id: modelGroup.id,
153
- range: modelGroup.range,
154
- sections: [{
155
- settings: filteredSettings
156
- }],
157
- title: modelGroup.title,
158
- titleRange: modelGroup.titleRange,
159
- order: modelGroup.order,
160
- extensionInfo: modelGroup.extensionInfo
161
- };
162
- }
163
- const metadata = this.collectMetadata(resultGroups);
164
- return {
165
- allGroups: this.settingsGroups,
166
- filteredGroups: filteredGroup ? [filteredGroup] : [],
167
- matches,
168
- metadata
169
- };
170
- }
171
- }
172
- let Settings2EditorModel = class Settings2EditorModel extends AbstractSettingsModel {
173
- constructor(_defaultSettings, configurationService) {
174
- super();
175
- this._defaultSettings = _defaultSettings;
176
- this._onDidChangeGroups = this._register(( (new Emitter())));
177
- this.onDidChangeGroups = this._onDidChangeGroups.event;
178
- this.dirty = false;
179
- this._register(configurationService.onDidChangeConfiguration(e => {
180
- if (e.source === ConfigurationTarget.DEFAULT) {
181
- this.dirty = true;
182
- this._onDidChangeGroups.fire();
183
- }
184
- }));
185
- this._register(( (Registry.as(Extensions.Configuration))).onDidSchemaChange(e => {
186
- this.dirty = true;
187
- this._onDidChangeGroups.fire();
188
- }));
189
- }
190
- get filterGroups() {
191
- return this.settingsGroups.slice(1);
192
- }
193
- get settingsGroups() {
194
- const groups = this._defaultSettings.getSettingsGroups(this.dirty);
195
- if (this.additionalGroups?.length) {
196
- groups.push(...this.additionalGroups);
197
- }
198
- this.dirty = false;
199
- return groups;
200
- }
201
- setAdditionalGroups(groups) {
202
- this.additionalGroups = groups;
203
- }
204
- findValueMatches(filter, setting) {
205
- return [];
206
- }
207
- update() {
208
- throw ( (new Error('Not supported')));
209
- }
210
- };
211
- Settings2EditorModel = ( (__decorate([
212
- ( (__param(1, IConfigurationService)))
213
- ], Settings2EditorModel)));
214
- function parse(model, isSettingsProperty) {
215
- const settings = [];
216
- let overrideSetting = null;
217
- let currentProperty = null;
218
- let currentParent = [];
219
- const previousParents = [];
220
- let settingsPropertyIndex = -1;
221
- const range = {
222
- startLineNumber: 0,
223
- startColumn: 0,
224
- endLineNumber: 0,
225
- endColumn: 0
226
- };
227
- function onValue(value, offset, length) {
228
- if (Array.isArray(currentParent)) {
229
- currentParent.push(value);
230
- }
231
- else if (currentProperty) {
232
- currentParent[currentProperty] = value;
233
- }
234
- if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
235
- const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
236
- if (setting) {
237
- const valueStartPosition = model.getPositionAt(offset);
238
- const valueEndPosition = model.getPositionAt(offset + length);
239
- setting.value = value;
240
- setting.valueRange = {
241
- startLineNumber: valueStartPosition.lineNumber,
242
- startColumn: valueStartPosition.column,
243
- endLineNumber: valueEndPosition.lineNumber,
244
- endColumn: valueEndPosition.column
245
- };
246
- setting.range = Object.assign(setting.range, {
247
- endLineNumber: valueEndPosition.lineNumber,
248
- endColumn: valueEndPosition.column
249
- });
250
- }
251
- }
252
- }
253
- const visitor = {
254
- onObjectBegin: (offset, length) => {
255
- if (isSettingsProperty(currentProperty, previousParents)) {
256
- settingsPropertyIndex = previousParents.length;
257
- const position = model.getPositionAt(offset);
258
- range.startLineNumber = position.lineNumber;
259
- range.startColumn = position.column;
260
- }
261
- const object = {};
262
- onValue(object, offset, length);
263
- currentParent = object;
264
- currentProperty = null;
265
- previousParents.push(currentParent);
266
- },
267
- onObjectProperty: (name, offset, length) => {
268
- currentProperty = name;
269
- if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
270
- const settingStartPosition = model.getPositionAt(offset);
271
- const setting = {
272
- description: [],
273
- descriptionIsMarkdown: false,
274
- key: name,
275
- keyRange: {
276
- startLineNumber: settingStartPosition.lineNumber,
277
- startColumn: settingStartPosition.column + 1,
278
- endLineNumber: settingStartPosition.lineNumber,
279
- endColumn: settingStartPosition.column + length
280
- },
281
- range: {
282
- startLineNumber: settingStartPosition.lineNumber,
283
- startColumn: settingStartPosition.column,
284
- endLineNumber: 0,
285
- endColumn: 0
286
- },
287
- value: null,
288
- valueRange: nullRange,
289
- descriptionRanges: [],
290
- overrides: [],
291
- overrideOf: overrideSetting ?? undefined,
292
- };
293
- if (previousParents.length === settingsPropertyIndex + 1) {
294
- settings.push(setting);
295
- if (OVERRIDE_PROPERTY_REGEX.test(name)) {
296
- overrideSetting = setting;
297
- }
298
- }
299
- else {
300
- overrideSetting.overrides.push(setting);
301
- }
302
- }
303
- },
304
- onObjectEnd: (offset, length) => {
305
- currentParent = previousParents.pop();
306
- if (settingsPropertyIndex !== -1 && (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null))) {
307
- const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
308
- if (setting) {
309
- const valueEndPosition = model.getPositionAt(offset + length);
310
- setting.valueRange = Object.assign(setting.valueRange, {
311
- endLineNumber: valueEndPosition.lineNumber,
312
- endColumn: valueEndPosition.column
313
- });
314
- setting.range = Object.assign(setting.range, {
315
- endLineNumber: valueEndPosition.lineNumber,
316
- endColumn: valueEndPosition.column
317
- });
318
- }
319
- if (previousParents.length === settingsPropertyIndex + 1) {
320
- overrideSetting = null;
321
- }
322
- }
323
- if (previousParents.length === settingsPropertyIndex) {
324
- const position = model.getPositionAt(offset);
325
- range.endLineNumber = position.lineNumber;
326
- range.endColumn = position.column;
327
- settingsPropertyIndex = -1;
328
- }
329
- },
330
- onArrayBegin: (offset, length) => {
331
- const array = [];
332
- onValue(array, offset, length);
333
- previousParents.push(currentParent);
334
- currentParent = array;
335
- currentProperty = null;
336
- },
337
- onArrayEnd: (offset, length) => {
338
- currentParent = previousParents.pop();
339
- if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
340
- const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
341
- if (setting) {
342
- const valueEndPosition = model.getPositionAt(offset + length);
343
- setting.valueRange = Object.assign(setting.valueRange, {
344
- endLineNumber: valueEndPosition.lineNumber,
345
- endColumn: valueEndPosition.column
346
- });
347
- setting.range = Object.assign(setting.range, {
348
- endLineNumber: valueEndPosition.lineNumber,
349
- endColumn: valueEndPosition.column
350
- });
351
- }
352
- }
353
- },
354
- onLiteralValue: onValue,
355
- onError: (error) => {
356
- const setting = settings[settings.length - 1];
357
- if (setting && (isNullRange(setting.range) || isNullRange(setting.keyRange) || isNullRange(setting.valueRange))) {
358
- settings.pop();
359
- }
360
- }
361
- };
362
- if (!model.isDisposed()) {
363
- visit(model.getValue(), visitor);
364
- }
365
- return settings.length > 0 ? [{
366
- sections: [
367
- {
368
- settings
369
- }
370
- ],
371
- title: '',
372
- titleRange: nullRange,
373
- range
374
- }] : [];
375
- }
376
- class WorkspaceConfigurationEditorModel extends SettingsEditorModel {
377
- constructor() {
378
- super(...arguments);
379
- this._configurationGroups = [];
380
- }
381
- get configurationGroups() {
382
- return this._configurationGroups;
383
- }
384
- parse() {
385
- super.parse();
386
- this._configurationGroups = parse(this.settingsModel, (property, previousParents) => previousParents.length === 0);
387
- }
388
- isSettingsProperty(property, previousParents) {
389
- return property === 'settings' && previousParents.length === 1;
390
- }
391
- }
392
- class DefaultSettings extends Disposable {
393
- constructor(_mostCommonlyUsedSettingsKeys, target) {
394
- super();
395
- this._mostCommonlyUsedSettingsKeys = _mostCommonlyUsedSettingsKeys;
396
- this.target = target;
397
- this._settingsByName = ( (new Map()));
398
- this._onDidChange = this._register(( (new Emitter())));
399
- this.onDidChange = this._onDidChange.event;
400
- }
401
- getContent(forceUpdate = false) {
402
- if (!this._content || forceUpdate) {
403
- this.initialize();
404
- }
405
- return this._content;
406
- }
407
- getContentWithoutMostCommonlyUsed(forceUpdate = false) {
408
- if (!this._contentWithoutMostCommonlyUsed || forceUpdate) {
409
- this.initialize();
410
- }
411
- return this._contentWithoutMostCommonlyUsed;
412
- }
413
- getSettingsGroups(forceUpdate = false) {
414
- if (!this._allSettingsGroups || forceUpdate) {
415
- this.initialize();
416
- }
417
- return this._allSettingsGroups;
418
- }
419
- initialize() {
420
- this._allSettingsGroups = this.parse();
421
- this._content = this.toContent(this._allSettingsGroups, 0);
422
- this._contentWithoutMostCommonlyUsed = this.toContent(this._allSettingsGroups, 1);
423
- }
424
- parse() {
425
- const settingsGroups = this.getRegisteredGroups();
426
- this.initAllSettingsMap(settingsGroups);
427
- const mostCommonlyUsed = this.getMostCommonlyUsedSettings(settingsGroups);
428
- return [mostCommonlyUsed, ...settingsGroups];
429
- }
430
- getRegisteredGroups() {
431
- const configurations = ( (Registry.as(Extensions.Configuration))).getConfigurations().slice();
432
- const groups = this.removeEmptySettingsGroups(configurations.sort(this.compareConfigurationNodes)
433
- .reduce((result, config, index, array) => this.parseConfig(config, result, array), []));
434
- return this.sortGroups(groups);
435
- }
436
- sortGroups(groups) {
437
- groups.forEach(group => {
438
- group.sections.forEach(section => {
439
- section.settings.sort((a, b) => a.key.localeCompare(b.key));
440
- });
441
- });
442
- return groups;
443
- }
444
- initAllSettingsMap(allSettingsGroups) {
445
- this._settingsByName = ( (new Map()));
446
- for (const group of allSettingsGroups) {
447
- for (const section of group.sections) {
448
- for (const setting of section.settings) {
449
- this._settingsByName.set(setting.key, setting);
450
- }
451
- }
452
- }
453
- }
454
- getMostCommonlyUsedSettings(allSettingsGroups) {
455
- const settings = coalesce(( (this._mostCommonlyUsedSettingsKeys.map(key => {
456
- const setting = this._settingsByName.get(key);
457
- if (setting) {
458
- return {
459
- description: setting.description,
460
- key: setting.key,
461
- value: setting.value,
462
- keyRange: nullRange,
463
- range: nullRange,
464
- valueRange: nullRange,
465
- overrides: [],
466
- scope: ConfigurationScope.RESOURCE,
467
- type: setting.type,
468
- enum: setting.enum,
469
- enumDescriptions: setting.enumDescriptions,
470
- descriptionRanges: []
471
- };
472
- }
473
- return null;
474
- }))));
475
- return {
476
- id: 'mostCommonlyUsed',
477
- range: nullRange,
478
- title: ( localizeWithPath(_moduleId, 0, "Commonly Used")),
479
- titleRange: nullRange,
480
- sections: [
481
- {
482
- settings
483
- }
484
- ]
485
- };
486
- }
487
- parseConfig(config, result, configurations, settingsGroup, seenSettings) {
488
- seenSettings = seenSettings ? seenSettings : {};
489
- let title = config.title;
490
- if (!title) {
491
- const configWithTitleAndSameId = configurations.find(c => (c.id === config.id) && c.title);
492
- if (configWithTitleAndSameId) {
493
- title = configWithTitleAndSameId.title;
494
- }
495
- }
496
- if (title) {
497
- if (!settingsGroup) {
498
- settingsGroup = result.find(g => g.title === title && g.extensionInfo?.id === config.extensionInfo?.id);
499
- if (!settingsGroup) {
500
- settingsGroup = { sections: [{ settings: [] }], id: config.id || '', title: title || '', titleRange: nullRange, order: config.order, range: nullRange, extensionInfo: config.extensionInfo };
501
- result.push(settingsGroup);
502
- }
503
- }
504
- else {
505
- settingsGroup.sections[settingsGroup.sections.length - 1].title = title;
506
- }
507
- }
508
- if (config.properties) {
509
- if (!settingsGroup) {
510
- settingsGroup = { sections: [{ settings: [] }], id: config.id || '', title: config.id || '', titleRange: nullRange, order: config.order, range: nullRange, extensionInfo: config.extensionInfo };
511
- result.push(settingsGroup);
512
- }
513
- const configurationSettings = [];
514
- for (const setting of [...settingsGroup.sections[settingsGroup.sections.length - 1].settings, ...this.parseSettings(config)]) {
515
- if (!seenSettings[setting.key]) {
516
- configurationSettings.push(setting);
517
- seenSettings[setting.key] = true;
518
- }
519
- }
520
- if (configurationSettings.length) {
521
- settingsGroup.sections[settingsGroup.sections.length - 1].settings = configurationSettings;
522
- }
523
- }
524
- config.allOf?.forEach(c => this.parseConfig(c, result, configurations, settingsGroup, seenSettings));
525
- return result;
526
- }
527
- removeEmptySettingsGroups(settingsGroups) {
528
- const result = [];
529
- for (const settingsGroup of settingsGroups) {
530
- settingsGroup.sections = settingsGroup.sections.filter(section => section.settings.length > 0);
531
- if (settingsGroup.sections.length) {
532
- result.push(settingsGroup);
533
- }
534
- }
535
- return result;
536
- }
537
- parseSettings(config) {
538
- const result = [];
539
- const settingsObject = config.properties;
540
- const extensionInfo = config.extensionInfo;
541
- const categoryLabel = config.extensionInfo?.id === config.id ? config.title : config.id;
542
- for (const key in settingsObject) {
543
- const prop = settingsObject[key];
544
- if (this.matchesScope(prop)) {
545
- const value = prop.default;
546
- let description = (prop.markdownDescription || prop.description || '');
547
- if (typeof description !== 'string') {
548
- description = '';
549
- }
550
- const descriptionLines = description.split('\n');
551
- const overrides = OVERRIDE_PROPERTY_REGEX.test(key) ? this.parseOverrideSettings(prop.default) : [];
552
- let listItemType;
553
- if (prop.type === 'array' && prop.items && !Array.isArray(prop.items) && prop.items.type) {
554
- if (prop.items.enum) {
555
- listItemType = 'enum';
556
- }
557
- else if (!Array.isArray(prop.items.type)) {
558
- listItemType = prop.items.type;
559
- }
560
- }
561
- const objectProperties = prop.type === 'object' ? prop.properties : undefined;
562
- const objectPatternProperties = prop.type === 'object' ? prop.patternProperties : undefined;
563
- const objectAdditionalProperties = prop.type === 'object' ? prop.additionalProperties : undefined;
564
- let enumToUse = prop.enum;
565
- let enumDescriptions = prop.markdownEnumDescriptions ?? prop.enumDescriptions;
566
- let enumDescriptionsAreMarkdown = !!prop.markdownEnumDescriptions;
567
- if (listItemType === 'enum' && !Array.isArray(prop.items)) {
568
- enumToUse = prop.items.enum;
569
- enumDescriptions = prop.items.markdownEnumDescriptions ?? prop.items.enumDescriptions;
570
- enumDescriptionsAreMarkdown = !!prop.items.markdownEnumDescriptions;
571
- }
572
- let allKeysAreBoolean = false;
573
- if (prop.type === 'object' && !prop.additionalProperties && prop.properties && ( (Object.keys(prop.properties))).length) {
574
- allKeysAreBoolean = ( (Object.keys(prop.properties))).every(key => {
575
- return prop.properties[key].type === 'boolean';
576
- });
577
- }
578
- let isLanguageTagSetting = false;
579
- if (OVERRIDE_PROPERTY_REGEX.test(key)) {
580
- isLanguageTagSetting = true;
581
- }
582
- let defaultValueSource;
583
- if (!isLanguageTagSetting) {
584
- const registeredConfigurationProp = prop;
585
- if (registeredConfigurationProp && registeredConfigurationProp.defaultValueSource) {
586
- defaultValueSource = registeredConfigurationProp.defaultValueSource;
587
- }
588
- }
589
- if (!enumToUse && (prop.enumItemLabels || enumDescriptions || enumDescriptionsAreMarkdown)) {
590
- console.error(`The setting ${key} has enum-related fields, but doesn't have an enum field. This setting may render improperly in the Settings editor.`);
591
- }
592
- result.push({
593
- key,
594
- value,
595
- description: descriptionLines,
596
- descriptionIsMarkdown: !!prop.markdownDescription,
597
- range: nullRange,
598
- keyRange: nullRange,
599
- valueRange: nullRange,
600
- descriptionRanges: [],
601
- overrides,
602
- scope: prop.scope,
603
- type: prop.type,
604
- arrayItemType: listItemType,
605
- objectProperties,
606
- objectPatternProperties,
607
- objectAdditionalProperties,
608
- enum: enumToUse,
609
- enumDescriptions: enumDescriptions,
610
- enumDescriptionsAreMarkdown: enumDescriptionsAreMarkdown,
611
- enumItemLabels: prop.enumItemLabels,
612
- uniqueItems: prop.uniqueItems,
613
- tags: prop.tags,
614
- disallowSyncIgnore: prop.disallowSyncIgnore,
615
- restricted: prop.restricted,
616
- extensionInfo: extensionInfo,
617
- deprecationMessage: prop.markdownDeprecationMessage || prop.deprecationMessage,
618
- deprecationMessageIsMarkdown: !!prop.markdownDeprecationMessage,
619
- validator: createValidator(prop),
620
- allKeysAreBoolean,
621
- editPresentation: prop.editPresentation,
622
- order: prop.order,
623
- nonLanguageSpecificDefaultValueSource: defaultValueSource,
624
- isLanguageTagSetting,
625
- categoryLabel
626
- });
627
- }
628
- }
629
- return result;
630
- }
631
- parseOverrideSettings(overrideSettings) {
632
- return (
633
- (( (Object.keys(overrideSettings))).map((key) => ({
634
- key,
635
- value: overrideSettings[key],
636
- description: [],
637
- descriptionIsMarkdown: false,
638
- range: nullRange,
639
- keyRange: nullRange,
640
- valueRange: nullRange,
641
- descriptionRanges: [],
642
- overrides: []
643
- })))
644
- );
645
- }
646
- matchesScope(property) {
647
- if (!property.scope) {
648
- return true;
649
- }
650
- if (this.target === ConfigurationTarget.WORKSPACE_FOLDER) {
651
- return FOLDER_SCOPES.indexOf(property.scope) !== -1;
652
- }
653
- if (this.target === ConfigurationTarget.WORKSPACE) {
654
- return WORKSPACE_SCOPES.indexOf(property.scope) !== -1;
655
- }
656
- return true;
657
- }
658
- compareConfigurationNodes(c1, c2) {
659
- if (typeof c1.order !== 'number') {
660
- return 1;
661
- }
662
- if (typeof c2.order !== 'number') {
663
- return -1;
664
- }
665
- if (c1.order === c2.order) {
666
- const title1 = c1.title || '';
667
- const title2 = c2.title || '';
668
- return title1.localeCompare(title2);
669
- }
670
- return c1.order - c2.order;
671
- }
672
- toContent(settingsGroups, startIndex) {
673
- const builder = ( (new SettingsContentBuilder()));
674
- for (let i = startIndex; i < settingsGroups.length; i++) {
675
- builder.pushGroup(settingsGroups[i], i === startIndex, i === settingsGroups.length - 1);
676
- }
677
- return builder.getContent();
678
- }
679
- }
680
- class DefaultSettingsEditorModel extends AbstractSettingsModel {
681
- constructor(_uri, reference, defaultSettings) {
682
- super();
683
- this._uri = _uri;
684
- this.defaultSettings = defaultSettings;
685
- this._onDidChangeGroups = this._register(( (new Emitter())));
686
- this.onDidChangeGroups = this._onDidChangeGroups.event;
687
- this._register(defaultSettings.onDidChange(() => this._onDidChangeGroups.fire()));
688
- this._model = reference.object.textEditorModel;
689
- this._register(this.onWillDispose(() => reference.dispose()));
690
- }
691
- get uri() {
692
- return this._uri;
693
- }
694
- get target() {
695
- return this.defaultSettings.target;
696
- }
697
- get settingsGroups() {
698
- return this.defaultSettings.getSettingsGroups();
699
- }
700
- get filterGroups() {
701
- return this.settingsGroups.slice(1);
702
- }
703
- update() {
704
- if (this._model.isDisposed()) {
705
- return undefined;
706
- }
707
- const resultGroups = [...( (this._currentResultGroups.values()))]
708
- .sort((a, b) => a.order - b.order);
709
- const nonEmptyResultGroups = resultGroups.filter(group => group.result.filterMatches.length);
710
- const startLine = tail(this.settingsGroups).range.endLineNumber + 2;
711
- const { settingsGroups: filteredGroups, matches } = this.writeResultGroups(nonEmptyResultGroups, startLine);
712
- const metadata = this.collectMetadata(resultGroups);
713
- return resultGroups.length ?
714
- {
715
- allGroups: this.settingsGroups,
716
- filteredGroups,
717
- matches,
718
- metadata
719
- } :
720
- undefined;
721
- }
722
- writeResultGroups(groups, startLine) {
723
- const contentBuilderOffset = startLine - 1;
724
- const builder = ( (new SettingsContentBuilder(contentBuilderOffset)));
725
- const settingsGroups = [];
726
- const matches = [];
727
- if (groups.length) {
728
- builder.pushLine(',');
729
- groups.forEach(resultGroup => {
730
- const settingsGroup = this.getGroup(resultGroup);
731
- settingsGroups.push(settingsGroup);
732
- matches.push(...this.writeSettingsGroupToBuilder(builder, settingsGroup, resultGroup.result.filterMatches));
733
- });
734
- }
735
- const groupContent = builder.getContent() + '\n';
736
- const groupEndLine = this._model.getLineCount();
737
- const cursorPosition = ( (new Selection(startLine, 1, startLine, 1)));
738
- const edit = {
739
- text: groupContent,
740
- forceMoveMarkers: true,
741
- range: ( (new Range(startLine, 1, groupEndLine, 1)))
742
- };
743
- this._model.pushEditOperations([cursorPosition], [edit], () => [cursorPosition]);
744
- const tokenizeTo = Math.min(startLine + 60, this._model.getLineCount());
745
- this._model.tokenization.forceTokenization(tokenizeTo);
746
- return { matches, settingsGroups };
747
- }
748
- writeSettingsGroupToBuilder(builder, settingsGroup, filterMatches) {
749
- filterMatches = ( (filterMatches
750
- .map(filteredMatch => {
751
- return {
752
- setting: filteredMatch.setting,
753
- score: filteredMatch.score,
754
- matches: filteredMatch.matches && ( (filteredMatch.matches.map(match => {
755
- return (
756
- (new Range(
757
- match.startLineNumber - filteredMatch.setting.range.startLineNumber,
758
- match.startColumn,
759
- match.endLineNumber - filteredMatch.setting.range.startLineNumber,
760
- match.endColumn
761
- ))
762
- );
763
- })))
764
- };
765
- })));
766
- builder.pushGroup(settingsGroup);
767
- const fixedMatches = ( (filterMatches
768
- .map(m => m.matches || [])))
769
- .flatMap((settingMatches, i) => {
770
- const setting = settingsGroup.sections[0].settings[i];
771
- return (
772
- (settingMatches.map(range => {
773
- return (
774
- (new Range(
775
- range.startLineNumber + setting.range.startLineNumber,
776
- range.startColumn,
777
- range.endLineNumber + setting.range.startLineNumber,
778
- range.endColumn
779
- ))
780
- );
781
- }))
782
- );
783
- });
784
- return fixedMatches;
785
- }
786
- copySetting(setting) {
787
- return {
788
- description: setting.description,
789
- scope: setting.scope,
790
- type: setting.type,
791
- enum: setting.enum,
792
- enumDescriptions: setting.enumDescriptions,
793
- key: setting.key,
794
- value: setting.value,
795
- range: setting.range,
796
- overrides: [],
797
- overrideOf: setting.overrideOf,
798
- tags: setting.tags,
799
- deprecationMessage: setting.deprecationMessage,
800
- keyRange: nullRange,
801
- valueRange: nullRange,
802
- descriptionIsMarkdown: undefined,
803
- descriptionRanges: []
804
- };
805
- }
806
- findValueMatches(filter, setting) {
807
- return [];
808
- }
809
- getPreference(key) {
810
- for (const group of this.settingsGroups) {
811
- for (const section of group.sections) {
812
- for (const setting of section.settings) {
813
- if (setting.key === key) {
814
- return setting;
815
- }
816
- }
817
- }
818
- }
819
- return undefined;
820
- }
821
- getGroup(resultGroup) {
822
- return {
823
- id: resultGroup.id,
824
- range: nullRange,
825
- title: resultGroup.label,
826
- titleRange: nullRange,
827
- sections: [
828
- {
829
- settings: ( (resultGroup.result.filterMatches.map(m => this.copySetting(m.setting))))
830
- }
831
- ]
832
- };
833
- }
834
- }
835
- class SettingsContentBuilder {
836
- get lineCountWithOffset() {
837
- return this._contentByLines.length + this._rangeOffset;
838
- }
839
- get lastLine() {
840
- return this._contentByLines[this._contentByLines.length - 1] || '';
841
- }
842
- constructor(_rangeOffset = 0) {
843
- this._rangeOffset = _rangeOffset;
844
- this._contentByLines = [];
845
- }
846
- pushLine(...lineText) {
847
- this._contentByLines.push(...lineText);
848
- }
849
- pushGroup(settingsGroups, isFirst, isLast) {
850
- this._contentByLines.push(isFirst ? '[{' : '{');
851
- const lastSetting = this._pushGroup(settingsGroups, ' ');
852
- if (lastSetting) {
853
- const lineIdx = lastSetting.range.endLineNumber - this._rangeOffset;
854
- const content = this._contentByLines[lineIdx - 2];
855
- this._contentByLines[lineIdx - 2] = content.substring(0, content.length - 1);
856
- }
857
- this._contentByLines.push(isLast ? '}]' : '},');
858
- }
859
- _pushGroup(group, indent) {
860
- let lastSetting = null;
861
- const groupStart = this.lineCountWithOffset + 1;
862
- for (const section of group.sections) {
863
- if (section.title) {
864
- const sectionTitleStart = this.lineCountWithOffset + 1;
865
- this.addDescription([section.title], indent, this._contentByLines);
866
- section.titleRange = { startLineNumber: sectionTitleStart, startColumn: 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length };
867
- }
868
- if (section.settings.length) {
869
- for (const setting of section.settings) {
870
- this.pushSetting(setting, indent);
871
- lastSetting = setting;
872
- }
873
- }
874
- }
875
- group.range = { startLineNumber: groupStart, startColumn: 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length };
876
- return lastSetting;
877
- }
878
- getContent() {
879
- return this._contentByLines.join('\n');
880
- }
881
- pushSetting(setting, indent) {
882
- const settingStart = this.lineCountWithOffset + 1;
883
- this.pushSettingDescription(setting, indent);
884
- let preValueContent = indent;
885
- const keyString = JSON.stringify(setting.key);
886
- preValueContent += keyString;
887
- setting.keyRange = { startLineNumber: this.lineCountWithOffset + 1, startColumn: preValueContent.indexOf(setting.key) + 1, endLineNumber: this.lineCountWithOffset + 1, endColumn: setting.key.length };
888
- preValueContent += ': ';
889
- const valueStart = this.lineCountWithOffset + 1;
890
- this.pushValue(setting, preValueContent, indent);
891
- setting.valueRange = { startLineNumber: valueStart, startColumn: preValueContent.length + 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length + 1 };
892
- this._contentByLines[this._contentByLines.length - 1] += ',';
893
- this._contentByLines.push('');
894
- setting.range = { startLineNumber: settingStart, startColumn: 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length };
895
- }
896
- pushSettingDescription(setting, indent) {
897
- const fixSettingLink = (line) => line.replace(/`#(.*)#`/g, (match, settingName) => `\`${settingName}\``);
898
- setting.descriptionRanges = [];
899
- const descriptionPreValue = indent + '// ';
900
- const deprecationMessageLines = setting.deprecationMessage?.split(/\n/g) ?? [];
901
- for (let line of [...deprecationMessageLines, ...setting.description]) {
902
- line = fixSettingLink(line);
903
- this._contentByLines.push(descriptionPreValue + line);
904
- setting.descriptionRanges.push({ startLineNumber: this.lineCountWithOffset, startColumn: this.lastLine.indexOf(line) + 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length });
905
- }
906
- if (setting.enum && setting.enumDescriptions?.some(desc => !!desc)) {
907
- setting.enumDescriptions.forEach((desc, i) => {
908
- const displayEnum = escapeInvisibleChars(String(setting.enum[i]));
909
- const line = desc ?
910
- `${displayEnum}: ${fixSettingLink(desc)}` :
911
- displayEnum;
912
- const lines = line.split(/\n/g);
913
- lines[0] = ' - ' + lines[0];
914
- this._contentByLines.push(...( (lines.map(l => `${indent}// ${l}`))));
915
- setting.descriptionRanges.push({ startLineNumber: this.lineCountWithOffset, startColumn: this.lastLine.indexOf(line) + 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length });
916
- });
917
- }
918
- }
919
- pushValue(setting, preValueConent, indent) {
920
- const valueString = JSON.stringify(setting.value, null, indent);
921
- if (valueString && (typeof setting.value === 'object')) {
922
- if (setting.overrides && setting.overrides.length) {
923
- this._contentByLines.push(preValueConent + ' {');
924
- for (const subSetting of setting.overrides) {
925
- this.pushSetting(subSetting, indent + indent);
926
- this._contentByLines.pop();
927
- }
928
- const lastSetting = setting.overrides[setting.overrides.length - 1];
929
- const content = this._contentByLines[lastSetting.range.endLineNumber - 2];
930
- this._contentByLines[lastSetting.range.endLineNumber - 2] = content.substring(0, content.length - 1);
931
- this._contentByLines.push(indent + '}');
932
- }
933
- else {
934
- const mulitLineValue = valueString.split('\n');
935
- this._contentByLines.push(preValueConent + mulitLineValue[0]);
936
- for (let i = 1; i < mulitLineValue.length; i++) {
937
- this._contentByLines.push(indent + mulitLineValue[i]);
938
- }
939
- }
940
- }
941
- else {
942
- this._contentByLines.push(preValueConent + valueString);
943
- }
944
- }
945
- addDescription(description, indent, result) {
946
- for (const line of description) {
947
- result.push(indent + '// ' + line);
948
- }
949
- }
950
- }
951
- class RawSettingsContentBuilder extends SettingsContentBuilder {
952
- constructor(indent = '\t') {
953
- super(0);
954
- this.indent = indent;
955
- }
956
- pushGroup(settingsGroups) {
957
- this._pushGroup(settingsGroups, this.indent);
958
- }
959
- }
960
- class DefaultRawSettingsEditorModel extends Disposable {
961
- constructor(defaultSettings) {
962
- super();
963
- this.defaultSettings = defaultSettings;
964
- this._content = null;
965
- this._register(defaultSettings.onDidChange(() => this._content = null));
966
- }
967
- get content() {
968
- if (this._content === null) {
969
- const builder = ( (new RawSettingsContentBuilder()));
970
- builder.pushLine('{');
971
- for (const settingsGroup of this.defaultSettings.getRegisteredGroups()) {
972
- builder.pushGroup(settingsGroup);
973
- }
974
- builder.pushLine('}');
975
- this._content = builder.getContent();
976
- }
977
- return this._content;
978
- }
979
- }
980
- function escapeInvisibleChars(enumValue) {
981
- return enumValue && enumValue
982
- .replace(/\n/g, '\\n')
983
- .replace(/\r/g, '\\r');
984
- }
985
- function defaultKeybindingsContents(keybindingService) {
986
- const defaultsHeader = '// ' + ( localizeWithPath(
987
- _moduleId,
988
- 1,
989
- "Override key bindings by placing them into your key bindings file."
990
- ));
991
- return defaultsHeader + '\n' + keybindingService.getDefaultKeybindingsContent();
992
- }
993
- let DefaultKeybindingsEditorModel = class DefaultKeybindingsEditorModel {
994
- constructor(_uri, keybindingService) {
995
- this._uri = _uri;
996
- this.keybindingService = keybindingService;
997
- }
998
- get uri() {
999
- return this._uri;
1000
- }
1001
- get content() {
1002
- if (!this._content) {
1003
- this._content = defaultKeybindingsContents(this.keybindingService);
1004
- }
1005
- return this._content;
1006
- }
1007
- getPreference() {
1008
- return null;
1009
- }
1010
- dispose() {
1011
- }
1012
- };
1013
- DefaultKeybindingsEditorModel = ( (__decorate([
1014
- ( (__param(1, IKeybindingService)))
1015
- ], DefaultKeybindingsEditorModel)));
1016
- export { DefaultKeybindingsEditorModel, DefaultRawSettingsEditorModel, DefaultSettings, DefaultSettingsEditorModel, Settings2EditorModel, SettingsEditorModel, WorkspaceConfigurationEditorModel, defaultKeybindingsContents, nullRange };