@codingame/monaco-vscode-api 1.82.4 → 1.82.5-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/extensions.d.ts +3 -3
  2. package/external/xterm/typings/xterm.d.ts +1729 -0
  3. package/external/xterm-addon-canvas/typings/xterm-addon-canvas.d.ts +38 -0
  4. package/external/xterm-addon-image/typings/xterm-addon-image.d.ts +115 -0
  5. package/external/xterm-addon-search/typings/xterm-addon-search.d.ts +141 -0
  6. package/external/xterm-addon-serialize/typings/xterm-addon-serialize.d.ts +83 -0
  7. package/external/xterm-addon-unicode11/typings/xterm-addon-unicode11.d.ts +9 -0
  8. package/external/xterm-addon-webgl/typings/xterm-addon-webgl.d.ts +43 -0
  9. package/external/xterm-headless/typings/xterm-headless.d.ts +49 -0
  10. package/missing-services.js +0 -1
  11. package/monaco-editor-treemending.patch +1026 -1026
  12. package/package.json +21 -1
  13. package/service-override/bulkEdit.js +0 -1
  14. package/service-override/environment.js +0 -1
  15. package/service-override/extensions.js +1 -1
  16. package/service-override/files.js +0 -1
  17. package/service-override/keybindings.js +1 -6
  18. package/service-override/layout.js +0 -1
  19. package/service-override/output.js +0 -1
  20. package/service-override/quickaccess.js +0 -1
  21. package/services.js +10 -0
  22. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.d.ts +1 -1
  24. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.d.ts +7 -7
  25. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm-private.d.ts +1 -1
  26. package/README.md +0 -392
  27. package/override/vs/workbench/contrib/notebook/browser/notebookEditor.js +0 -2
  28. package/service-override/accessibility.d.ts +0 -5
  29. package/service-override/accessibility.js +0 -11
  30. package/service-override/audioCue.d.ts +0 -5
  31. package/service-override/audioCue.js +0 -13
  32. package/service-override/bulkEdit.d.ts +0 -5
  33. package/service-override/configuration.d.ts +0 -17
  34. package/service-override/configuration.js +0 -117
  35. package/service-override/debug.d.ts +0 -5
  36. package/service-override/debug.js +0 -23
  37. package/service-override/dialogs.d.ts +0 -5
  38. package/service-override/dialogs.js +0 -57
  39. package/service-override/editor.d.ts +0 -10
  40. package/service-override/editor.js +0 -37
  41. package/service-override/environment.d.ts +0 -6
  42. package/service-override/extensions.d.ts +0 -50
  43. package/service-override/files.d.ts +0 -103
  44. package/service-override/keybindings.d.ts +0 -10
  45. package/service-override/languageDetectionWorker.d.ts +0 -5
  46. package/service-override/languageDetectionWorker.js +0 -15
  47. package/service-override/languages.d.ts +0 -11
  48. package/service-override/languages.js +0 -27
  49. package/service-override/layout.d.ts +0 -71
  50. package/service-override/lifecycle.d.ts +0 -5
  51. package/service-override/lifecycle.js +0 -10
  52. package/service-override/markers.d.ts +0 -5
  53. package/service-override/markers.js +0 -6
  54. package/service-override/model.d.ts +0 -5
  55. package/service-override/model.js +0 -10
  56. package/service-override/notifications.d.ts +0 -5
  57. package/service-override/notifications.js +0 -34
  58. package/service-override/output.d.ts +0 -6
  59. package/service-override/preferences.d.ts +0 -5
  60. package/service-override/preferences.js +0 -16
  61. package/service-override/quickaccess.d.ts +0 -10
  62. package/service-override/remoteAgent.d.ts +0 -6
  63. package/service-override/remoteAgent.js +0 -42
  64. package/service-override/search.d.ts +0 -5
  65. package/service-override/search.js +0 -19
  66. package/service-override/snippets.d.ts +0 -9
  67. package/service-override/snippets.js +0 -21
  68. package/service-override/storage.d.ts +0 -40
  69. package/service-override/storage.js +0 -116
  70. package/service-override/terminal.d.ts +0 -69
  71. package/service-override/terminal.js +0 -117
  72. package/service-override/textmate.d.ts +0 -6
  73. package/service-override/textmate.js +0 -41
  74. package/service-override/theme.d.ts +0 -7
  75. package/service-override/theme.js +0 -26
  76. package/service-override/viewBanner.d.ts +0 -6
  77. package/service-override/viewBanner.js +0 -10
  78. package/service-override/viewStatusBar.d.ts +0 -6
  79. package/service-override/viewStatusBar.js +0 -10
  80. package/service-override/viewTitleBar.d.ts +0 -6
  81. package/service-override/viewTitleBar.js +0 -10
  82. package/service-override/views.d.ts +0 -74
  83. package/service-override/views.js +0 -511
  84. package/service-override/workspaceTrust.d.ts +0 -5
  85. package/service-override/workspaceTrust.js +0 -13
  86. package/vscode/src/vs/base/browser/broadcast.js +0 -52
  87. package/vscode/src/vs/base/browser/indexedDB.d.ts +0 -17
  88. package/vscode/src/vs/base/browser/ui/centered/centeredViewLayout.js +0 -178
  89. package/vscode/src/vs/base/browser/ui/grid/grid.js +0 -465
  90. package/vscode/src/vs/base/browser/ui/grid/gridview.css.js +0 -4
  91. package/vscode/src/vs/base/browser/ui/grid/gridview.js +0 -977
  92. package/vscode/src/vs/base/browser/ui/toolbar/toolbar.d.ts +0 -60
  93. package/vscode/src/vs/base/browser/ui/tree/treeDefaults.js +0 -14
  94. package/vscode/src/vs/base/common/codicons.d.ts +0 -556
  95. package/vscode/src/vs/base/common/processes.js +0 -24
  96. package/vscode/src/vs/editor/common/services/languageFeaturesService.js +0 -42
  97. package/vscode/src/vs/editor/common/services/modelUndoRedoParticipant.js +0 -56
  98. package/vscode/src/vs/editor/common/services/textResourceConfigurationService.js +0 -116
  99. package/vscode/src/vs/platform/actions/browser/toolbar.d.ts +0 -67
  100. package/vscode/src/vs/platform/audioCues/browser/media/all.mp3.js +0 -20
  101. package/vscode/src/vs/platform/configuration/common/configurationRegistry.js +0 -10
  102. package/vscode/src/vs/platform/download/common/downloadIpc.js +0 -16
  103. package/vscode/src/vs/platform/files/browser/htmlFileSystemProvider.d.ts +0 -43
  104. package/vscode/src/vs/platform/files/common/diskFileSystemProviderClient.js +0 -136
  105. package/vscode/src/vs/platform/files/common/inMemoryFilesystemProvider.d.ts +0 -50
  106. package/vscode/src/vs/platform/log/common/logIpc.js +0 -24
  107. package/vscode/src/vs/platform/quickinput/browser/quickPickPin.js +0 -94
  108. package/vscode/src/vs/platform/remote/browser/browserSocketFactory.js +0 -193
  109. package/vscode/src/vs/platform/remote/browser/remoteAuthorityResolverService.js +0 -107
  110. package/vscode/src/vs/platform/terminal/common/capabilities/bufferMarkCapability.js +0 -41
  111. package/vscode/src/vs/platform/terminal/common/capabilities/commandDetectionCapability.js +0 -566
  112. package/vscode/src/vs/platform/terminal/common/capabilities/cwdDetectionCapability.js +0 -29
  113. package/vscode/src/vs/platform/terminal/common/capabilities/naiveCwdDetectionCapability.js +0 -22
  114. package/vscode/src/vs/platform/terminal/common/capabilities/partialCommandDetectionCapability.js +0 -46
  115. package/vscode/src/vs/platform/terminal/common/capabilities/terminalCapabilityStore.js +0 -94
  116. package/vscode/src/vs/platform/terminal/common/environmentVariable.js +0 -7
  117. package/vscode/src/vs/platform/terminal/common/environmentVariableCollection.js +0 -196
  118. package/vscode/src/vs/platform/terminal/common/terminalEnvironment.js +0 -37
  119. package/vscode/src/vs/platform/terminal/common/terminalLogService.js +0 -42
  120. package/vscode/src/vs/platform/terminal/common/terminalPlatformConfiguration.js +0 -467
  121. package/vscode/src/vs/platform/terminal/common/terminalProfiles.js +0 -107
  122. package/vscode/src/vs/platform/terminal/common/terminalRecorder.js +0 -66
  123. package/vscode/src/vs/platform/terminal/common/terminalStrings.js +0 -16
  124. package/vscode/src/vs/platform/terminal/common/xterm/shellIntegrationAddon.js +0 -319
  125. package/vscode/src/vs/platform/userDataSync/common/settingsMerge.js +0 -40
  126. package/vscode/src/vs/platform/webview/common/mimeTypes.js +0 -22
  127. package/vscode/src/vs/platform/webview/common/webviewPortMapping.js +0 -62
  128. package/vscode/src/vs/workbench/api/browser/viewsExtensionPoint.js +0 -699
  129. package/vscode/src/vs/workbench/api/common/configurationExtensionPoint.js +0 -450
  130. package/vscode/src/vs/workbench/api/common/extHost.api.impl.d.ts +0 -14
  131. package/vscode/src/vs/workbench/api/common/extHost.protocol.d.ts +0 -236
  132. package/vscode/src/vs/workbench/api/common/extHostConfiguration.d.ts +0 -43
  133. package/vscode/src/vs/workbench/api/common/extHostExtensionActivator.d.ts +0 -33
  134. package/vscode/src/vs/workbench/api/common/extHostExtensionService.d.ts +0 -138
  135. package/vscode/src/vs/workbench/api/common/extHostFileSystemInfo.d.ts +0 -21
  136. package/vscode/src/vs/workbench/api/common/extHostInitDataService.d.ts +0 -9
  137. package/vscode/src/vs/workbench/api/common/extHostLocalizationService.d.ts +0 -29
  138. package/vscode/src/vs/workbench/api/common/extHostManagedSockets.d.ts +0 -11
  139. package/vscode/src/vs/workbench/api/common/extHostRpcService.d.ts +0 -9
  140. package/vscode/src/vs/workbench/api/common/extHostStoragePaths.d.ts +0 -14
  141. package/vscode/src/vs/workbench/api/common/extHostTerminalService.d.ts +0 -53
  142. package/vscode/src/vs/workbench/api/common/extHostTunnelService.d.ts +0 -19
  143. package/vscode/src/vs/workbench/api/common/extHostTypes.d.ts +0 -12
  144. package/vscode/src/vs/workbench/api/common/extHostUriTransformerService.d.ts +0 -9
  145. package/vscode/src/vs/workbench/api/common/extHostWorkspace.d.ts +0 -91
  146. package/vscode/src/vs/workbench/api/worker/extHostExtensionService.d.ts +0 -21
  147. package/vscode/src/vs/workbench/browser/actions/listCommands.js +0 -605
  148. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarActions.js +0 -597
  149. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.d.ts +0 -116
  150. package/vscode/src/vs/workbench/browser/parts/activitybar/activitybarPart.js +0 -783
  151. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activityaction.css.js +0 -4
  152. package/vscode/src/vs/workbench/browser/parts/activitybar/media/activitybarpart.css.js +0 -4
  153. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarPart.js +0 -88
  154. package/vscode/src/vs/workbench/browser/parts/auxiliarybar/media/auxiliaryBarPart.css.js +0 -4
  155. package/vscode/src/vs/workbench/browser/parts/banner/bannerPart.js +0 -228
  156. package/vscode/src/vs/workbench/browser/parts/banner/media/bannerpart.css.js +0 -4
  157. package/vscode/src/vs/workbench/browser/parts/compositeBar.js +0 -691
  158. package/vscode/src/vs/workbench/browser/parts/compositeBarActions.d.ts +0 -7
  159. package/vscode/src/vs/workbench/browser/parts/compositePart.d.ts +0 -84
  160. package/vscode/src/vs/workbench/browser/parts/compositePart.js +0 -318
  161. package/vscode/src/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +0 -69
  162. package/vscode/src/vs/workbench/browser/parts/dialogs/dialogHandler.js +0 -127
  163. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsControl.js +0 -692
  164. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsModel.js +0 -141
  165. package/vscode/src/vs/workbench/browser/parts/editor/breadcrumbsPicker.js +0 -414
  166. package/vscode/src/vs/workbench/browser/parts/editor/editorDropTarget.js +0 -507
  167. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupView.js +0 -1233
  168. package/vscode/src/vs/workbench/browser/parts/editor/editorGroupWatermark.js +0 -133
  169. package/vscode/src/vs/workbench/browser/parts/editor/editorPanes.js +0 -306
  170. package/vscode/src/vs/workbench/browser/parts/editor/editorPart.js +0 -850
  171. package/vscode/src/vs/workbench/browser/parts/editor/media/breadcrumbscontrol.css.js +0 -4
  172. package/vscode/src/vs/workbench/browser/parts/editor/media/editordroptarget.css.js +0 -4
  173. package/vscode/src/vs/workbench/browser/parts/editor/media/editorgroupview.css.js +0 -4
  174. package/vscode/src/vs/workbench/browser/parts/editor/media/notabstitlecontrol.css.js +0 -4
  175. package/vscode/src/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css.js +0 -4
  176. package/vscode/src/vs/workbench/browser/parts/editor/media/titlecontrol.css.js +0 -4
  177. package/vscode/src/vs/workbench/browser/parts/editor/noTabsTitleControl.js +0 -247
  178. package/vscode/src/vs/workbench/browser/parts/editor/tabsTitleControl.js +0 -1569
  179. package/vscode/src/vs/workbench/browser/parts/editor/titleControl.js +0 -292
  180. package/vscode/src/vs/workbench/browser/parts/media/compositepart.css.js +0 -4
  181. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsActions.css.js +0 -4
  182. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsCenter.css.js +0 -4
  183. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsList.css.js +0 -4
  184. package/vscode/src/vs/workbench/browser/parts/notifications/media/notificationsToasts.css.js +0 -4
  185. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsActions.js +0 -124
  186. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsAlerts.js +0 -58
  187. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsCenter.js +0 -227
  188. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsList.js +0 -212
  189. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsToasts.js +0 -419
  190. package/vscode/src/vs/workbench/browser/parts/notifications/notificationsViewer.js +0 -398
  191. package/vscode/src/vs/workbench/browser/parts/paneCompositePart.js +0 -78
  192. package/vscode/src/vs/workbench/browser/parts/panel/media/basepanelpart.css.js +0 -4
  193. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.d.ts +0 -134
  194. package/vscode/src/vs/workbench/browser/parts/panel/panelPart.js +0 -756
  195. package/vscode/src/vs/workbench/browser/parts/sidebar/media/sidebarpart.css.js +0 -4
  196. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.d.ts +0 -59
  197. package/vscode/src/vs/workbench/browser/parts/sidebar/sidebarPart.js +0 -217
  198. package/vscode/src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css.js +0 -4
  199. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarActions.js +0 -109
  200. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarItem.js +0 -234
  201. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarModel.js +0 -249
  202. package/vscode/src/vs/workbench/browser/parts/statusbar/statusbarPart.js +0 -439
  203. package/vscode/src/vs/workbench/browser/parts/titlebar/commandCenterControl.js +0 -134
  204. package/vscode/src/vs/workbench/browser/parts/titlebar/media/titlebarpart.css.js +0 -4
  205. package/vscode/src/vs/workbench/browser/parts/titlebar/menubarControl.d.ts +0 -115
  206. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.d.ts +0 -77
  207. package/vscode/src/vs/workbench/browser/parts/titlebar/titlebarPart.js +0 -365
  208. package/vscode/src/vs/workbench/browser/parts/titlebar/windowTitle.js +0 -216
  209. package/vscode/src/vs/workbench/browser/parts/views/checkbox.js +0 -104
  210. package/vscode/src/vs/workbench/browser/parts/views/media/views.css.js +0 -4
  211. package/vscode/src/vs/workbench/browser/parts/views/treeView.js +0 -1589
  212. package/vscode/src/vs/workbench/common/activity.js +0 -3
  213. package/vscode/src/vs/workbench/common/dialogs.js +0 -31
  214. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibility.contribution.js +0 -13
  215. package/vscode/src/vs/workbench/contrib/accessibility/browser/accessibilityContributions.js +0 -312
  216. package/vscode/src/vs/workbench/contrib/accessibility/browser/unfocusedViewDimmingContribution.js +0 -63
  217. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueDebuggerContribution.js +0 -45
  218. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCueLineFeatureContribution.js +0 -170
  219. package/vscode/src/vs/workbench/contrib/audioCues/browser/audioCues.contribution.js +0 -181
  220. package/vscode/src/vs/workbench/contrib/audioCues/browser/commands.js +0 -49
  221. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchy.contribution.js +0 -262
  222. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyPeek.js +0 -339
  223. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/callHierarchyTree.js +0 -119
  224. package/vscode/src/vs/workbench/contrib/callHierarchy/browser/media/callHierarchy.css.js +0 -4
  225. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.css.js +0 -4
  226. package/vscode/src/vs/workbench/contrib/codeEditor/browser/accessibility/accessibility.js +0 -35
  227. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.css.js +0 -4
  228. package/vscode/src/vs/workbench/contrib/codeEditor/browser/find/simpleFindWidget.js +0 -345
  229. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsOutline.js +0 -362
  230. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.css.js +0 -4
  231. package/vscode/src/vs/workbench/contrib/codeEditor/browser/outline/documentSymbolsTree.js +0 -255
  232. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.css.js +0 -4
  233. package/vscode/src/vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput.js +0 -249
  234. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditor.contribution.js +0 -14
  235. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditorInputFactory.js +0 -137
  236. package/vscode/src/vs/workbench/contrib/customEditor/browser/customEditors.js +0 -212
  237. package/vscode/src/vs/workbench/contrib/customEditor/browser/media/customEditor.css.js +0 -4
  238. package/vscode/src/vs/workbench/contrib/customEditor/common/contributedCustomEditors.js +0 -72
  239. package/vscode/src/vs/workbench/contrib/customEditor/common/customEditorModelManager.js +0 -61
  240. package/vscode/src/vs/workbench/contrib/customEditor/common/extensionPoint.js +0 -106
  241. package/vscode/src/vs/workbench/contrib/debug/browser/baseDebugView.js +0 -198
  242. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +0 -783
  243. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointWidget.js +0 -397
  244. package/vscode/src/vs/workbench/contrib/debug/browser/breakpointsView.js +0 -1296
  245. package/vscode/src/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +0 -176
  246. package/vscode/src/vs/workbench/contrib/debug/browser/callStackView.js +0 -958
  247. package/vscode/src/vs/workbench/contrib/debug/browser/debug.contribution.js +0 -496
  248. package/vscode/src/vs/workbench/contrib/debug/browser/debugANSIHandling.js +0 -345
  249. package/vscode/src/vs/workbench/contrib/debug/browser/debugActionViewItems.js +0 -297
  250. package/vscode/src/vs/workbench/contrib/debug/browser/debugAdapterManager.js +0 -398
  251. package/vscode/src/vs/workbench/contrib/debug/browser/debugCommands.js +0 -825
  252. package/vscode/src/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +0 -619
  253. package/vscode/src/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +0 -58
  254. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorActions.js +0 -525
  255. package/vscode/src/vs/workbench/contrib/debug/browser/debugEditorContribution.js +0 -679
  256. package/vscode/src/vs/workbench/contrib/debug/browser/debugHover.js +0 -354
  257. package/vscode/src/vs/workbench/contrib/debug/browser/debugMemory.js +0 -204
  258. package/vscode/src/vs/workbench/contrib/debug/browser/debugProgress.js +0 -80
  259. package/vscode/src/vs/workbench/contrib/debug/browser/debugQuickAccess.js +0 -141
  260. package/vscode/src/vs/workbench/contrib/debug/browser/debugService.js +0 -1172
  261. package/vscode/src/vs/workbench/contrib/debug/browser/debugSession.js +0 -1142
  262. package/vscode/src/vs/workbench/contrib/debug/browser/debugSessionPicker.js +0 -104
  263. package/vscode/src/vs/workbench/contrib/debug/browser/debugStatus.js +0 -66
  264. package/vscode/src/vs/workbench/contrib/debug/browser/debugTaskRunner.js +0 -273
  265. package/vscode/src/vs/workbench/contrib/debug/browser/debugToolBar.js +0 -312
  266. package/vscode/src/vs/workbench/contrib/debug/browser/debugViewlet.js +0 -166
  267. package/vscode/src/vs/workbench/contrib/debug/browser/disassemblyView.js +0 -661
  268. package/vscode/src/vs/workbench/contrib/debug/browser/exceptionWidget.js +0 -103
  269. package/vscode/src/vs/workbench/contrib/debug/browser/linkDetector.js +0 -229
  270. package/vscode/src/vs/workbench/contrib/debug/browser/loadedScriptsView.js +0 -629
  271. package/vscode/src/vs/workbench/contrib/debug/browser/media/breakpointWidget.css.js +0 -4
  272. package/vscode/src/vs/workbench/contrib/debug/browser/media/callStackEditorContribution.css.js +0 -4
  273. package/vscode/src/vs/workbench/contrib/debug/browser/media/debug.contribution.css.js +0 -4
  274. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugHover.css.js +0 -4
  275. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugToolBar.css.js +0 -4
  276. package/vscode/src/vs/workbench/contrib/debug/browser/media/debugViewlet.css.js +0 -4
  277. package/vscode/src/vs/workbench/contrib/debug/browser/media/exceptionWidget.css.js +0 -4
  278. package/vscode/src/vs/workbench/contrib/debug/browser/media/repl.css.js +0 -4
  279. package/vscode/src/vs/workbench/contrib/debug/browser/rawDebugSession.js +0 -693
  280. package/vscode/src/vs/workbench/contrib/debug/browser/repl.js +0 -951
  281. package/vscode/src/vs/workbench/contrib/debug/browser/replFilter.js +0 -46
  282. package/vscode/src/vs/workbench/contrib/debug/browser/replViewer.js +0 -334
  283. package/vscode/src/vs/workbench/contrib/debug/browser/statusbarColorProvider.js +0 -96
  284. package/vscode/src/vs/workbench/contrib/debug/browser/variablesView.js +0 -573
  285. package/vscode/src/vs/workbench/contrib/debug/browser/watchExpressionsView.js +0 -413
  286. package/vscode/src/vs/workbench/contrib/debug/browser/welcomeView.js +0 -100
  287. package/vscode/src/vs/workbench/contrib/debug/common/breakpoints.js +0 -19
  288. package/vscode/src/vs/workbench/contrib/debug/common/debugCompoundRoot.js +0 -15
  289. package/vscode/src/vs/workbench/contrib/debug/common/debugContentProvider.js +0 -98
  290. package/vscode/src/vs/workbench/contrib/debug/common/debugLifecycle.js +0 -57
  291. package/vscode/src/vs/workbench/contrib/debug/common/debugModel.js +0 -1480
  292. package/vscode/src/vs/workbench/contrib/debug/common/debugSchemas.js +0 -344
  293. package/vscode/src/vs/workbench/contrib/debug/common/debugSource.js +0 -121
  294. package/vscode/src/vs/workbench/contrib/debug/common/debugStorage.js +0 -173
  295. package/vscode/src/vs/workbench/contrib/debug/common/debugTelemetry.js +0 -34
  296. package/vscode/src/vs/workbench/contrib/debug/common/debugViewModel.js +0 -115
  297. package/vscode/src/vs/workbench/contrib/debug/common/debugger.js +0 -258
  298. package/vscode/src/vs/workbench/contrib/debug/common/disassemblyViewInput.js +0 -25
  299. package/vscode/src/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +0 -81
  300. package/vscode/src/vs/workbench/contrib/debug/common/replModel.js +0 -281
  301. package/vscode/src/vs/workbench/contrib/extensions/browser/extensionsActions.js +0 -2414
  302. package/vscode/src/vs/workbench/contrib/extensions/browser/media/extensionActions.css.js +0 -4
  303. package/vscode/src/vs/workbench/contrib/extensions/common/extensionsFileTemplate.js +0 -16
  304. package/vscode/src/vs/workbench/contrib/externalUriOpener/common/externalUriOpener.contribution.js +0 -5
  305. package/vscode/src/vs/workbench/contrib/files/browser/editors/binaryFileEditor.js +0 -73
  306. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorHandler.js +0 -36
  307. package/vscode/src/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +0 -325
  308. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditor.js +0 -230
  309. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileEditorTracker.js +0 -97
  310. package/vscode/src/vs/workbench/contrib/files/browser/editors/textFileSaveErrorHandler.js +0 -352
  311. package/vscode/src/vs/workbench/contrib/files/browser/explorerService.js +0 -426
  312. package/vscode/src/vs/workbench/contrib/files/browser/fileActions.contribution.js +0 -508
  313. package/vscode/src/vs/workbench/contrib/files/browser/fileCommands.js +0 -615
  314. package/vscode/src/vs/workbench/contrib/files/browser/files.contribution2.js +0 -94
  315. package/vscode/src/vs/workbench/contrib/files/browser/workspaceWatcher.js +0 -144
  316. package/vscode/src/vs/workbench/contrib/files/common/dirtyFilesIndicator.js +0 -53
  317. package/vscode/src/vs/workbench/contrib/languageDetection/browser/languageDetection.contribution.js +0 -134
  318. package/vscode/src/vs/workbench/contrib/languageStatus/browser/languageStatus.contribution.js +0 -353
  319. package/vscode/src/vs/workbench/contrib/languageStatus/browser/media/languageStatus.css.js +0 -4
  320. package/vscode/src/vs/workbench/contrib/markers/browser/markers.contribution.js +0 -586
  321. package/vscode/src/vs/workbench/contrib/markers/browser/markersFilterOptions.js +0 -75
  322. package/vscode/src/vs/workbench/contrib/markers/browser/markersModel.js +0 -200
  323. package/vscode/src/vs/workbench/contrib/markers/browser/markersTable.js +0 -455
  324. package/vscode/src/vs/workbench/contrib/markers/browser/markersTreeViewer.js +0 -670
  325. package/vscode/src/vs/workbench/contrib/markers/browser/markersView.js +0 -873
  326. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.css.js +0 -4
  327. package/vscode/src/vs/workbench/contrib/markers/browser/markersViewActions.js +0 -132
  328. package/vscode/src/vs/workbench/contrib/markers/browser/media/markers.css.js +0 -4
  329. package/vscode/src/vs/workbench/contrib/markers/browser/messages.js +0 -170
  330. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/findFilters.js +0 -70
  331. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.css.js +0 -4
  332. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindReplaceWidget.js +0 -158
  333. package/vscode/src/vs/workbench/contrib/notebook/common/notebookContextKeys.js +0 -3
  334. package/vscode/src/vs/workbench/contrib/outline/browser/outline.contribution.js +0 -261
  335. package/vscode/src/vs/workbench/contrib/outline/browser/outline.js +0 -10
  336. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.css.js +0 -4
  337. package/vscode/src/vs/workbench/contrib/outline/browser/outlinePane.js +0 -290
  338. package/vscode/src/vs/workbench/contrib/outline/browser/outlineViewState.js +0 -66
  339. package/vscode/src/vs/workbench/contrib/output/common/outputLinkComputer.js +0 -129
  340. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingWidgets.js +0 -272
  341. package/vscode/src/vs/workbench/contrib/preferences/browser/keybindingsEditor.js +0 -1102
  342. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindings.css.js +0 -4
  343. package/vscode/src/vs/workbench/contrib/preferences/browser/media/keybindingsEditor.css.js +0 -4
  344. package/vscode/src/vs/workbench/contrib/preferences/browser/media/preferences.css.js +0 -4
  345. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsEditor2.css.js +0 -4
  346. package/vscode/src/vs/workbench/contrib/preferences/browser/media/settingsWidgets.css.js +0 -4
  347. package/vscode/src/vs/workbench/contrib/preferences/browser/preferences.contribution.js +0 -1213
  348. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesActions.js +0 -94
  349. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesEditor.js +0 -47
  350. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesIcons.js +0 -37
  351. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesRenderers.js +0 -747
  352. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesSearch.js +0 -349
  353. package/vscode/src/vs/workbench/contrib/preferences/browser/preferencesWidgets.js +0 -468
  354. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditor2.js +0 -1477
  355. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsEditorSettingIndicators.js +0 -504
  356. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsLayout.js +0 -296
  357. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsSearchMenu.js +0 -79
  358. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTree.js +0 -2041
  359. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsTreeModels.js +0 -771
  360. package/vscode/src/vs/workbench/contrib/preferences/browser/settingsWidgets.js +0 -1004
  361. package/vscode/src/vs/workbench/contrib/preferences/browser/tocTree.js +0 -196
  362. package/vscode/src/vs/workbench/contrib/preferences/common/preferencesContribution.js +0 -151
  363. package/vscode/src/vs/workbench/contrib/preferences/common/settingsEditorColorRegistry.js +0 -67
  364. package/vscode/src/vs/workbench/contrib/remote/browser/media/tunnelView.css.js +0 -4
  365. package/vscode/src/vs/workbench/contrib/remote/browser/remoteExplorer.js +0 -207
  366. package/vscode/src/vs/workbench/contrib/remote/browser/remoteIcons.js +0 -27
  367. package/vscode/src/vs/workbench/contrib/remote/browser/tunnelView.js +0 -1666
  368. package/vscode/src/vs/workbench/contrib/remote/common/remote.contribution.js +0 -481
  369. package/vscode/src/vs/workbench/contrib/search/browser/anythingQuickAccess.js +0 -759
  370. package/vscode/src/vs/workbench/contrib/search/browser/media/anythingQuickAccess.css.js +0 -4
  371. package/vscode/src/vs/workbench/contrib/search/browser/media/searchview.css.js +0 -4
  372. package/vscode/src/vs/workbench/contrib/search/browser/notebookSearchContributions.js +0 -7
  373. package/vscode/src/vs/workbench/contrib/search/browser/patternInputWidget.js +0 -220
  374. package/vscode/src/vs/workbench/contrib/search/browser/quickTextSearch/textSearchQuickAccess.js +0 -232
  375. package/vscode/src/vs/workbench/contrib/search/browser/replaceContributions.js +0 -7
  376. package/vscode/src/vs/workbench/contrib/search/browser/replaceService.js +0 -224
  377. package/vscode/src/vs/workbench/contrib/search/browser/search.contribution.js +0 -513
  378. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsBase.js +0 -46
  379. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsCopy.js +0 -204
  380. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsFind.js +0 -354
  381. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsNav.js +0 -459
  382. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsRemoveReplace.js +0 -365
  383. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsSymbol.js +0 -35
  384. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTextQuickAccess.js +0 -23
  385. package/vscode/src/vs/workbench/contrib/search/browser/searchActionsTopBar.js +0 -308
  386. package/vscode/src/vs/workbench/contrib/search/browser/searchFindInput.js +0 -41
  387. package/vscode/src/vs/workbench/contrib/search/browser/searchIcons.js +0 -39
  388. package/vscode/src/vs/workbench/contrib/search/browser/searchMessage.js +0 -58
  389. package/vscode/src/vs/workbench/contrib/search/browser/searchResultsView.js +0 -383
  390. package/vscode/src/vs/workbench/contrib/search/browser/searchView.js +0 -1916
  391. package/vscode/src/vs/workbench/contrib/search/browser/searchWidget.js +0 -636
  392. package/vscode/src/vs/workbench/contrib/search/browser/symbolsQuickAccess.js +0 -220
  393. package/vscode/src/vs/workbench/contrib/search/common/cacheState.js +0 -85
  394. package/vscode/src/vs/workbench/contrib/search/common/constants.js +0 -66
  395. package/vscode/src/vs/workbench/contrib/searchEditor/browser/constants.js +0 -11
  396. package/vscode/src/vs/workbench/contrib/searchEditor/browser/media/searchEditor.css.js +0 -4
  397. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.contribution.js +0 -477
  398. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditor.js +0 -700
  399. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorActions.js +0 -187
  400. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorInput.js +0 -298
  401. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorModel.js +0 -135
  402. package/vscode/src/vs/workbench/contrib/searchEditor/browser/searchEditorSerialization.js +0 -268
  403. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/abstractSnippetsActions.js +0 -20
  404. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/configureSnippets.js +0 -264
  405. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/fileTemplateSnippets.js +0 -87
  406. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/insertSnippet.js +0 -126
  407. package/vscode/src/vs/workbench/contrib/snippets/browser/commands/surroundWithSnippet.js +0 -56
  408. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetCodeActionProvider.js +0 -136
  409. package/vscode/src/vs/workbench/contrib/snippets/browser/snippetPicker.js +0 -83
  410. package/vscode/src/vs/workbench/contrib/snippets/browser/snippets.contribution.js +0 -113
  411. package/vscode/src/vs/workbench/contrib/terminal/browser/baseTerminalBackend.js +0 -101
  412. package/vscode/src/vs/workbench/contrib/terminal/browser/detachedTerminal.js +0 -54
  413. package/vscode/src/vs/workbench/contrib/terminal/browser/environmentVariableInfo.js +0 -119
  414. package/vscode/src/vs/workbench/contrib/terminal/browser/media/scrollbar.css.js +0 -4
  415. package/vscode/src/vs/workbench/contrib/terminal/browser/media/terminal.css.js +0 -4
  416. package/vscode/src/vs/workbench/contrib/terminal/browser/media/widgets.css.js +0 -4
  417. package/vscode/src/vs/workbench/contrib/terminal/browser/media/xterm.css.js +0 -4
  418. package/vscode/src/vs/workbench/contrib/terminal/browser/remotePty.js +0 -175
  419. package/vscode/src/vs/workbench/contrib/terminal/browser/remoteTerminalBackend.js +0 -311
  420. package/vscode/src/vs/workbench/contrib/terminal/browser/terminal.contribution.js +0 -240
  421. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalActions.js +0 -1964
  422. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalCommands.js +0 -22
  423. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalConfigHelper.js +0 -215
  424. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalContextMenu.js +0 -16
  425. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditor.js +0 -186
  426. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEditorService.js +0 -239
  427. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalEvents.js +0 -47
  428. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalExtensions.js +0 -25
  429. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroup.js +0 -482
  430. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalGroupService.js +0 -367
  431. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalIcons.js +0 -37
  432. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstance.js +0 -2101
  433. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalInstanceService.js +0 -82
  434. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMainContribution.js +0 -82
  435. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalMenus.js +0 -762
  436. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProcessManager.js +0 -617
  437. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileQuickpick.js +0 -278
  438. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileResolverService.js +0 -316
  439. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalProfileService.js +0 -218
  440. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalQuickAccess.js +0 -146
  441. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalRunRecentQuickPick.js +0 -269
  442. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalService.js +0 -1134
  443. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalStatusList.js +0 -108
  444. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabbedView.js +0 -420
  445. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTabsList.js +0 -676
  446. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalTooltip.js +0 -72
  447. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalUri.js +0 -39
  448. package/vscode/src/vs/workbench/contrib/terminal/browser/terminalView.js +0 -598
  449. package/vscode/src/vs/workbench/contrib/terminal/browser/widgets/widgetManager.js +0 -36
  450. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationAddon.js +0 -469
  451. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/decorationStyles.js +0 -97
  452. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/lineDataEventAddon.js +0 -56
  453. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/markNavigationAddon.js +0 -416
  454. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/suggestAddon.js +0 -390
  455. package/vscode/src/vs/workbench/contrib/terminal/browser/xterm/xtermTerminal.js +0 -793
  456. package/vscode/src/vs/workbench/contrib/terminal/common/environmentVariableService.js +0 -96
  457. package/vscode/src/vs/workbench/contrib/terminal/common/history.js +0 -356
  458. package/vscode/src/vs/workbench/contrib/terminal/common/remote/remoteTerminalChannel.js +0 -253
  459. package/vscode/src/vs/workbench/contrib/terminal/common/terminalConfiguration.js +0 -1016
  460. package/vscode/src/vs/workbench/contrib/terminal/common/terminalEnvironment.js +0 -272
  461. package/vscode/src/vs/workbench/contrib/terminal/common/terminalStrings.js +0 -93
  462. package/vscode/src/vs/workbench/contrib/terminal/electron-sandbox/terminalProfileResolverService.js +0 -42
  463. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/bufferContentTracker.js +0 -110
  464. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminal.accessibility.contribution.js +0 -232
  465. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibilityHelp.js +0 -138
  466. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleBuffer.js +0 -226
  467. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/terminalAccessibleWidget.js +0 -142
  468. package/vscode/src/vs/workbench/contrib/terminalContrib/accessibility/browser/textAreaSyncAddon.js +0 -98
  469. package/vscode/src/vs/workbench/contrib/terminalContrib/links/browser/terminalLinkProviderService.js +0 -26
  470. package/vscode/src/vs/workbench/contrib/terminalContrib/quickFix/browser/terminalQuickFixService.js +0 -155
  471. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/media/typeHierarchy.css.js +0 -4
  472. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchy.contribution.js +0 -247
  473. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyPeek.js +0 -334
  474. package/vscode/src/vs/workbench/contrib/typeHierarchy/browser/typeHierarchyTree.js +0 -117
  475. package/vscode/src/vs/workbench/contrib/webview/browser/overlayWebview.js +0 -288
  476. package/vscode/src/vs/workbench/contrib/webview/browser/resourceLoading.js +0 -94
  477. package/vscode/src/vs/workbench/contrib/webview/browser/themeing.js +0 -86
  478. package/vscode/src/vs/workbench/contrib/webview/browser/webviewElement.js +0 -640
  479. package/vscode/src/vs/workbench/contrib/webview/browser/webviewFindWidget.js +0 -63
  480. package/vscode/src/vs/workbench/contrib/webview/browser/webviewService.js +0 -57
  481. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewCommands.js +0 -120
  482. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewEditorInputSerializer.js +0 -119
  483. package/vscode/src/vs/workbench/contrib/webviewPanel/browser/webviewPanel.contribution.js +0 -61
  484. package/vscode/src/vs/workbench/contrib/webviewView/browser/webviewViewPane.js +0 -232
  485. package/vscode/src/vs/workbench/contrib/workspace/browser/media/workspaceTrustEditor.css.js +0 -4
  486. package/vscode/src/vs/workbench/contrib/workspace/browser/workspace.contribution.js +0 -842
  487. package/vscode/src/vs/workbench/contrib/workspace/browser/workspaceTrustEditor.js +0 -1047
  488. package/vscode/src/vs/workbench/contrib/workspace/common/workspace.js +0 -14
  489. package/vscode/src/vs/workbench/services/activity/browser/activityService.js +0 -94
  490. package/vscode/src/vs/workbench/services/configuration/browser/configuration.js +0 -878
  491. package/vscode/src/vs/workbench/services/configuration/browser/configurationService.js +0 -1170
  492. package/vscode/src/vs/workbench/services/configuration/common/configurationCache.js +0 -80
  493. package/vscode/src/vs/workbench/services/configuration/common/configurationEditing.js +0 -589
  494. package/vscode/src/vs/workbench/services/configuration/common/configurationModels.js +0 -119
  495. package/vscode/src/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +0 -303
  496. package/vscode/src/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +0 -26
  497. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +0 -174
  498. package/vscode/src/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +0 -10
  499. package/vscode/src/vs/workbench/services/dialogs/browser/abstractFileDialogService.js +0 -320
  500. package/vscode/src/vs/workbench/services/dialogs/browser/simpleFileDialog.js +0 -989
  501. package/vscode/src/vs/workbench/services/dialogs/common/dialogService.js +0 -66
  502. package/vscode/src/vs/workbench/services/editor/browser/editorResolverService.js +0 -622
  503. package/vscode/src/vs/workbench/services/extensionRecommendations/common/extensionRecommendations.js +0 -4
  504. package/vscode/src/vs/workbench/services/extensionRecommendations/common/workspaceExtensionsConfig.js +0 -2
  505. package/vscode/src/vs/workbench/services/history/browser/historyService.js +0 -1454
  506. package/vscode/src/vs/workbench/services/hover/browser/hoverService.js +0 -162
  507. package/vscode/src/vs/workbench/services/hover/browser/hoverWidget.js +0 -523
  508. package/vscode/src/vs/workbench/services/hover/browser/media/hover.css.js +0 -4
  509. package/vscode/src/vs/workbench/services/label/common/labelService.js +0 -412
  510. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionSimpleWorker.js +0 -173
  511. package/vscode/src/vs/workbench/services/languageDetection/browser/languageDetectionWorkerServiceImpl.js +0 -259
  512. package/vscode/src/vs/workbench/services/lifecycle/browser/lifecycleService.js +0 -121
  513. package/vscode/src/vs/workbench/services/localization/common/locale.js +0 -3
  514. package/vscode/src/vs/workbench/services/notification/common/notificationService.js +0 -188
  515. package/vscode/src/vs/workbench/services/outline/browser/outlineService.js +0 -35
  516. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +0 -37
  517. package/vscode/src/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +0 -556
  518. package/vscode/src/vs/workbench/services/preferences/browser/preferencesService.js +0 -547
  519. package/vscode/src/vs/workbench/services/preferences/common/preferencesEditorInput.js +0 -39
  520. package/vscode/src/vs/workbench/services/preferences/common/preferencesModels.js +0 -1039
  521. package/vscode/src/vs/workbench/services/preferences/common/preferencesValidation.js +0 -393
  522. package/vscode/src/vs/workbench/services/remote/browser/remoteAgentService.js +0 -71
  523. package/vscode/src/vs/workbench/services/remote/common/abstractRemoteAgentService.js +0 -177
  524. package/vscode/src/vs/workbench/services/remote/common/remoteAgentEnvironmentChannel.js +0 -51
  525. package/vscode/src/vs/workbench/services/remote/common/remoteFileSystemProviderClient.js +0 -38
  526. package/vscode/src/vs/workbench/services/search/common/queryBuilder.d.ts +0 -35
  527. package/vscode/src/vs/workbench/services/search/common/searchService.js +0 -370
  528. package/vscode/src/vs/workbench/services/storage/browser/storageService.d.ts +0 -40
  529. package/vscode/src/vs/workbench/services/storage/browser/storageService.js +0 -280
  530. package/vscode/src/vs/workbench/services/suggest/browser/media/suggest.css.js +0 -4
  531. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionItem.js +0 -10
  532. package/vscode/src/vs/workbench/services/suggest/browser/simpleCompletionModel.js +0 -98
  533. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidget.js +0 -399
  534. package/vscode/src/vs/workbench/services/suggest/browser/simpleSuggestWidgetRenderer.js +0 -83
  535. package/vscode/src/vs/workbench/services/textMate/browser/arrayOperation.js +0 -62
  536. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/textMateWorkerTokenizerController.js +0 -157
  537. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/threadedBackgroundTokenizerFactory.js +0 -200
  538. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/worker/textMateTokenizationWorker.worker.js +0 -87
  539. package/vscode/src/vs/workbench/services/textMate/browser/backgroundTokenization/worker/textMateWorkerTokenizer.js +0 -140
  540. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeature.d.ts +0 -11
  541. package/vscode/src/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +0 -459
  542. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +0 -72
  543. package/vscode/src/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +0 -36
  544. package/vscode/src/vs/workbench/services/textMate/common/TMGrammarFactory.js +0 -118
  545. package/vscode/src/vs/workbench/services/textMate/common/TMGrammars.js +0 -93
  546. package/vscode/src/vs/workbench/services/textMate/common/TMScopeRegistry.js +0 -24
  547. package/vscode/src/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +0 -187
  548. package/vscode/src/vs/workbench/services/themes/browser/fileIconThemeData.js +0 -353
  549. package/vscode/src/vs/workbench/services/themes/browser/productIconThemeData.js +0 -290
  550. package/vscode/src/vs/workbench/services/themes/browser/workbenchThemeService.js +0 -742
  551. package/vscode/src/vs/workbench/services/themes/common/colorThemeData.js +0 -864
  552. package/vscode/src/vs/workbench/services/themes/common/colorThemeSchema.js +0 -265
  553. package/vscode/src/vs/workbench/services/themes/common/fileIconThemeSchema.js +0 -303
  554. package/vscode/src/vs/workbench/services/themes/common/plistParser.js +0 -439
  555. package/vscode/src/vs/workbench/services/themes/common/productIconThemeSchema.js +0 -94
  556. package/vscode/src/vs/workbench/services/themes/common/textMateScopeMatcher.js +0 -120
  557. package/vscode/src/vs/workbench/services/themes/common/themeCompatibility.js +0 -66
  558. package/vscode/src/vs/workbench/services/themes/common/themeConfiguration.js +0 -372
  559. package/vscode/src/vs/workbench/services/themes/common/themeExtensionPoints.js +0 -254
  560. package/vscode/src/vs/workbench/services/views/browser/viewDescriptorService.js +0 -689
  561. package/vscode/src/vs/workbench/services/views/common/viewContainerModel.js +0 -612
  562. package/vscode/src/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +0 -322
  563. package/vscode/src/vs/workbench/services/workspaces/browser/workspaceTrustEditorInput.js +0 -27
  564. package/vscode/src/vs/workbench/services/workspaces/browser/workspacesService.js +0 -151
  565. package/workers/languageDetection.worker.js +0 -8
  566. package/workers/outputLinkComputer.worker.js +0 -3
  567. package/workers/textmate.worker.js +0 -3
@@ -1,2041 +0,0 @@
1
- import { __decorate, __param } from '../../../../../../../external/tslib/tslib.es6.js';
2
- import { BrowserFeatures } from 'monaco-editor/esm/vs/base/browser/canIUse.js';
3
- import * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
4
- import { StandardKeyboardEvent } from 'monaco-editor/esm/vs/base/browser/keyboardEvent.js';
5
- import { renderMarkdownAsPlaintext } from 'monaco-editor/esm/vs/base/browser/markdownRenderer.js';
6
- import * as aria from 'monaco-editor/esm/vs/base/browser/ui/aria/aria.js';
7
- import { Button } from 'monaco-editor/esm/vs/base/browser/ui/button/button.js';
8
- import { SimpleIconLabel } from '../../../../base/browser/ui/iconLabel/simpleIconLabel.js';
9
- import { InputBox } from 'monaco-editor/esm/vs/base/browser/ui/inputbox/inputBox.js';
10
- import { CachedListVirtualDelegate } from 'monaco-editor/esm/vs/base/browser/ui/list/list.js';
11
- import { DefaultStyleController } from 'monaco-editor/esm/vs/base/browser/ui/list/listWidget.js';
12
- import { SelectBox } from 'monaco-editor/esm/vs/base/browser/ui/selectBox/selectBox.js';
13
- import { Toggle, unthemedToggleStyles } from 'monaco-editor/esm/vs/base/browser/ui/toggle/toggle.js';
14
- import { ToolBar } from 'monaco-editor/esm/vs/base/browser/ui/toolbar/toolbar.js';
15
- import { RenderIndentGuides } from 'monaco-editor/esm/vs/base/browser/ui/tree/abstractTree.js';
16
- import { ObjectTreeModel } from 'monaco-editor/esm/vs/base/browser/ui/tree/objectTreeModel.js';
17
- import { Action, Separator } from 'monaco-editor/esm/vs/base/common/actions.js';
18
- import { distinct } from 'monaco-editor/esm/vs/base/common/arrays.js';
19
- import { Codicon } from 'monaco-editor/esm/vs/base/common/codicons.js';
20
- import { onUnexpectedError } from 'monaco-editor/esm/vs/base/common/errors.js';
21
- import { Emitter, Event } from 'monaco-editor/esm/vs/base/common/event.js';
22
- import { Disposable, DisposableStore, isDisposable, dispose, toDisposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
23
- import { isIOS } from 'monaco-editor/esm/vs/base/common/platform.js';
24
- import { escapeRegExpCharacters } from 'monaco-editor/esm/vs/base/common/strings.js';
25
- import { isDefined, isUndefinedOrNull } from 'monaco-editor/esm/vs/base/common/types.js';
26
- import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
27
- import { MarkdownRenderer } from 'monaco-editor/esm/vs/editor/contrib/markdownRenderer/browser/markdownRenderer.js';
28
- import { localize } from 'monaco-editor/esm/vs/nls.js';
29
- import { IClipboardService } from 'monaco-editor/esm/vs/platform/clipboard/common/clipboardService.js';
30
- import { ICommandService } from 'monaco-editor/esm/vs/platform/commands/common/commands.js';
31
- import { getLanguageTagSettingPlainKey, IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
32
- import { IContextKeyService } from 'monaco-editor/esm/vs/platform/contextkey/common/contextkey.js';
33
- import { IContextViewService, IContextMenuService } from 'monaco-editor/esm/vs/platform/contextview/browser/contextView.js';
34
- import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
35
- import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
36
- import { WorkbenchObjectTree, IListService } from 'monaco-editor/esm/vs/platform/list/browser/listService.js';
37
- import { IOpenerService } from 'monaco-editor/esm/vs/platform/opener/common/opener.js';
38
- import { IProductService } from 'monaco-editor/esm/vs/platform/product/common/productService.js';
39
- import { ITelemetryService } from 'monaco-editor/esm/vs/platform/telemetry/common/telemetry.js';
40
- import { getInputBoxStyle, getListStyles, getSelectBoxStyles, defaultButtonStyles } from 'monaco-editor/esm/vs/platform/theme/browser/defaultStyles.js';
41
- import { editorBackground, foreground } from 'monaco-editor/esm/vs/platform/theme/common/colorRegistry.js';
42
- import { IThemeService } from 'monaco-editor/esm/vs/platform/theme/common/themeService.js';
43
- import { IUserDataProfilesService } from 'monaco-editor/esm/vs/platform/userDataProfile/common/userDataProfile.js';
44
- import { getIgnoredSettings } from '../../../../platform/userDataSync/common/settingsMerge.js';
45
- import { getDefaultIgnoredSettings, IUserDataSyncEnablementService } from '../../../../platform/userDataSync/common/userDataSync.js';
46
- import { IExtensionsWorkbenchService } from '../../extensions/common/extensions.js';
47
- import { settingsMoreActionIcon } from './preferencesIcons.js';
48
- import { SettingsTreeIndicatorsLabel, getIndicatorsLabelAriaLabel } from './settingsEditorSettingIndicators.js';
49
- import { settingKeyToDisplayFormat, inspectSetting, SettingsTreeSettingElement, SettingsTreeGroupElement, SettingsTreeNewExtensionsElement } from './settingsTreeModels.js';
50
- import { ListSettingWidget, ObjectSettingDropdownWidget, ObjectSettingCheckboxWidget, ExcludeSettingWidget, IncludeSettingWidget } from './settingsWidgets.js';
51
- import { SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU, LANGUAGE_SETTING_TAG } from '../common/preferences.js';
52
- import { settingsTextInputBackground, settingsTextInputForeground, settingsTextInputBorder, settingsNumberInputBackground, settingsNumberInputForeground, settingsNumberInputBorder, settingsSelectBackground, settingsSelectForeground, settingsSelectBorder, settingsSelectListBorder } from '../common/settingsEditorColorRegistry.js';
53
- import { APPLY_ALL_PROFILES_SETTING, IWorkbenchConfigurationService } from '../../../services/configuration/common/configuration.js';
54
- import { IWorkbenchEnvironmentService } from '../../../services/environment/common/environmentService.js';
55
- import { IExtensionService } from '../../../services/extensions/common/extensions.js';
56
- import { SettingValueType } from '../../../services/preferences/common/preferences.js';
57
- import { getInvalidTypeError } from '../../../services/preferences/common/preferencesValidation.js';
58
- var AbstractSettingRenderer_1, CopySettingIdAction_1, CopySettingAsJSONAction_1, SyncSettingAction_1, ApplySettingToAllProfilesAction_1;
59
- const $ = dom.$;
60
- function getIncludeExcludeDisplayValue(element) {
61
- const data = element.isConfigured ?
62
- { ...element.defaultValue, ...element.scopeValue } :
63
- element.defaultValue;
64
- return ( ( Object.keys(data))
65
- .filter(key => !!data[key])
66
- .map(key => {
67
- const value = data[key];
68
- const sibling = typeof value === 'boolean' ? undefined : value.when;
69
- return {
70
- value: {
71
- type: 'string',
72
- data: key
73
- },
74
- sibling,
75
- elementType: element.valueType
76
- };
77
- }));
78
- }
79
- function areAllPropertiesDefined(properties, itemsToDisplay) {
80
- const staticProperties = ( new Set(properties));
81
- itemsToDisplay.forEach(({ key }) => staticProperties.delete(key.data));
82
- return staticProperties.size === 0;
83
- }
84
- function getEnumOptionsFromSchema(schema) {
85
- if (schema.anyOf) {
86
- return ( schema.anyOf.map(getEnumOptionsFromSchema)).flat();
87
- }
88
- const enumDescriptions = schema.enumDescriptions ?? [];
89
- return ( (schema.enum ?? []).map((value, idx) => {
90
- const description = idx < enumDescriptions.length
91
- ? enumDescriptions[idx]
92
- : undefined;
93
- return { value, description };
94
- }));
95
- }
96
- function getObjectValueType(schema) {
97
- if (schema.anyOf) {
98
- const subTypes = ( schema.anyOf.map(getObjectValueType));
99
- if (( subTypes.some(type => type === 'enum'))) {
100
- return 'enum';
101
- }
102
- return 'string';
103
- }
104
- if (schema.type === 'boolean') {
105
- return 'boolean';
106
- }
107
- else if (schema.type === 'string' && isDefined(schema.enum) && schema.enum.length > 0) {
108
- return 'enum';
109
- }
110
- else {
111
- return 'string';
112
- }
113
- }
114
- function getObjectDisplayValue(element) {
115
- const elementDefaultValue = typeof element.defaultValue === 'object'
116
- ? element.defaultValue ?? {}
117
- : {};
118
- const elementScopeValue = typeof element.scopeValue === 'object'
119
- ? element.scopeValue ?? {}
120
- : {};
121
- const data = element.isConfigured ?
122
- { ...elementDefaultValue, ...elementScopeValue } :
123
- elementDefaultValue;
124
- const { objectProperties, objectPatternProperties, objectAdditionalProperties } = element.setting;
125
- const patternsAndSchemas = ( Object
126
- .entries(objectPatternProperties ?? {})
127
- .map(([pattern, schema]) => ({
128
- pattern: ( new RegExp(pattern)),
129
- schema
130
- })));
131
- const wellDefinedKeyEnumOptions = ( Object.entries(objectProperties ?? {}).map(([key, schema]) => ({ value: key, description: schema.description })));
132
- return ( ( Object.keys(data)).map(key => {
133
- const defaultValue = elementDefaultValue[key];
134
- if (isDefined(objectProperties) && key in objectProperties) {
135
- if (element.setting.allKeysAreBoolean) {
136
- return {
137
- key: {
138
- type: 'string',
139
- data: key
140
- },
141
- value: {
142
- type: 'boolean',
143
- data: data[key]
144
- },
145
- keyDescription: objectProperties[key].description,
146
- removable: false
147
- };
148
- }
149
- const valueEnumOptions = getEnumOptionsFromSchema(objectProperties[key]);
150
- return {
151
- key: {
152
- type: 'enum',
153
- data: key,
154
- options: wellDefinedKeyEnumOptions,
155
- },
156
- value: {
157
- type: getObjectValueType(objectProperties[key]),
158
- data: data[key],
159
- options: valueEnumOptions,
160
- },
161
- keyDescription: objectProperties[key].description,
162
- removable: isUndefinedOrNull(defaultValue),
163
- };
164
- }
165
- const removable = !defaultValue;
166
- const schema = patternsAndSchemas.find(({ pattern }) => pattern.test(key))?.schema;
167
- if (schema) {
168
- const valueEnumOptions = getEnumOptionsFromSchema(schema);
169
- return {
170
- key: { type: 'string', data: key },
171
- value: {
172
- type: getObjectValueType(schema),
173
- data: data[key],
174
- options: valueEnumOptions,
175
- },
176
- keyDescription: schema.description,
177
- removable,
178
- };
179
- }
180
- const additionalValueEnums = getEnumOptionsFromSchema(typeof objectAdditionalProperties === 'boolean'
181
- ? {}
182
- : objectAdditionalProperties ?? {});
183
- return {
184
- key: { type: 'string', data: key },
185
- value: {
186
- type: typeof objectAdditionalProperties === 'object' ? getObjectValueType(objectAdditionalProperties) : 'string',
187
- data: data[key],
188
- options: additionalValueEnums,
189
- },
190
- keyDescription: typeof objectAdditionalProperties === 'object' ? objectAdditionalProperties.description : undefined,
191
- removable,
192
- };
193
- })).filter(item => !isUndefinedOrNull(item.value.data));
194
- }
195
- function createArraySuggester(element) {
196
- return (keys, idx) => {
197
- const enumOptions = [];
198
- if (element.setting.enum) {
199
- element.setting.enum.forEach((key, i) => {
200
- if (!element.setting.uniqueItems || (idx !== undefined && key === keys[idx]) || !keys.includes(key)) {
201
- const description = element.setting.enumDescriptions?.[i];
202
- enumOptions.push({ value: key, description });
203
- }
204
- });
205
- }
206
- return enumOptions.length > 0
207
- ? { type: 'enum', data: enumOptions[0].value, options: enumOptions }
208
- : undefined;
209
- };
210
- }
211
- function createObjectKeySuggester(element) {
212
- const { objectProperties } = element.setting;
213
- const allStaticKeys = ( Object.keys(objectProperties ?? {}));
214
- return keys => {
215
- const existingKeys = ( new Set(keys));
216
- const enumOptions = [];
217
- allStaticKeys.forEach(staticKey => {
218
- if (!( existingKeys.has(staticKey))) {
219
- enumOptions.push({ value: staticKey, description: objectProperties[staticKey].description });
220
- }
221
- });
222
- return enumOptions.length > 0
223
- ? { type: 'enum', data: enumOptions[0].value, options: enumOptions }
224
- : undefined;
225
- };
226
- }
227
- function createObjectValueSuggester(element) {
228
- const { objectProperties, objectPatternProperties, objectAdditionalProperties } = element.setting;
229
- const patternsAndSchemas = ( Object
230
- .entries(objectPatternProperties ?? {})
231
- .map(([pattern, schema]) => ({
232
- pattern: ( new RegExp(pattern)),
233
- schema
234
- })));
235
- return (key) => {
236
- let suggestedSchema;
237
- if (isDefined(objectProperties) && key in objectProperties) {
238
- suggestedSchema = objectProperties[key];
239
- }
240
- const patternSchema = suggestedSchema ?? patternsAndSchemas.find(({ pattern }) => pattern.test(key))?.schema;
241
- if (isDefined(patternSchema)) {
242
- suggestedSchema = patternSchema;
243
- }
244
- else if (isDefined(objectAdditionalProperties) && typeof objectAdditionalProperties === 'object') {
245
- suggestedSchema = objectAdditionalProperties;
246
- }
247
- if (isDefined(suggestedSchema)) {
248
- const type = getObjectValueType(suggestedSchema);
249
- if (type === 'boolean') {
250
- return { type, data: suggestedSchema.default ?? true };
251
- }
252
- else if (type === 'enum') {
253
- const options = getEnumOptionsFromSchema(suggestedSchema);
254
- return { type, data: suggestedSchema.default ?? options[0].value, options };
255
- }
256
- else {
257
- return { type, data: suggestedSchema.default ?? '' };
258
- }
259
- }
260
- return;
261
- };
262
- }
263
- function isNonNullableNumericType(type) {
264
- return type === 'number' || type === 'integer';
265
- }
266
- function parseNumericObjectValues(dataElement, v) {
267
- const newRecord = {};
268
- for (const key in v) {
269
- let keyMatchesNumericProperty;
270
- const patternProperties = dataElement.setting.objectPatternProperties;
271
- const properties = dataElement.setting.objectProperties;
272
- const additionalProperties = dataElement.setting.objectAdditionalProperties;
273
- if (properties) {
274
- for (const propKey in properties) {
275
- if (propKey === key) {
276
- keyMatchesNumericProperty = isNonNullableNumericType(properties[propKey].type);
277
- break;
278
- }
279
- }
280
- }
281
- if (keyMatchesNumericProperty === undefined && patternProperties) {
282
- for (const patternKey in patternProperties) {
283
- if (key.match(patternKey)) {
284
- keyMatchesNumericProperty = isNonNullableNumericType(patternProperties[patternKey].type);
285
- break;
286
- }
287
- }
288
- }
289
- if (keyMatchesNumericProperty === undefined && additionalProperties && typeof additionalProperties !== 'boolean') {
290
- if (isNonNullableNumericType(additionalProperties.type)) {
291
- keyMatchesNumericProperty = true;
292
- }
293
- }
294
- newRecord[key] = keyMatchesNumericProperty ? Number(v[key]) : v[key];
295
- }
296
- return newRecord;
297
- }
298
- function getListDisplayValue(element) {
299
- if (!element.value || !Array.isArray(element.value)) {
300
- return [];
301
- }
302
- if (element.setting.arrayItemType === 'enum') {
303
- let enumOptions = [];
304
- if (element.setting.enum) {
305
- enumOptions = ( element.setting.enum.map((setting, i) => {
306
- return {
307
- value: setting,
308
- description: element.setting.enumDescriptions?.[i]
309
- };
310
- }));
311
- }
312
- return ( element.value.map((key) => {
313
- return {
314
- value: {
315
- type: 'enum',
316
- data: key,
317
- options: enumOptions
318
- }
319
- };
320
- }));
321
- }
322
- else {
323
- return ( element.value.map((key) => {
324
- return {
325
- value: {
326
- type: 'string',
327
- data: key
328
- }
329
- };
330
- }));
331
- }
332
- }
333
- function getShowAddButtonList(dataElement, listDisplayValue) {
334
- if (dataElement.setting.enum && dataElement.setting.uniqueItems) {
335
- return dataElement.setting.enum.length - listDisplayValue.length > 0;
336
- }
337
- else {
338
- return true;
339
- }
340
- }
341
- function resolveSettingsTree(tocData, coreSettingsGroups, logService) {
342
- const allSettings = getFlatSettings(coreSettingsGroups);
343
- return {
344
- tree: _resolveSettingsTree(tocData, allSettings, logService),
345
- leftoverSettings: allSettings
346
- };
347
- }
348
- function resolveConfiguredUntrustedSettings(groups, target, languageFilter, configurationService) {
349
- const allSettings = getFlatSettings(groups);
350
- return [...allSettings].filter(setting => setting.restricted && inspectSetting(setting.key, target, languageFilter, configurationService).isConfigured);
351
- }
352
- function compareNullableIntegers(a, b) {
353
- const firstElem = a ?? Number.MAX_SAFE_INTEGER;
354
- const secondElem = b ?? Number.MAX_SAFE_INTEGER;
355
- return firstElem - secondElem;
356
- }
357
- async function createTocTreeForExtensionSettings(extensionService, groups) {
358
- const extGroupTree = ( new Map());
359
- const addEntryToTree = (extensionId, extensionName, childEntry) => {
360
- if (!( extGroupTree.has(extensionId))) {
361
- const rootEntry = {
362
- id: extensionId,
363
- label: extensionName,
364
- children: []
365
- };
366
- extGroupTree.set(extensionId, rootEntry);
367
- }
368
- extGroupTree.get(extensionId).children.push(childEntry);
369
- };
370
- const processGroupEntry = async (group) => {
371
- const flatSettings = ( group.sections.map(section => section.settings)).flat();
372
- const extensionId = group.extensionInfo.id;
373
- const extension = await extensionService.getExtension(extensionId);
374
- const extensionName = extension?.displayName ?? extension?.name ?? extensionId;
375
- const childEntry = {
376
- id: group.id || group.title,
377
- label: group.title,
378
- order: group.order,
379
- settings: flatSettings
380
- };
381
- addEntryToTree(extensionId, extensionName, childEntry);
382
- };
383
- const processPromises = ( groups.map(g => processGroupEntry(g)));
384
- return Promise.all(processPromises).then(() => {
385
- const extGroups = [];
386
- for (const extensionRootEntry of ( extGroupTree.values())) {
387
- for (const child of extensionRootEntry.children) {
388
- child.settings?.sort((a, b) => {
389
- return compareNullableIntegers(a.order, b.order);
390
- });
391
- }
392
- if (extensionRootEntry.children.length === 1) {
393
- extGroups.push({
394
- id: extensionRootEntry.id,
395
- label: extensionRootEntry.children[0].label,
396
- settings: extensionRootEntry.children[0].settings
397
- });
398
- }
399
- else {
400
- extensionRootEntry.children.sort((a, b) => {
401
- return compareNullableIntegers(a.order, b.order);
402
- });
403
- const ungroupedChild = extensionRootEntry.children.find(child => child.label === extensionRootEntry.label);
404
- if (ungroupedChild && !ungroupedChild.children) {
405
- const groupedChildren = extensionRootEntry.children.filter(child => child !== ungroupedChild);
406
- extGroups.push({
407
- id: extensionRootEntry.id,
408
- label: extensionRootEntry.label,
409
- settings: ungroupedChild.settings,
410
- children: groupedChildren
411
- });
412
- }
413
- else {
414
- extGroups.push(extensionRootEntry);
415
- }
416
- }
417
- }
418
- extGroups.sort((a, b) => a.label.localeCompare(b.label));
419
- return {
420
- id: 'extensions',
421
- label: ( localize('extensions', "Extensions")),
422
- children: extGroups
423
- };
424
- });
425
- }
426
- function _resolveSettingsTree(tocData, allSettings, logService) {
427
- let children;
428
- if (tocData.children) {
429
- children = ( tocData.children
430
- .map(child => _resolveSettingsTree(child, allSettings, logService)))
431
- .filter(child => child.children?.length || child.settings?.length);
432
- }
433
- let settings;
434
- if (tocData.settings) {
435
- settings = ( tocData.settings.map(pattern => getMatchingSettings(allSettings, pattern, logService))).flat();
436
- }
437
- if (!children && !settings) {
438
- throw new Error(`TOC node has no child groups or settings: ${tocData.id}`);
439
- }
440
- return {
441
- id: tocData.id,
442
- label: tocData.label,
443
- children,
444
- settings
445
- };
446
- }
447
- const knownDynamicSettingGroups = [
448
- /^settingsSync\..*/,
449
- /^sync\..*/,
450
- /^workbench.fontAliasing$/,
451
- ];
452
- function getMatchingSettings(allSettings, pattern, logService) {
453
- const result = [];
454
- allSettings.forEach(s => {
455
- if (settingMatches(s, pattern)) {
456
- result.push(s);
457
- allSettings.delete(s);
458
- }
459
- });
460
- if (!result.length && !( knownDynamicSettingGroups.some(r => r.test(pattern)))) {
461
- logService.warn(`Settings pattern "${pattern}" doesn't match any settings`);
462
- }
463
- return result.sort((a, b) => a.key.localeCompare(b.key));
464
- }
465
- const settingPatternCache = ( new Map());
466
- function createSettingMatchRegExp(pattern) {
467
- pattern = escapeRegExpCharacters(pattern)
468
- .replace(/\\\*/g, '.*');
469
- return ( new RegExp(`^${pattern}$`, 'i'));
470
- }
471
- function settingMatches(s, pattern) {
472
- let regExp = settingPatternCache.get(pattern);
473
- if (!regExp) {
474
- regExp = createSettingMatchRegExp(pattern);
475
- settingPatternCache.set(pattern, regExp);
476
- }
477
- return regExp.test(s.key);
478
- }
479
- function getFlatSettings(settingsGroups) {
480
- const result = ( new Set());
481
- for (const group of settingsGroups) {
482
- for (const section of group.sections) {
483
- for (const s of section.settings) {
484
- if (!s.overrides || !s.overrides.length) {
485
- result.add(s);
486
- }
487
- }
488
- }
489
- }
490
- return result;
491
- }
492
- const SETTINGS_TEXT_TEMPLATE_ID = 'settings.text.template';
493
- const SETTINGS_MULTILINE_TEXT_TEMPLATE_ID = 'settings.multilineText.template';
494
- const SETTINGS_NUMBER_TEMPLATE_ID = 'settings.number.template';
495
- const SETTINGS_ENUM_TEMPLATE_ID = 'settings.enum.template';
496
- const SETTINGS_BOOL_TEMPLATE_ID = 'settings.bool.template';
497
- const SETTINGS_ARRAY_TEMPLATE_ID = 'settings.array.template';
498
- const SETTINGS_EXCLUDE_TEMPLATE_ID = 'settings.exclude.template';
499
- const SETTINGS_INCLUDE_TEMPLATE_ID = 'settings.include.template';
500
- const SETTINGS_OBJECT_TEMPLATE_ID = 'settings.object.template';
501
- const SETTINGS_BOOL_OBJECT_TEMPLATE_ID = 'settings.boolObject.template';
502
- const SETTINGS_COMPLEX_TEMPLATE_ID = 'settings.complex.template';
503
- const SETTINGS_NEW_EXTENSIONS_TEMPLATE_ID = 'settings.newExtensions.template';
504
- const SETTINGS_ELEMENT_TEMPLATE_ID = 'settings.group.template';
505
- const SETTINGS_EXTENSION_TOGGLE_TEMPLATE_ID = 'settings.extensionToggle.template';
506
- function removeChildrenFromTabOrder(node) {
507
- const focusableElements = node.querySelectorAll(`
508
- [tabindex="0"],
509
- input:not([tabindex="-1"]),
510
- select:not([tabindex="-1"]),
511
- textarea:not([tabindex="-1"]),
512
- a:not([tabindex="-1"]),
513
- button:not([tabindex="-1"]),
514
- area:not([tabindex="-1"])
515
- `);
516
- focusableElements.forEach(element => {
517
- element.setAttribute(AbstractSettingRenderer.ELEMENT_FOCUSABLE_ATTR, 'true');
518
- element.setAttribute('tabindex', '-1');
519
- });
520
- }
521
- function addChildrenToTabOrder(node) {
522
- const focusableElements = node.querySelectorAll(`[${AbstractSettingRenderer.ELEMENT_FOCUSABLE_ATTR}="true"]`);
523
- focusableElements.forEach(element => {
524
- element.removeAttribute(AbstractSettingRenderer.ELEMENT_FOCUSABLE_ATTR);
525
- element.setAttribute('tabindex', '0');
526
- });
527
- }
528
- let AbstractSettingRenderer = class AbstractSettingRenderer extends Disposable {
529
- static { AbstractSettingRenderer_1 = this; }
530
- static { this.CONTROL_CLASS = 'setting-control-focus-target'; }
531
- static { this.CONTROL_SELECTOR = '.' + AbstractSettingRenderer_1.CONTROL_CLASS; }
532
- static { this.CONTENTS_CLASS = 'setting-item-contents'; }
533
- static { this.CONTENTS_SELECTOR = '.' + AbstractSettingRenderer_1.CONTENTS_CLASS; }
534
- static { this.ALL_ROWS_SELECTOR = '.monaco-list-row'; }
535
- static { this.SETTING_KEY_ATTR = 'data-key'; }
536
- static { this.SETTING_ID_ATTR = 'data-id'; }
537
- static { this.ELEMENT_FOCUSABLE_ATTR = 'data-focusable'; }
538
- constructor(settingActions, disposableActionFactory, _themeService, _contextViewService, _openerService, _instantiationService, _commandService, _contextMenuService, _keybindingService, _configService, _extensionsService, _extensionsWorkbenchService, _productService, _telemetryService) {
539
- super();
540
- this.settingActions = settingActions;
541
- this.disposableActionFactory = disposableActionFactory;
542
- this._themeService = _themeService;
543
- this._contextViewService = _contextViewService;
544
- this._openerService = _openerService;
545
- this._instantiationService = _instantiationService;
546
- this._commandService = _commandService;
547
- this._contextMenuService = _contextMenuService;
548
- this._keybindingService = _keybindingService;
549
- this._configService = _configService;
550
- this._extensionsService = _extensionsService;
551
- this._extensionsWorkbenchService = _extensionsWorkbenchService;
552
- this._productService = _productService;
553
- this._telemetryService = _telemetryService;
554
- this._onDidClickOverrideElement = this._register(( new Emitter()));
555
- this.onDidClickOverrideElement = this._onDidClickOverrideElement.event;
556
- this._onDidChangeSetting = this._register(( new Emitter()));
557
- this.onDidChangeSetting = this._onDidChangeSetting.event;
558
- this._onDidOpenSettings = this._register(( new Emitter()));
559
- this.onDidOpenSettings = this._onDidOpenSettings.event;
560
- this._onDidClickSettingLink = this._register(( new Emitter()));
561
- this.onDidClickSettingLink = this._onDidClickSettingLink.event;
562
- this._onDidFocusSetting = this._register(( new Emitter()));
563
- this.onDidFocusSetting = this._onDidFocusSetting.event;
564
- this._onDidChangeIgnoredSettings = this._register(( new Emitter()));
565
- this.onDidChangeIgnoredSettings = this._onDidChangeIgnoredSettings.event;
566
- this._onDidChangeSettingHeight = this._register(( new Emitter()));
567
- this.onDidChangeSettingHeight = this._onDidChangeSettingHeight.event;
568
- this._onApplyFilter = this._register(( new Emitter()));
569
- this.onApplyFilter = this._onApplyFilter.event;
570
- this.markdownRenderer = this._register(_instantiationService.createInstance(MarkdownRenderer, {}));
571
- this.ignoredSettings = getIgnoredSettings(getDefaultIgnoredSettings(), this._configService);
572
- this._register(this._configService.onDidChangeConfiguration(e => {
573
- this.ignoredSettings = getIgnoredSettings(getDefaultIgnoredSettings(), this._configService);
574
- this._onDidChangeIgnoredSettings.fire();
575
- }));
576
- }
577
- renderCommonTemplate(tree, _container, typeClass) {
578
- _container.classList.add('setting-item');
579
- _container.classList.add('setting-item-' + typeClass);
580
- const toDispose = ( new DisposableStore());
581
- const container = dom.append(_container, $(AbstractSettingRenderer_1.CONTENTS_SELECTOR));
582
- container.classList.add('settings-row-inner-container');
583
- const titleElement = dom.append(container, $('.setting-item-title'));
584
- const labelCategoryContainer = dom.append(titleElement, $('.setting-item-cat-label-container'));
585
- const categoryElement = dom.append(labelCategoryContainer, $('span.setting-item-category'));
586
- const labelElementContainer = dom.append(labelCategoryContainer, $('span.setting-item-label'));
587
- const labelElement = ( new SimpleIconLabel(labelElementContainer));
588
- const indicatorsLabel = this._instantiationService.createInstance(SettingsTreeIndicatorsLabel, titleElement);
589
- toDispose.add(indicatorsLabel);
590
- const descriptionElement = dom.append(container, $('.setting-item-description'));
591
- const modifiedIndicatorElement = dom.append(container, $('.setting-item-modified-indicator'));
592
- modifiedIndicatorElement.title = ( localize('modified', "The setting has been configured in the current scope."));
593
- const valueElement = dom.append(container, $('.setting-item-value'));
594
- const controlElement = dom.append(valueElement, $('div.setting-item-control'));
595
- const deprecationWarningElement = dom.append(container, $('.setting-item-deprecation-message'));
596
- const toolbarContainer = dom.append(container, $('.setting-toolbar-container'));
597
- const toolbar = this.renderSettingToolbar(toolbarContainer);
598
- const template = {
599
- toDispose,
600
- elementDisposables: toDispose.add(( new DisposableStore())),
601
- containerElement: container,
602
- categoryElement,
603
- labelElement,
604
- descriptionElement,
605
- controlElement,
606
- deprecationWarningElement,
607
- indicatorsLabel,
608
- toolbar
609
- };
610
- toDispose.add(dom.addDisposableListener(controlElement, dom.EventType.MOUSE_DOWN, e => e.stopPropagation()));
611
- toDispose.add(dom.addDisposableListener(titleElement, dom.EventType.MOUSE_ENTER, e => container.classList.add('mouseover')));
612
- toDispose.add(dom.addDisposableListener(titleElement, dom.EventType.MOUSE_LEAVE, e => container.classList.remove('mouseover')));
613
- return template;
614
- }
615
- addSettingElementFocusHandler(template) {
616
- const focusTracker = dom.trackFocus(template.containerElement);
617
- template.toDispose.add(focusTracker);
618
- focusTracker.onDidBlur(() => {
619
- if (template.containerElement.classList.contains('focused')) {
620
- template.containerElement.classList.remove('focused');
621
- }
622
- });
623
- focusTracker.onDidFocus(() => {
624
- template.containerElement.classList.add('focused');
625
- if (template.context) {
626
- this._onDidFocusSetting.fire(template.context);
627
- }
628
- });
629
- }
630
- renderSettingToolbar(container) {
631
- const toggleMenuKeybinding = this._keybindingService.lookupKeybinding(SETTINGS_EDITOR_COMMAND_SHOW_CONTEXT_MENU);
632
- let toggleMenuTitle = ( localize('settingsContextMenuTitle', "More Actions... "));
633
- if (toggleMenuKeybinding) {
634
- toggleMenuTitle += ` (${toggleMenuKeybinding && toggleMenuKeybinding.getLabel()})`;
635
- }
636
- const toolbar = ( new ToolBar(container, this._contextMenuService, {
637
- toggleMenuTitle,
638
- renderDropdownAsChildElement: !isIOS,
639
- moreIcon: settingsMoreActionIcon
640
- }));
641
- return toolbar;
642
- }
643
- renderSettingElement(node, index, template) {
644
- const element = node.element;
645
- element.inspectSelf();
646
- template.context = element;
647
- template.toolbar.context = element;
648
- const actions = this.disposableActionFactory(element.setting, element.settingsTarget);
649
- actions.forEach(a => isDisposable(a) && template.elementDisposables.add(a));
650
- template.toolbar.setActions([], [...this.settingActions, ...actions]);
651
- const setting = element.setting;
652
- template.containerElement.classList.toggle('is-configured', element.isConfigured);
653
- template.containerElement.setAttribute(AbstractSettingRenderer_1.SETTING_KEY_ATTR, element.setting.key);
654
- template.containerElement.setAttribute(AbstractSettingRenderer_1.SETTING_ID_ATTR, element.id);
655
- const titleTooltip = setting.key + (element.isConfigured ? ' - Modified' : '');
656
- template.categoryElement.textContent = element.displayCategory ? (element.displayCategory + ': ') : '';
657
- template.categoryElement.title = titleTooltip;
658
- template.labelElement.text = element.displayLabel;
659
- template.labelElement.title = titleTooltip;
660
- template.descriptionElement.innerText = '';
661
- if (element.setting.descriptionIsMarkdown) {
662
- const renderedDescription = this.renderSettingMarkdown(element, template.containerElement, element.description, template.elementDisposables);
663
- template.descriptionElement.appendChild(renderedDescription);
664
- }
665
- else {
666
- template.descriptionElement.innerText = element.description;
667
- }
668
- template.indicatorsLabel.updateScopeOverrides(element, this._onDidClickOverrideElement, this._onApplyFilter);
669
- template.elementDisposables.add(this._configService.onDidChangeConfiguration(e => {
670
- if (e.affectsConfiguration(APPLY_ALL_PROFILES_SETTING)) {
671
- template.indicatorsLabel.updateScopeOverrides(element, this._onDidClickOverrideElement, this._onApplyFilter);
672
- }
673
- }));
674
- const onChange = (value) => this._onDidChangeSetting.fire({
675
- key: element.setting.key,
676
- value,
677
- type: template.context.valueType,
678
- manualReset: false,
679
- scope: element.setting.scope
680
- });
681
- const deprecationText = element.setting.deprecationMessage || '';
682
- if (deprecationText && element.setting.deprecationMessageIsMarkdown) {
683
- template.deprecationWarningElement.innerText = '';
684
- template.deprecationWarningElement.appendChild(this.renderSettingMarkdown(element, template.containerElement, element.setting.deprecationMessage, template.elementDisposables));
685
- }
686
- else {
687
- template.deprecationWarningElement.innerText = deprecationText;
688
- }
689
- template.deprecationWarningElement.prepend($('.codicon.codicon-error'));
690
- template.containerElement.classList.toggle('is-deprecated', !!deprecationText);
691
- this.renderValue(element, template, onChange);
692
- template.indicatorsLabel.updateWorkspaceTrust(element);
693
- template.indicatorsLabel.updateSyncIgnored(element, this.ignoredSettings);
694
- template.indicatorsLabel.updateDefaultOverrideIndicator(element);
695
- template.elementDisposables.add(this.onDidChangeIgnoredSettings(() => {
696
- template.indicatorsLabel.updateSyncIgnored(element, this.ignoredSettings);
697
- }));
698
- this.updateSettingTabbable(element, template);
699
- template.elementDisposables.add(element.onDidChangeTabbable(() => {
700
- this.updateSettingTabbable(element, template);
701
- }));
702
- }
703
- updateSettingTabbable(element, template) {
704
- if (element.tabbable) {
705
- addChildrenToTabOrder(template.containerElement);
706
- }
707
- else {
708
- removeChildrenFromTabOrder(template.containerElement);
709
- }
710
- }
711
- renderSettingMarkdown(element, container, text, disposables) {
712
- text = fixSettingLinks(text);
713
- const renderedMarkdown = this.markdownRenderer.render({ value: text, isTrusted: true }, {
714
- actionHandler: {
715
- callback: (content) => {
716
- if (content.startsWith('#')) {
717
- const e = {
718
- source: element,
719
- targetKey: content.substring(1)
720
- };
721
- this._onDidClickSettingLink.fire(e);
722
- }
723
- else {
724
- this._openerService.open(content, { allowCommands: true }).catch(onUnexpectedError);
725
- }
726
- },
727
- disposables
728
- },
729
- asyncRenderCallback: () => {
730
- const height = container.clientHeight;
731
- if (height) {
732
- this._onDidChangeSettingHeight.fire({ element, height });
733
- }
734
- },
735
- });
736
- disposables.add(renderedMarkdown);
737
- renderedMarkdown.element.classList.add('setting-item-markdown');
738
- cleanRenderedMarkdown(renderedMarkdown.element);
739
- return renderedMarkdown.element;
740
- }
741
- disposeTemplate(template) {
742
- template.toDispose.dispose();
743
- }
744
- disposeElement(_element, _index, template, _height) {
745
- template.elementDisposables?.clear();
746
- }
747
- };
748
- AbstractSettingRenderer = AbstractSettingRenderer_1 = ( __decorate([
749
- ( __param(2, IThemeService)),
750
- ( __param(3, IContextViewService)),
751
- ( __param(4, IOpenerService)),
752
- ( __param(5, IInstantiationService)),
753
- ( __param(6, ICommandService)),
754
- ( __param(7, IContextMenuService)),
755
- ( __param(8, IKeybindingService)),
756
- ( __param(9, IConfigurationService)),
757
- ( __param(10, IExtensionService)),
758
- ( __param(11, IExtensionsWorkbenchService)),
759
- ( __param(12, IProductService)),
760
- ( __param(13, ITelemetryService))
761
- ], AbstractSettingRenderer));
762
- class SettingGroupRenderer {
763
- constructor() {
764
- this.templateId = SETTINGS_ELEMENT_TEMPLATE_ID;
765
- }
766
- renderTemplate(container) {
767
- container.classList.add('group-title');
768
- const template = {
769
- parent: container,
770
- toDispose: ( new DisposableStore())
771
- };
772
- return template;
773
- }
774
- renderElement(element, index, templateData) {
775
- templateData.parent.innerText = '';
776
- const labelElement = dom.append(templateData.parent, $('div.settings-group-title-label.settings-row-inner-container'));
777
- labelElement.classList.add(`settings-group-level-${element.element.level}`);
778
- labelElement.textContent = element.element.label;
779
- if (element.element.isFirstGroup) {
780
- labelElement.classList.add('settings-group-first');
781
- }
782
- }
783
- disposeTemplate(templateData) {
784
- }
785
- }
786
- let SettingNewExtensionsRenderer = class SettingNewExtensionsRenderer {
787
- constructor(_commandService) {
788
- this._commandService = _commandService;
789
- this.templateId = SETTINGS_NEW_EXTENSIONS_TEMPLATE_ID;
790
- }
791
- renderTemplate(container) {
792
- const toDispose = ( new DisposableStore());
793
- container.classList.add('setting-item-new-extensions');
794
- const button = ( new Button(container, { title: true, ...defaultButtonStyles }));
795
- toDispose.add(button);
796
- toDispose.add(button.onDidClick(() => {
797
- if (template.context) {
798
- this._commandService.executeCommand('workbench.extensions.action.showExtensionsWithIds', template.context.extensionIds);
799
- }
800
- }));
801
- button.label = ( localize('newExtensionsButtonLabel', "Show matching extensions"));
802
- button.element.classList.add('settings-new-extensions-button');
803
- const template = {
804
- button,
805
- toDispose
806
- };
807
- return template;
808
- }
809
- renderElement(element, index, templateData) {
810
- templateData.context = element.element;
811
- }
812
- disposeTemplate(template) {
813
- dispose(template.toDispose);
814
- }
815
- };
816
- SettingNewExtensionsRenderer = ( __decorate([
817
- ( __param(0, ICommandService))
818
- ], SettingNewExtensionsRenderer));
819
- class SettingComplexRenderer extends AbstractSettingRenderer {
820
- constructor() {
821
- super(...arguments);
822
- this.templateId = SETTINGS_COMPLEX_TEMPLATE_ID;
823
- }
824
- static { this.EDIT_IN_JSON_LABEL = ( localize('editInSettingsJson', "Edit in settings.json")); }
825
- renderTemplate(container) {
826
- const common = this.renderCommonTemplate(null, container, 'complex');
827
- const openSettingsButton = dom.append(common.controlElement, $('a.edit-in-settings-button'));
828
- openSettingsButton.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
829
- openSettingsButton.role = 'button';
830
- const validationErrorMessageElement = $('.setting-item-validation-message');
831
- common.containerElement.appendChild(validationErrorMessageElement);
832
- const template = {
833
- ...common,
834
- button: openSettingsButton,
835
- validationErrorMessageElement
836
- };
837
- this.addSettingElementFocusHandler(template);
838
- return template;
839
- }
840
- renderElement(element, index, templateData) {
841
- super.renderSettingElement(element, index, templateData);
842
- }
843
- renderValue(dataElement, template, onChange) {
844
- const plainKey = getLanguageTagSettingPlainKey(dataElement.setting.key);
845
- const editLanguageSettingLabel = ( localize('editLanguageSettingLabel', "Edit settings for {0}", plainKey));
846
- const isLanguageTagSetting = dataElement.setting.isLanguageTagSetting;
847
- template.button.textContent = isLanguageTagSetting
848
- ? editLanguageSettingLabel
849
- : SettingComplexRenderer.EDIT_IN_JSON_LABEL;
850
- const onClickOrKeydown = (e) => {
851
- if (isLanguageTagSetting) {
852
- this._onApplyFilter.fire(`@${LANGUAGE_SETTING_TAG}${plainKey}`);
853
- }
854
- else {
855
- this._onDidOpenSettings.fire(dataElement.setting.key);
856
- }
857
- e.preventDefault();
858
- e.stopPropagation();
859
- };
860
- template.elementDisposables.add(dom.addDisposableListener(template.button, dom.EventType.CLICK, (e) => {
861
- onClickOrKeydown(e);
862
- }));
863
- template.elementDisposables.add(dom.addDisposableListener(template.button, dom.EventType.KEY_DOWN, (e) => {
864
- const ev = ( new StandardKeyboardEvent(e));
865
- if (ev.equals(10 ) || ev.equals(3 )) {
866
- onClickOrKeydown(e);
867
- }
868
- }));
869
- this.renderValidations(dataElement, template);
870
- if (isLanguageTagSetting) {
871
- template.button.setAttribute('aria-label', editLanguageSettingLabel);
872
- }
873
- else {
874
- template.button.setAttribute('aria-label', `${SettingComplexRenderer.EDIT_IN_JSON_LABEL}: ${dataElement.setting.key}`);
875
- }
876
- }
877
- renderValidations(dataElement, template) {
878
- const errMsg = dataElement.isConfigured && getInvalidTypeError(dataElement.value, dataElement.setting.type);
879
- if (errMsg) {
880
- template.containerElement.classList.add('invalid-input');
881
- template.validationErrorMessageElement.innerText = errMsg;
882
- return;
883
- }
884
- template.containerElement.classList.remove('invalid-input');
885
- }
886
- }
887
- class SettingArrayRenderer extends AbstractSettingRenderer {
888
- constructor() {
889
- super(...arguments);
890
- this.templateId = SETTINGS_ARRAY_TEMPLATE_ID;
891
- }
892
- renderTemplate(container) {
893
- const common = this.renderCommonTemplate(null, container, 'list');
894
- const descriptionElement = common.containerElement.querySelector('.setting-item-description');
895
- const validationErrorMessageElement = $('.setting-item-validation-message');
896
- descriptionElement.after(validationErrorMessageElement);
897
- const listWidget = this._instantiationService.createInstance(ListSettingWidget, common.controlElement);
898
- listWidget.domNode.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
899
- common.toDispose.add(listWidget);
900
- const template = {
901
- ...common,
902
- listWidget,
903
- validationErrorMessageElement
904
- };
905
- this.addSettingElementFocusHandler(template);
906
- common.toDispose.add(listWidget.onDidChangeList(e => {
907
- const newList = this.computeNewList(template, e);
908
- template.onChange?.(newList);
909
- }));
910
- return template;
911
- }
912
- computeNewList(template, e) {
913
- if (template.context) {
914
- let newValue = [];
915
- if (Array.isArray(template.context.scopeValue)) {
916
- newValue = [...template.context.scopeValue];
917
- }
918
- else if (Array.isArray(template.context.value)) {
919
- newValue = [...template.context.value];
920
- }
921
- if (e.sourceIndex !== undefined) {
922
- const sourceIndex = e.sourceIndex;
923
- const targetIndex = e.targetIndex;
924
- const splicedElem = newValue.splice(sourceIndex, 1)[0];
925
- newValue.splice(targetIndex, 0, splicedElem);
926
- }
927
- else if (e.targetIndex !== undefined) {
928
- const itemValueData = e.item?.value.data.toString() ?? '';
929
- if (!e.item?.value.data && e.originalItem.value.data && e.targetIndex > -1) {
930
- newValue.splice(e.targetIndex, 1);
931
- }
932
- else if (e.item?.value.data && e.originalItem.value.data) {
933
- if (e.targetIndex > -1) {
934
- newValue[e.targetIndex] = itemValueData;
935
- }
936
- else {
937
- newValue.push(itemValueData);
938
- }
939
- }
940
- else if (e.item?.value.data && !e.originalItem.value.data && e.targetIndex >= newValue.length) {
941
- newValue.push(itemValueData);
942
- }
943
- }
944
- if (template.context.defaultValue &&
945
- Array.isArray(template.context.defaultValue) &&
946
- template.context.defaultValue.length === newValue.length &&
947
- template.context.defaultValue.join() === newValue.join()) {
948
- return undefined;
949
- }
950
- return newValue;
951
- }
952
- return undefined;
953
- }
954
- renderElement(element, index, templateData) {
955
- super.renderSettingElement(element, index, templateData);
956
- }
957
- renderValue(dataElement, template, onChange) {
958
- const value = getListDisplayValue(dataElement);
959
- const keySuggester = dataElement.setting.enum ? createArraySuggester(dataElement) : undefined;
960
- template.listWidget.setValue(value, {
961
- showAddButton: getShowAddButtonList(dataElement, value),
962
- keySuggester
963
- });
964
- template.context = dataElement;
965
- template.elementDisposables.add(toDisposable(() => {
966
- template.listWidget.cancelEdit();
967
- }));
968
- template.onChange = (v) => {
969
- if (v && !renderArrayValidations(dataElement, template, v, false)) {
970
- const itemType = dataElement.setting.arrayItemType;
971
- const arrToSave = isNonNullableNumericType(itemType) ? ( v.map(a => +a)) : v;
972
- onChange(arrToSave);
973
- }
974
- else {
975
- onChange(v);
976
- }
977
- };
978
- renderArrayValidations(dataElement, template, ( value.map(v => ( v.value.data.toString()))), true);
979
- }
980
- }
981
- class AbstractSettingObjectRenderer extends AbstractSettingRenderer {
982
- renderTemplateWithWidget(common, widget) {
983
- widget.domNode.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
984
- common.toDispose.add(widget);
985
- const descriptionElement = common.containerElement.querySelector('.setting-item-description');
986
- const validationErrorMessageElement = $('.setting-item-validation-message');
987
- descriptionElement.after(validationErrorMessageElement);
988
- const template = {
989
- ...common,
990
- validationErrorMessageElement
991
- };
992
- if (widget instanceof ObjectSettingCheckboxWidget) {
993
- template.objectCheckboxWidget = widget;
994
- }
995
- else {
996
- template.objectDropdownWidget = widget;
997
- }
998
- this.addSettingElementFocusHandler(template);
999
- common.toDispose.add(widget.onDidChangeList(e => {
1000
- this.onDidChangeObject(template, e);
1001
- }));
1002
- return template;
1003
- }
1004
- onDidChangeObject(template, e) {
1005
- const widget = (template.objectCheckboxWidget ?? template.objectDropdownWidget);
1006
- if (template.context) {
1007
- const defaultValue = typeof template.context.defaultValue === 'object'
1008
- ? template.context.defaultValue ?? {}
1009
- : {};
1010
- const scopeValue = typeof template.context.scopeValue === 'object'
1011
- ? template.context.scopeValue ?? {}
1012
- : {};
1013
- const newValue = {};
1014
- const newItems = [];
1015
- widget.items.forEach((item, idx) => {
1016
- if (isDefined(e.item) && e.targetIndex === idx) {
1017
- newValue[e.item.key.data] = e.item.value.data;
1018
- newItems.push(e.item);
1019
- }
1020
- else if (isUndefinedOrNull(e.item) || e.item.key.data !== item.key.data) {
1021
- newValue[item.key.data] = item.value.data;
1022
- newItems.push(item);
1023
- }
1024
- });
1025
- if (isUndefinedOrNull(e.item)) {
1026
- delete newValue[e.originalItem.key.data];
1027
- const itemToDelete = newItems.findIndex(item => item.key.data === e.originalItem.key.data);
1028
- const defaultItemValue = defaultValue[e.originalItem.key.data];
1029
- if (isUndefinedOrNull(defaultValue[e.originalItem.key.data]) && itemToDelete > -1) {
1030
- newItems.splice(itemToDelete, 1);
1031
- }
1032
- else if (itemToDelete > -1) {
1033
- newItems[itemToDelete].value.data = defaultItemValue;
1034
- }
1035
- }
1036
- else if (widget.isItemNew(e.originalItem) && e.item.key.data !== '') {
1037
- newValue[e.item.key.data] = e.item.value.data;
1038
- newItems.push(e.item);
1039
- }
1040
- Object.entries(newValue).forEach(([key, value]) => {
1041
- if (scopeValue[key] !== value && defaultValue[key] === value) {
1042
- delete newValue[key];
1043
- }
1044
- });
1045
- const newObject = ( Object.keys(newValue)).length === 0 ? undefined : newValue;
1046
- if (template.objectCheckboxWidget) {
1047
- template.objectCheckboxWidget.setValue(newItems);
1048
- }
1049
- else {
1050
- template.objectDropdownWidget.setValue(newItems);
1051
- }
1052
- template.onChange?.(newObject);
1053
- }
1054
- }
1055
- renderElement(element, index, templateData) {
1056
- super.renderSettingElement(element, index, templateData);
1057
- }
1058
- }
1059
- class SettingObjectRenderer extends AbstractSettingObjectRenderer {
1060
- constructor() {
1061
- super(...arguments);
1062
- this.templateId = SETTINGS_OBJECT_TEMPLATE_ID;
1063
- }
1064
- renderTemplate(container) {
1065
- const common = this.renderCommonTemplate(null, container, 'list');
1066
- const widget = this._instantiationService.createInstance(ObjectSettingDropdownWidget, common.controlElement);
1067
- return this.renderTemplateWithWidget(common, widget);
1068
- }
1069
- renderValue(dataElement, template, onChange) {
1070
- const items = getObjectDisplayValue(dataElement);
1071
- const { key, objectProperties, objectPatternProperties, objectAdditionalProperties } = dataElement.setting;
1072
- template.objectDropdownWidget.setValue(items, {
1073
- settingKey: key,
1074
- showAddButton: objectAdditionalProperties === false
1075
- ? (!areAllPropertiesDefined(( Object.keys(objectProperties ?? {})), items) ||
1076
- isDefined(objectPatternProperties))
1077
- : true,
1078
- keySuggester: createObjectKeySuggester(dataElement),
1079
- valueSuggester: createObjectValueSuggester(dataElement)
1080
- });
1081
- template.context = dataElement;
1082
- template.elementDisposables.add(toDisposable(() => {
1083
- template.objectDropdownWidget.cancelEdit();
1084
- }));
1085
- template.onChange = (v) => {
1086
- if (v && !renderArrayValidations(dataElement, template, v, false)) {
1087
- const parsedRecord = parseNumericObjectValues(dataElement, v);
1088
- onChange(parsedRecord);
1089
- }
1090
- else {
1091
- onChange(v);
1092
- }
1093
- };
1094
- renderArrayValidations(dataElement, template, dataElement.value, true);
1095
- }
1096
- }
1097
- class SettingBoolObjectRenderer extends AbstractSettingObjectRenderer {
1098
- constructor() {
1099
- super(...arguments);
1100
- this.templateId = SETTINGS_BOOL_OBJECT_TEMPLATE_ID;
1101
- }
1102
- renderTemplate(container) {
1103
- const common = this.renderCommonTemplate(null, container, 'list');
1104
- const widget = this._instantiationService.createInstance(ObjectSettingCheckboxWidget, common.controlElement);
1105
- return this.renderTemplateWithWidget(common, widget);
1106
- }
1107
- onDidChangeObject(template, e) {
1108
- if (template.context) {
1109
- super.onDidChangeObject(template, e);
1110
- this._onDidFocusSetting.fire(template.context);
1111
- }
1112
- }
1113
- renderValue(dataElement, template, onChange) {
1114
- const items = getObjectDisplayValue(dataElement);
1115
- const { key } = dataElement.setting;
1116
- template.objectCheckboxWidget.setValue(items, {
1117
- settingKey: key
1118
- });
1119
- template.context = dataElement;
1120
- template.onChange = (v) => {
1121
- onChange(v);
1122
- };
1123
- }
1124
- }
1125
- class SettingIncludeExcludeRenderer extends AbstractSettingRenderer {
1126
- renderTemplate(container) {
1127
- const common = this.renderCommonTemplate(null, container, 'list');
1128
- const includeExcludeWidget = this._instantiationService.createInstance(this.isExclude() ? ExcludeSettingWidget : IncludeSettingWidget, common.controlElement);
1129
- includeExcludeWidget.domNode.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
1130
- common.toDispose.add(includeExcludeWidget);
1131
- const template = {
1132
- ...common,
1133
- includeExcludeWidget
1134
- };
1135
- this.addSettingElementFocusHandler(template);
1136
- common.toDispose.add(includeExcludeWidget.onDidChangeList(e => this.onDidChangeIncludeExclude(template, e)));
1137
- return template;
1138
- }
1139
- onDidChangeIncludeExclude(template, e) {
1140
- if (template.context) {
1141
- const newValue = { ...template.context.scopeValue };
1142
- if (( e.originalItem.value.data.toString()) in template.context.defaultValue) {
1143
- newValue[( e.originalItem.value.data.toString())] = false;
1144
- }
1145
- else {
1146
- delete newValue[( e.originalItem.value.data.toString())];
1147
- }
1148
- if (e.item?.value) {
1149
- if (( e.item.value.data.toString()) in template.context.defaultValue && !e.item.sibling) {
1150
- delete newValue[( e.item.value.data.toString())];
1151
- }
1152
- else {
1153
- newValue[( e.item.value.data.toString())] = e.item.sibling ? { when: e.item.sibling } : true;
1154
- }
1155
- }
1156
- function sortKeys(obj) {
1157
- const sortedKeys = ( Object.keys(obj))
1158
- .sort((a, b) => a.localeCompare(b));
1159
- const retVal = {};
1160
- for (const key of sortedKeys) {
1161
- retVal[key] = obj[key];
1162
- }
1163
- return retVal;
1164
- }
1165
- this._onDidChangeSetting.fire({
1166
- key: template.context.setting.key,
1167
- value: ( Object.keys(newValue)).length === 0 ? undefined : sortKeys(newValue),
1168
- type: template.context.valueType,
1169
- manualReset: false,
1170
- scope: template.context.setting.scope
1171
- });
1172
- }
1173
- }
1174
- renderElement(element, index, templateData) {
1175
- super.renderSettingElement(element, index, templateData);
1176
- }
1177
- renderValue(dataElement, template, onChange) {
1178
- const value = getIncludeExcludeDisplayValue(dataElement);
1179
- template.includeExcludeWidget.setValue(value);
1180
- template.context = dataElement;
1181
- template.elementDisposables.add(toDisposable(() => {
1182
- template.includeExcludeWidget.cancelEdit();
1183
- }));
1184
- }
1185
- }
1186
- class SettingExcludeRenderer extends SettingIncludeExcludeRenderer {
1187
- constructor() {
1188
- super(...arguments);
1189
- this.templateId = SETTINGS_EXCLUDE_TEMPLATE_ID;
1190
- }
1191
- isExclude() {
1192
- return true;
1193
- }
1194
- }
1195
- class SettingIncludeRenderer extends SettingIncludeExcludeRenderer {
1196
- constructor() {
1197
- super(...arguments);
1198
- this.templateId = SETTINGS_INCLUDE_TEMPLATE_ID;
1199
- }
1200
- isExclude() {
1201
- return false;
1202
- }
1203
- }
1204
- const settingsInputBoxStyles = getInputBoxStyle({
1205
- inputBackground: settingsTextInputBackground,
1206
- inputForeground: settingsTextInputForeground,
1207
- inputBorder: settingsTextInputBorder
1208
- });
1209
- class AbstractSettingTextRenderer extends AbstractSettingRenderer {
1210
- constructor() {
1211
- super(...arguments);
1212
- this.MULTILINE_MAX_HEIGHT = 150;
1213
- }
1214
- renderTemplate(_container, useMultiline) {
1215
- const common = this.renderCommonTemplate(null, _container, 'text');
1216
- const validationErrorMessageElement = dom.append(common.containerElement, $('.setting-item-validation-message'));
1217
- const inputBoxOptions = {
1218
- flexibleHeight: useMultiline,
1219
- flexibleWidth: false,
1220
- flexibleMaxHeight: this.MULTILINE_MAX_HEIGHT,
1221
- inputBoxStyles: settingsInputBoxStyles
1222
- };
1223
- const inputBox = ( new InputBox(common.controlElement, this._contextViewService, inputBoxOptions));
1224
- common.toDispose.add(inputBox);
1225
- common.toDispose.add(inputBox.onDidChange(e => {
1226
- template.onChange?.(e);
1227
- }));
1228
- common.toDispose.add(inputBox);
1229
- inputBox.inputElement.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
1230
- inputBox.inputElement.tabIndex = 0;
1231
- const template = {
1232
- ...common,
1233
- inputBox,
1234
- validationErrorMessageElement
1235
- };
1236
- this.addSettingElementFocusHandler(template);
1237
- return template;
1238
- }
1239
- renderElement(element, index, templateData) {
1240
- super.renderSettingElement(element, index, templateData);
1241
- }
1242
- renderValue(dataElement, template, onChange) {
1243
- template.onChange = undefined;
1244
- template.inputBox.value = dataElement.value;
1245
- template.inputBox.setAriaLabel(dataElement.setting.key);
1246
- template.onChange = value => {
1247
- if (!renderValidations(dataElement, template, false)) {
1248
- onChange(value);
1249
- }
1250
- };
1251
- renderValidations(dataElement, template, true);
1252
- }
1253
- }
1254
- class SettingTextRenderer extends AbstractSettingTextRenderer {
1255
- constructor() {
1256
- super(...arguments);
1257
- this.templateId = SETTINGS_TEXT_TEMPLATE_ID;
1258
- }
1259
- renderTemplate(_container) {
1260
- const template = super.renderTemplate(_container, false);
1261
- template.toDispose.add(dom.addStandardDisposableListener(template.inputBox.inputElement, dom.EventType.KEY_DOWN, e => {
1262
- if (e.equals(16 ) || e.equals(18 )) {
1263
- e.preventDefault();
1264
- }
1265
- }));
1266
- return template;
1267
- }
1268
- }
1269
- class SettingMultilineTextRenderer extends AbstractSettingTextRenderer {
1270
- constructor() {
1271
- super(...arguments);
1272
- this.templateId = SETTINGS_MULTILINE_TEXT_TEMPLATE_ID;
1273
- }
1274
- renderTemplate(_container) {
1275
- return super.renderTemplate(_container, true);
1276
- }
1277
- renderValue(dataElement, template, onChange) {
1278
- const onChangeOverride = (value) => {
1279
- dataElement.value = value;
1280
- onChange(value);
1281
- };
1282
- super.renderValue(dataElement, template, onChangeOverride);
1283
- template.elementDisposables.add(template.inputBox.onDidHeightChange(e => {
1284
- const height = template.containerElement.clientHeight;
1285
- if (height) {
1286
- this._onDidChangeSettingHeight.fire({
1287
- element: dataElement,
1288
- height: template.containerElement.clientHeight
1289
- });
1290
- }
1291
- }));
1292
- template.inputBox.layout();
1293
- }
1294
- }
1295
- class SettingEnumRenderer extends AbstractSettingRenderer {
1296
- constructor() {
1297
- super(...arguments);
1298
- this.templateId = SETTINGS_ENUM_TEMPLATE_ID;
1299
- }
1300
- renderTemplate(container) {
1301
- const common = this.renderCommonTemplate(null, container, 'enum');
1302
- const styles = getSelectBoxStyles({
1303
- selectBackground: settingsSelectBackground,
1304
- selectForeground: settingsSelectForeground,
1305
- selectBorder: settingsSelectBorder,
1306
- selectListBorder: settingsSelectListBorder
1307
- });
1308
- const selectBox = ( new SelectBox([], 0, this._contextViewService, styles, {
1309
- useCustomDrawn: !(isIOS && BrowserFeatures.pointerEvents)
1310
- }));
1311
- common.toDispose.add(selectBox);
1312
- selectBox.render(common.controlElement);
1313
- const selectElement = common.controlElement.querySelector('select');
1314
- if (selectElement) {
1315
- selectElement.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
1316
- selectElement.tabIndex = 0;
1317
- }
1318
- common.toDispose.add(selectBox.onDidSelect(e => {
1319
- template.onChange?.(e.index);
1320
- }));
1321
- const enumDescriptionElement = common.containerElement.insertBefore($('.setting-item-enumDescription'), common.descriptionElement.nextSibling);
1322
- const template = {
1323
- ...common,
1324
- selectBox,
1325
- selectElement,
1326
- enumDescriptionElement
1327
- };
1328
- this.addSettingElementFocusHandler(template);
1329
- return template;
1330
- }
1331
- renderElement(element, index, templateData) {
1332
- super.renderSettingElement(element, index, templateData);
1333
- }
1334
- renderValue(dataElement, template, onChange) {
1335
- const enumItemLabels = dataElement.setting.enumItemLabels ? [...dataElement.setting.enumItemLabels] : [];
1336
- const enumDescriptions = dataElement.setting.enumDescriptions ? [...dataElement.setting.enumDescriptions] : [];
1337
- const settingEnum = [...dataElement.setting.enum];
1338
- const enumDescriptionsAreMarkdown = dataElement.setting.enumDescriptionsAreMarkdown;
1339
- const disposables = ( new DisposableStore());
1340
- template.toDispose.add(disposables);
1341
- let createdDefault = false;
1342
- if (!settingEnum.includes(dataElement.defaultValue)) {
1343
- settingEnum.unshift(dataElement.defaultValue);
1344
- enumDescriptions.unshift('');
1345
- enumItemLabels.unshift('');
1346
- createdDefault = true;
1347
- }
1348
- const stringifiedDefaultValue = escapeInvisibleChars(String(dataElement.defaultValue));
1349
- const displayOptions = ( ( ( settingEnum
1350
- .map(String))
1351
- .map(escapeInvisibleChars))
1352
- .map((data, index) => {
1353
- const description = (enumDescriptions[index] && (enumDescriptionsAreMarkdown ? fixSettingLinks(enumDescriptions[index], false) : enumDescriptions[index]));
1354
- return {
1355
- text: enumItemLabels[index] ? enumItemLabels[index] : data,
1356
- detail: enumItemLabels[index] ? data : '',
1357
- description,
1358
- descriptionIsMarkdown: enumDescriptionsAreMarkdown,
1359
- descriptionMarkdownActionHandler: {
1360
- callback: (content) => {
1361
- this._openerService.open(content).catch(onUnexpectedError);
1362
- },
1363
- disposables: disposables
1364
- },
1365
- decoratorRight: (((data === stringifiedDefaultValue) || (createdDefault && index === 0)) ? ( localize('settings.Default', "default")) : '')
1366
- };
1367
- }));
1368
- template.selectBox.setOptions(displayOptions);
1369
- template.selectBox.setAriaLabel(dataElement.setting.key);
1370
- let idx = settingEnum.indexOf(dataElement.value);
1371
- if (idx === -1) {
1372
- idx = 0;
1373
- }
1374
- template.onChange = undefined;
1375
- template.selectBox.select(idx);
1376
- template.onChange = (idx) => {
1377
- if (createdDefault && idx === 0) {
1378
- onChange(dataElement.defaultValue);
1379
- }
1380
- else {
1381
- onChange(settingEnum[idx]);
1382
- }
1383
- };
1384
- template.enumDescriptionElement.innerText = '';
1385
- }
1386
- }
1387
- const settingsNumberInputBoxStyles = getInputBoxStyle({
1388
- inputBackground: settingsNumberInputBackground,
1389
- inputForeground: settingsNumberInputForeground,
1390
- inputBorder: settingsNumberInputBorder
1391
- });
1392
- class SettingNumberRenderer extends AbstractSettingRenderer {
1393
- constructor() {
1394
- super(...arguments);
1395
- this.templateId = SETTINGS_NUMBER_TEMPLATE_ID;
1396
- }
1397
- renderTemplate(_container) {
1398
- const common = super.renderCommonTemplate(null, _container, 'number');
1399
- const validationErrorMessageElement = dom.append(common.containerElement, $('.setting-item-validation-message'));
1400
- const inputBox = ( new InputBox(
1401
- common.controlElement,
1402
- this._contextViewService,
1403
- { type: 'number', inputBoxStyles: settingsNumberInputBoxStyles }
1404
- ));
1405
- common.toDispose.add(inputBox);
1406
- common.toDispose.add(inputBox.onDidChange(e => {
1407
- template.onChange?.(e);
1408
- }));
1409
- common.toDispose.add(inputBox);
1410
- inputBox.inputElement.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
1411
- inputBox.inputElement.tabIndex = 0;
1412
- const template = {
1413
- ...common,
1414
- inputBox,
1415
- validationErrorMessageElement
1416
- };
1417
- this.addSettingElementFocusHandler(template);
1418
- return template;
1419
- }
1420
- renderElement(element, index, templateData) {
1421
- super.renderSettingElement(element, index, templateData);
1422
- }
1423
- renderValue(dataElement, template, onChange) {
1424
- const numParseFn = (dataElement.valueType === 'integer' || dataElement.valueType === 'nullable-integer')
1425
- ? parseInt : parseFloat;
1426
- const nullNumParseFn = (dataElement.valueType === 'nullable-integer' || dataElement.valueType === 'nullable-number')
1427
- ? ((v) => v === '' ? null : numParseFn(v)) : numParseFn;
1428
- template.onChange = undefined;
1429
- template.inputBox.value = typeof dataElement.value === 'number' ?
1430
- ( dataElement.value.toString()) : '';
1431
- template.inputBox.step = dataElement.valueType.includes('integer') ? '1' : 'any';
1432
- template.inputBox.setAriaLabel(dataElement.setting.key);
1433
- template.onChange = value => {
1434
- if (!renderValidations(dataElement, template, false)) {
1435
- onChange(nullNumParseFn(value));
1436
- }
1437
- };
1438
- renderValidations(dataElement, template, true);
1439
- }
1440
- }
1441
- class SettingBoolRenderer extends AbstractSettingRenderer {
1442
- constructor() {
1443
- super(...arguments);
1444
- this.templateId = SETTINGS_BOOL_TEMPLATE_ID;
1445
- }
1446
- renderTemplate(_container) {
1447
- _container.classList.add('setting-item');
1448
- _container.classList.add('setting-item-bool');
1449
- const container = dom.append(_container, $(AbstractSettingRenderer.CONTENTS_SELECTOR));
1450
- container.classList.add('settings-row-inner-container');
1451
- const titleElement = dom.append(container, $('.setting-item-title'));
1452
- const categoryElement = dom.append(titleElement, $('span.setting-item-category'));
1453
- const labelElementContainer = dom.append(titleElement, $('span.setting-item-label'));
1454
- const labelElement = ( new SimpleIconLabel(labelElementContainer));
1455
- const indicatorsLabel = this._instantiationService.createInstance(SettingsTreeIndicatorsLabel, titleElement);
1456
- const descriptionAndValueElement = dom.append(container, $('.setting-item-value-description'));
1457
- const controlElement = dom.append(descriptionAndValueElement, $('.setting-item-bool-control'));
1458
- const descriptionElement = dom.append(descriptionAndValueElement, $('.setting-item-description'));
1459
- const modifiedIndicatorElement = dom.append(container, $('.setting-item-modified-indicator'));
1460
- modifiedIndicatorElement.title = ( localize('modified', "The setting has been configured in the current scope."));
1461
- const deprecationWarningElement = dom.append(container, $('.setting-item-deprecation-message'));
1462
- const toDispose = ( new DisposableStore());
1463
- const checkbox = ( new Toggle(
1464
- { icon: Codicon.check, actionClassName: 'setting-value-checkbox', isChecked: true, title: '', ...unthemedToggleStyles }
1465
- ));
1466
- controlElement.appendChild(checkbox.domNode);
1467
- toDispose.add(checkbox);
1468
- toDispose.add(checkbox.onChange(() => {
1469
- template.onChange(checkbox.checked);
1470
- }));
1471
- toDispose.add(dom.addDisposableListener(descriptionElement, dom.EventType.MOUSE_DOWN, (e) => {
1472
- const targetElement = e.target;
1473
- if (targetElement.tagName.toLowerCase() !== 'a') {
1474
- template.checkbox.checked = !template.checkbox.checked;
1475
- template.onChange(checkbox.checked);
1476
- }
1477
- dom.EventHelper.stop(e);
1478
- }));
1479
- checkbox.domNode.classList.add(AbstractSettingRenderer.CONTROL_CLASS);
1480
- const toolbarContainer = dom.append(container, $('.setting-toolbar-container'));
1481
- const toolbar = this.renderSettingToolbar(toolbarContainer);
1482
- toDispose.add(toolbar);
1483
- const template = {
1484
- toDispose,
1485
- elementDisposables: toDispose.add(( new DisposableStore())),
1486
- containerElement: container,
1487
- categoryElement,
1488
- labelElement,
1489
- controlElement,
1490
- checkbox,
1491
- descriptionElement,
1492
- deprecationWarningElement,
1493
- indicatorsLabel,
1494
- toolbar
1495
- };
1496
- this.addSettingElementFocusHandler(template);
1497
- toDispose.add(dom.addDisposableListener(controlElement, 'mousedown', (e) => e.stopPropagation()));
1498
- toDispose.add(dom.addDisposableListener(titleElement, dom.EventType.MOUSE_ENTER, e => container.classList.add('mouseover')));
1499
- toDispose.add(dom.addDisposableListener(titleElement, dom.EventType.MOUSE_LEAVE, e => container.classList.remove('mouseover')));
1500
- return template;
1501
- }
1502
- renderElement(element, index, templateData) {
1503
- super.renderSettingElement(element, index, templateData);
1504
- }
1505
- renderValue(dataElement, template, onChange) {
1506
- template.onChange = undefined;
1507
- template.checkbox.checked = dataElement.value;
1508
- template.checkbox.setTitle(dataElement.setting.key);
1509
- template.onChange = onChange;
1510
- }
1511
- }
1512
- class SettingsExtensionToggleRenderer extends AbstractSettingRenderer {
1513
- constructor() {
1514
- super(...arguments);
1515
- this.templateId = SETTINGS_EXTENSION_TOGGLE_TEMPLATE_ID;
1516
- }
1517
- renderTemplate(_container) {
1518
- const common = super.renderCommonTemplate(null, _container, 'extension-toggle');
1519
- const actionButton = ( new Button(common.containerElement, {
1520
- title: false,
1521
- ...defaultButtonStyles
1522
- }));
1523
- actionButton.element.classList.add('setting-item-extension-toggle-button');
1524
- actionButton.label = ( localize('showExtension', "Show Extension"));
1525
- const template = {
1526
- ...common,
1527
- actionButton
1528
- };
1529
- this.addSettingElementFocusHandler(template);
1530
- return template;
1531
- }
1532
- renderElement(element, index, templateData) {
1533
- super.renderSettingElement(element, index, templateData);
1534
- }
1535
- renderValue(dataElement, template, onChange) {
1536
- template.elementDisposables.clear();
1537
- const extensionId = dataElement.setting.displayExtensionId;
1538
- template.elementDisposables.add(template.actionButton.onDidClick(async () => {
1539
- this._telemetryService.publicLog2('ManageExtensionClick', { extensionId });
1540
- this._commandService.executeCommand('extension.open', extensionId);
1541
- }));
1542
- }
1543
- }
1544
- let SettingTreeRenderers = class SettingTreeRenderers {
1545
- constructor(_instantiationService, _contextMenuService, _contextViewService, _userDataProfilesService, _userDataSyncEnablementService) {
1546
- this._instantiationService = _instantiationService;
1547
- this._contextMenuService = _contextMenuService;
1548
- this._contextViewService = _contextViewService;
1549
- this._userDataProfilesService = _userDataProfilesService;
1550
- this._userDataSyncEnablementService = _userDataSyncEnablementService;
1551
- this._onDidChangeSetting = ( new Emitter());
1552
- this.settingActions = [
1553
- ( new Action('settings.resetSetting', ( localize('resetSettingLabel', "Reset Setting")), undefined, undefined, async (context) => {
1554
- if (context instanceof SettingsTreeSettingElement) {
1555
- if (!context.isUntrusted) {
1556
- this._onDidChangeSetting.fire({
1557
- key: context.setting.key,
1558
- value: undefined,
1559
- type: context.setting.type,
1560
- manualReset: true,
1561
- scope: context.setting.scope
1562
- });
1563
- }
1564
- }
1565
- })),
1566
- ( new Separator()),
1567
- this._instantiationService.createInstance(CopySettingIdAction),
1568
- this._instantiationService.createInstance(CopySettingAsJSONAction),
1569
- ];
1570
- const actionFactory = (setting, settingTarget) => this.getActionsForSetting(setting, settingTarget);
1571
- const emptyActionFactory = (_) => [];
1572
- const settingRenderers = [
1573
- this._instantiationService.createInstance(SettingBoolRenderer, this.settingActions, actionFactory),
1574
- this._instantiationService.createInstance(SettingNumberRenderer, this.settingActions, actionFactory),
1575
- this._instantiationService.createInstance(SettingArrayRenderer, this.settingActions, actionFactory),
1576
- this._instantiationService.createInstance(SettingComplexRenderer, this.settingActions, actionFactory),
1577
- this._instantiationService.createInstance(SettingTextRenderer, this.settingActions, actionFactory),
1578
- this._instantiationService.createInstance(SettingMultilineTextRenderer, this.settingActions, actionFactory),
1579
- this._instantiationService.createInstance(SettingExcludeRenderer, this.settingActions, actionFactory),
1580
- this._instantiationService.createInstance(SettingIncludeRenderer, this.settingActions, actionFactory),
1581
- this._instantiationService.createInstance(SettingEnumRenderer, this.settingActions, actionFactory),
1582
- this._instantiationService.createInstance(SettingObjectRenderer, this.settingActions, actionFactory),
1583
- this._instantiationService.createInstance(SettingBoolObjectRenderer, this.settingActions, actionFactory),
1584
- this._instantiationService.createInstance(SettingsExtensionToggleRenderer, [], emptyActionFactory)
1585
- ];
1586
- this.onDidClickOverrideElement = Event.any(...( settingRenderers.map(r => r.onDidClickOverrideElement)));
1587
- this.onDidChangeSetting = Event.any(...( settingRenderers.map(r => r.onDidChangeSetting)), this._onDidChangeSetting.event);
1588
- this.onDidOpenSettings = Event.any(...( settingRenderers.map(r => r.onDidOpenSettings)));
1589
- this.onDidClickSettingLink = Event.any(...( settingRenderers.map(r => r.onDidClickSettingLink)));
1590
- this.onDidFocusSetting = Event.any(...( settingRenderers.map(r => r.onDidFocusSetting)));
1591
- this.onDidChangeSettingHeight = Event.any(...( settingRenderers.map(r => r.onDidChangeSettingHeight)));
1592
- this.onApplyFilter = Event.any(...( settingRenderers.map(r => r.onApplyFilter)));
1593
- this.allRenderers = [
1594
- ...settingRenderers,
1595
- this._instantiationService.createInstance(SettingGroupRenderer),
1596
- this._instantiationService.createInstance(SettingNewExtensionsRenderer),
1597
- ];
1598
- }
1599
- getActionsForSetting(setting, settingTarget) {
1600
- const actions = [];
1601
- if (this._userDataProfilesService.isEnabled() && setting.scope !== 1 && settingTarget === 3 ) {
1602
- actions.push(this._instantiationService.createInstance(ApplySettingToAllProfilesAction, setting));
1603
- }
1604
- if (this._userDataSyncEnablementService.isEnabled() && !setting.disallowSyncIgnore) {
1605
- actions.push(this._instantiationService.createInstance(SyncSettingAction, setting));
1606
- }
1607
- if (actions.length) {
1608
- actions.splice(0, 0, ( new Separator()));
1609
- }
1610
- return actions;
1611
- }
1612
- cancelSuggesters() {
1613
- this._contextViewService.hideContextView();
1614
- }
1615
- showContextMenu(element, settingDOMElement) {
1616
- const toolbarElement = settingDOMElement.querySelector('.monaco-toolbar');
1617
- if (toolbarElement) {
1618
- this._contextMenuService.showContextMenu({
1619
- getActions: () => this.settingActions,
1620
- getAnchor: () => toolbarElement,
1621
- getActionsContext: () => element
1622
- });
1623
- }
1624
- }
1625
- getSettingDOMElementForDOMElement(domElement) {
1626
- const parent = dom.findParentWithClass(domElement, AbstractSettingRenderer.CONTENTS_CLASS);
1627
- if (parent) {
1628
- return parent;
1629
- }
1630
- return null;
1631
- }
1632
- getDOMElementsForSettingKey(treeContainer, key) {
1633
- return treeContainer.querySelectorAll(`[${AbstractSettingRenderer.SETTING_KEY_ATTR}="${key}"]`);
1634
- }
1635
- getKeyForDOMElementInSetting(element) {
1636
- const settingElement = this.getSettingDOMElementForDOMElement(element);
1637
- return settingElement && settingElement.getAttribute(AbstractSettingRenderer.SETTING_KEY_ATTR);
1638
- }
1639
- getIdForDOMElementInSetting(element) {
1640
- const settingElement = this.getSettingDOMElementForDOMElement(element);
1641
- return settingElement && settingElement.getAttribute(AbstractSettingRenderer.SETTING_ID_ATTR);
1642
- }
1643
- };
1644
- SettingTreeRenderers = ( __decorate([
1645
- ( __param(0, IInstantiationService)),
1646
- ( __param(1, IContextMenuService)),
1647
- ( __param(2, IContextViewService)),
1648
- ( __param(3, IUserDataProfilesService)),
1649
- ( __param(4, IUserDataSyncEnablementService))
1650
- ], SettingTreeRenderers));
1651
- function renderValidations(dataElement, template, calledOnStartup) {
1652
- if (dataElement.setting.validator) {
1653
- const errMsg = dataElement.setting.validator(template.inputBox.value);
1654
- if (errMsg) {
1655
- template.containerElement.classList.add('invalid-input');
1656
- template.validationErrorMessageElement.innerText = errMsg;
1657
- const validationError = ( localize('validationError', "Validation Error."));
1658
- template.inputBox.inputElement.parentElement.setAttribute('aria-label', [validationError, errMsg].join(' '));
1659
- if (!calledOnStartup) {
1660
- aria.status(validationError + ' ' + errMsg);
1661
- }
1662
- return true;
1663
- }
1664
- else {
1665
- template.inputBox.inputElement.parentElement.removeAttribute('aria-label');
1666
- }
1667
- }
1668
- template.containerElement.classList.remove('invalid-input');
1669
- return false;
1670
- }
1671
- function renderArrayValidations(dataElement, template, value, calledOnStartup) {
1672
- template.containerElement.classList.add('invalid-input');
1673
- if (dataElement.setting.validator) {
1674
- const errMsg = dataElement.setting.validator(value);
1675
- if (errMsg && errMsg !== '') {
1676
- template.containerElement.classList.add('invalid-input');
1677
- template.validationErrorMessageElement.innerText = errMsg;
1678
- const validationError = ( localize('validationError', "Validation Error."));
1679
- template.containerElement.setAttribute('aria-label', [dataElement.setting.key, validationError, errMsg].join(' '));
1680
- if (!calledOnStartup) {
1681
- aria.status(validationError + ' ' + errMsg);
1682
- }
1683
- return true;
1684
- }
1685
- else {
1686
- template.containerElement.setAttribute('aria-label', dataElement.setting.key);
1687
- template.containerElement.classList.remove('invalid-input');
1688
- }
1689
- }
1690
- return false;
1691
- }
1692
- function cleanRenderedMarkdown(element) {
1693
- for (let i = 0; i < element.childNodes.length; i++) {
1694
- const child = element.childNodes.item(i);
1695
- const tagName = child.tagName && child.tagName.toLowerCase();
1696
- if (tagName === 'img') {
1697
- element.removeChild(child);
1698
- }
1699
- else {
1700
- cleanRenderedMarkdown(child);
1701
- }
1702
- }
1703
- }
1704
- function fixSettingLinks(text, linkify = true) {
1705
- return text.replace(/`#([^#\s`]+)#`|'#([^#\s']+)#'/g, (match, backticksGroup, quotesGroup) => {
1706
- const settingKey = backticksGroup ?? quotesGroup;
1707
- const targetDisplayFormat = settingKeyToDisplayFormat(settingKey);
1708
- const targetName = `${targetDisplayFormat.category}: ${targetDisplayFormat.label}`;
1709
- return linkify ?
1710
- `[${targetName}](#${settingKey} "${settingKey}")` :
1711
- `"${targetName}"`;
1712
- });
1713
- }
1714
- function escapeInvisibleChars(enumValue) {
1715
- return enumValue && enumValue
1716
- .replace(/\n/g, '\\n')
1717
- .replace(/\r/g, '\\r');
1718
- }
1719
- let SettingsTreeFilter = class SettingsTreeFilter {
1720
- constructor(viewState, environmentService) {
1721
- this.viewState = viewState;
1722
- this.environmentService = environmentService;
1723
- }
1724
- filter(element, parentVisibility) {
1725
- if (this.viewState.filterToCategory && element instanceof SettingsTreeSettingElement) {
1726
- if (!this.settingContainedInGroup(element.setting, this.viewState.filterToCategory)) {
1727
- return false;
1728
- }
1729
- }
1730
- if (element instanceof SettingsTreeSettingElement && this.viewState.settingsTarget !== 3 ) {
1731
- const isRemote = !!this.environmentService.remoteAuthority;
1732
- if (!element.matchesScope(this.viewState.settingsTarget, isRemote)) {
1733
- return false;
1734
- }
1735
- }
1736
- if (element instanceof SettingsTreeGroupElement) {
1737
- if (typeof element.count === 'number') {
1738
- return element.count > 0;
1739
- }
1740
- return 2 ;
1741
- }
1742
- if (element instanceof SettingsTreeNewExtensionsElement) {
1743
- if (this.viewState.tagFilters?.size || this.viewState.filterToCategory) {
1744
- return false;
1745
- }
1746
- }
1747
- return true;
1748
- }
1749
- settingContainedInGroup(setting, group) {
1750
- return ( group.children.some(child => {
1751
- if (child instanceof SettingsTreeGroupElement) {
1752
- return this.settingContainedInGroup(setting, child);
1753
- }
1754
- else if (child instanceof SettingsTreeSettingElement) {
1755
- return child.setting.key === setting.key;
1756
- }
1757
- else {
1758
- return false;
1759
- }
1760
- }));
1761
- }
1762
- };
1763
- SettingsTreeFilter = ( __decorate([
1764
- ( __param(1, IWorkbenchEnvironmentService))
1765
- ], SettingsTreeFilter));
1766
- class SettingsTreeDelegate extends CachedListVirtualDelegate {
1767
- getTemplateId(element) {
1768
- if (element instanceof SettingsTreeGroupElement) {
1769
- return SETTINGS_ELEMENT_TEMPLATE_ID;
1770
- }
1771
- if (element instanceof SettingsTreeSettingElement) {
1772
- if (element.valueType === SettingValueType.ExtensionToggle) {
1773
- return SETTINGS_EXTENSION_TOGGLE_TEMPLATE_ID;
1774
- }
1775
- const invalidTypeError = element.isConfigured && getInvalidTypeError(element.value, element.setting.type);
1776
- if (invalidTypeError) {
1777
- return SETTINGS_COMPLEX_TEMPLATE_ID;
1778
- }
1779
- if (element.valueType === SettingValueType.Boolean) {
1780
- return SETTINGS_BOOL_TEMPLATE_ID;
1781
- }
1782
- if (element.valueType === SettingValueType.Integer ||
1783
- element.valueType === SettingValueType.Number ||
1784
- element.valueType === SettingValueType.NullableInteger ||
1785
- element.valueType === SettingValueType.NullableNumber) {
1786
- return SETTINGS_NUMBER_TEMPLATE_ID;
1787
- }
1788
- if (element.valueType === SettingValueType.MultilineString) {
1789
- return SETTINGS_MULTILINE_TEXT_TEMPLATE_ID;
1790
- }
1791
- if (element.valueType === SettingValueType.String) {
1792
- return SETTINGS_TEXT_TEMPLATE_ID;
1793
- }
1794
- if (element.valueType === SettingValueType.Enum) {
1795
- return SETTINGS_ENUM_TEMPLATE_ID;
1796
- }
1797
- if (element.valueType === SettingValueType.Array) {
1798
- return SETTINGS_ARRAY_TEMPLATE_ID;
1799
- }
1800
- if (element.valueType === SettingValueType.Exclude) {
1801
- return SETTINGS_EXCLUDE_TEMPLATE_ID;
1802
- }
1803
- if (element.valueType === SettingValueType.Include) {
1804
- return SETTINGS_INCLUDE_TEMPLATE_ID;
1805
- }
1806
- if (element.valueType === SettingValueType.Object) {
1807
- return SETTINGS_OBJECT_TEMPLATE_ID;
1808
- }
1809
- if (element.valueType === SettingValueType.BooleanObject) {
1810
- return SETTINGS_BOOL_OBJECT_TEMPLATE_ID;
1811
- }
1812
- if (element.valueType === SettingValueType.LanguageTag) {
1813
- return SETTINGS_COMPLEX_TEMPLATE_ID;
1814
- }
1815
- return SETTINGS_COMPLEX_TEMPLATE_ID;
1816
- }
1817
- if (element instanceof SettingsTreeNewExtensionsElement) {
1818
- return SETTINGS_NEW_EXTENSIONS_TEMPLATE_ID;
1819
- }
1820
- throw new Error('unknown element type: ' + element);
1821
- }
1822
- hasDynamicHeight(element) {
1823
- return !(element instanceof SettingsTreeGroupElement);
1824
- }
1825
- estimateHeight(element) {
1826
- if (element instanceof SettingsTreeGroupElement) {
1827
- return 42;
1828
- }
1829
- return element instanceof SettingsTreeSettingElement && element.valueType === SettingValueType.Boolean ? 78 : 104;
1830
- }
1831
- }
1832
- class NonCollapsibleObjectTreeModel extends ObjectTreeModel {
1833
- isCollapsible(element) {
1834
- return false;
1835
- }
1836
- setCollapsed(element, collapsed, recursive) {
1837
- return false;
1838
- }
1839
- }
1840
- class SettingsTreeAccessibilityProvider {
1841
- constructor(configurationService, languageService, userDataProfilesService) {
1842
- this.configurationService = configurationService;
1843
- this.languageService = languageService;
1844
- this.userDataProfilesService = userDataProfilesService;
1845
- }
1846
- getAriaLabel(element) {
1847
- if (element instanceof SettingsTreeSettingElement) {
1848
- const ariaLabelSections = [];
1849
- ariaLabelSections.push(`${element.displayCategory} ${element.displayLabel}.`);
1850
- if (element.isConfigured) {
1851
- const modifiedText = ( localize('settings.Modified', 'Modified.'));
1852
- ariaLabelSections.push(modifiedText);
1853
- }
1854
- const indicatorsLabelAriaLabel = getIndicatorsLabelAriaLabel(element, this.configurationService, this.userDataProfilesService, this.languageService);
1855
- if (indicatorsLabelAriaLabel.length) {
1856
- ariaLabelSections.push(`${indicatorsLabelAriaLabel}.`);
1857
- }
1858
- const descriptionWithoutSettingLinks = renderMarkdownAsPlaintext({ value: fixSettingLinks(element.description, false) });
1859
- if (descriptionWithoutSettingLinks.length) {
1860
- ariaLabelSections.push(descriptionWithoutSettingLinks);
1861
- }
1862
- return ariaLabelSections.join(' ');
1863
- }
1864
- else if (element instanceof SettingsTreeGroupElement) {
1865
- return element.label;
1866
- }
1867
- else {
1868
- return element.id;
1869
- }
1870
- }
1871
- getWidgetAriaLabel() {
1872
- return ( localize('settings', "Settings"));
1873
- }
1874
- }
1875
- let SettingsTree = class SettingsTree extends WorkbenchObjectTree {
1876
- constructor(container, viewState, renderers, contextKeyService, listService, configurationService, instantiationService, languageService, userDataProfilesService) {
1877
- super('SettingsTree', container, ( new SettingsTreeDelegate()), renderers, {
1878
- horizontalScrolling: false,
1879
- supportDynamicHeights: true,
1880
- identityProvider: {
1881
- getId(e) {
1882
- return e.id;
1883
- }
1884
- },
1885
- accessibilityProvider: ( new SettingsTreeAccessibilityProvider(configurationService, languageService, userDataProfilesService)),
1886
- styleController: id => ( new DefaultStyleController(dom.createStyleSheet(container), id)),
1887
- filter: instantiationService.createInstance(SettingsTreeFilter, viewState),
1888
- smoothScrolling: configurationService.getValue('workbench.list.smoothScrolling'),
1889
- multipleSelectionSupport: false,
1890
- findWidgetEnabled: false,
1891
- renderIndentGuides: RenderIndentGuides.None
1892
- }, instantiationService, contextKeyService, listService, configurationService);
1893
- this.getHTMLElement().classList.add('settings-editor-tree');
1894
- this.style(getListStyles({
1895
- listBackground: editorBackground,
1896
- listActiveSelectionBackground: editorBackground,
1897
- listActiveSelectionForeground: foreground,
1898
- listFocusAndSelectionBackground: editorBackground,
1899
- listFocusAndSelectionForeground: foreground,
1900
- listFocusBackground: editorBackground,
1901
- listFocusForeground: foreground,
1902
- listHoverForeground: foreground,
1903
- listHoverBackground: editorBackground,
1904
- listHoverOutline: editorBackground,
1905
- listFocusOutline: editorBackground,
1906
- listInactiveSelectionBackground: editorBackground,
1907
- listInactiveSelectionForeground: foreground,
1908
- listInactiveFocusBackground: editorBackground,
1909
- listInactiveFocusOutline: editorBackground,
1910
- treeIndentGuidesStroke: undefined,
1911
- treeInactiveIndentGuidesStroke: undefined,
1912
- }));
1913
- this.disposables.add(configurationService.onDidChangeConfiguration(e => {
1914
- if (e.affectsConfiguration('workbench.list.smoothScrolling')) {
1915
- this.updateOptions({
1916
- smoothScrolling: configurationService.getValue('workbench.list.smoothScrolling')
1917
- });
1918
- }
1919
- }));
1920
- }
1921
- createModel(user, view, options) {
1922
- return ( new NonCollapsibleObjectTreeModel(user, view, options));
1923
- }
1924
- };
1925
- SettingsTree = ( __decorate([
1926
- ( __param(3, IContextKeyService)),
1927
- ( __param(4, IListService)),
1928
- ( __param(5, IWorkbenchConfigurationService)),
1929
- ( __param(6, IInstantiationService)),
1930
- ( __param(7, ILanguageService)),
1931
- ( __param(8, IUserDataProfilesService))
1932
- ], SettingsTree));
1933
- let CopySettingIdAction = class CopySettingIdAction extends Action {
1934
- static { CopySettingIdAction_1 = this; }
1935
- static { this.ID = 'settings.copySettingId'; }
1936
- static { this.LABEL = ( localize('copySettingIdLabel', "Copy Setting ID")); }
1937
- constructor(clipboardService) {
1938
- super(CopySettingIdAction_1.ID, CopySettingIdAction_1.LABEL);
1939
- this.clipboardService = clipboardService;
1940
- }
1941
- async run(context) {
1942
- if (context) {
1943
- await this.clipboardService.writeText(context.setting.key);
1944
- }
1945
- return Promise.resolve(undefined);
1946
- }
1947
- };
1948
- CopySettingIdAction = CopySettingIdAction_1 = ( __decorate([
1949
- ( __param(0, IClipboardService))
1950
- ], CopySettingIdAction));
1951
- let CopySettingAsJSONAction = class CopySettingAsJSONAction extends Action {
1952
- static { CopySettingAsJSONAction_1 = this; }
1953
- static { this.ID = 'settings.copySettingAsJSON'; }
1954
- static { this.LABEL = ( localize('copySettingAsJSONLabel', "Copy Setting as JSON")); }
1955
- constructor(clipboardService) {
1956
- super(CopySettingAsJSONAction_1.ID, CopySettingAsJSONAction_1.LABEL);
1957
- this.clipboardService = clipboardService;
1958
- }
1959
- async run(context) {
1960
- if (context) {
1961
- const jsonResult = `"${context.setting.key}": ${JSON.stringify(context.value, undefined, ' ')}`;
1962
- await this.clipboardService.writeText(jsonResult);
1963
- }
1964
- return Promise.resolve(undefined);
1965
- }
1966
- };
1967
- CopySettingAsJSONAction = CopySettingAsJSONAction_1 = ( __decorate([
1968
- ( __param(0, IClipboardService))
1969
- ], CopySettingAsJSONAction));
1970
- let SyncSettingAction = class SyncSettingAction extends Action {
1971
- static { SyncSettingAction_1 = this; }
1972
- static { this.ID = 'settings.stopSyncingSetting'; }
1973
- static { this.LABEL = ( localize('stopSyncingSetting', "Sync This Setting")); }
1974
- constructor(setting, configService) {
1975
- super(SyncSettingAction_1.ID, SyncSettingAction_1.LABEL);
1976
- this.setting = setting;
1977
- this.configService = configService;
1978
- this._register(Event.filter(configService.onDidChangeConfiguration, e => e.affectsConfiguration('settingsSync.ignoredSettings'))(() => this.update()));
1979
- this.update();
1980
- }
1981
- async update() {
1982
- const ignoredSettings = getIgnoredSettings(getDefaultIgnoredSettings(), this.configService);
1983
- this.checked = !ignoredSettings.includes(this.setting.key);
1984
- }
1985
- async run() {
1986
- let currentValue = [...this.configService.getValue('settingsSync.ignoredSettings')];
1987
- currentValue = currentValue.filter(v => v !== this.setting.key && v !== `-${this.setting.key}`);
1988
- const defaultIgnoredSettings = getDefaultIgnoredSettings();
1989
- const isDefaultIgnored = defaultIgnoredSettings.includes(this.setting.key);
1990
- const askedToSync = !this.checked;
1991
- if (askedToSync && isDefaultIgnored) {
1992
- currentValue.push(`-${this.setting.key}`);
1993
- }
1994
- if (!askedToSync && !isDefaultIgnored) {
1995
- currentValue.push(this.setting.key);
1996
- }
1997
- this.configService.updateValue('settingsSync.ignoredSettings', currentValue.length ? currentValue : undefined, 2 );
1998
- return Promise.resolve(undefined);
1999
- }
2000
- };
2001
- SyncSettingAction = SyncSettingAction_1 = ( __decorate([
2002
- ( __param(1, IConfigurationService))
2003
- ], SyncSettingAction));
2004
- let ApplySettingToAllProfilesAction = class ApplySettingToAllProfilesAction extends Action {
2005
- static { ApplySettingToAllProfilesAction_1 = this; }
2006
- static { this.ID = 'settings.applyToAllProfiles'; }
2007
- static { this.LABEL = ( localize('applyToAllProfiles', "Apply Setting to all Profiles")); }
2008
- constructor(setting, configService) {
2009
- super(ApplySettingToAllProfilesAction_1.ID, ApplySettingToAllProfilesAction_1.LABEL);
2010
- this.setting = setting;
2011
- this.configService = configService;
2012
- this._register(Event.filter(configService.onDidChangeConfiguration, e => e.affectsConfiguration(APPLY_ALL_PROFILES_SETTING))(() => this.update()));
2013
- this.update();
2014
- }
2015
- update() {
2016
- const allProfilesSettings = this.configService.getValue(APPLY_ALL_PROFILES_SETTING);
2017
- this.checked = allProfilesSettings.includes(this.setting.key);
2018
- }
2019
- async run() {
2020
- const value = this.configService.getValue(APPLY_ALL_PROFILES_SETTING) ?? [];
2021
- if (this.checked) {
2022
- value.splice(value.indexOf(this.setting.key), 1);
2023
- }
2024
- else {
2025
- value.push(this.setting.key);
2026
- }
2027
- const newValue = distinct(value);
2028
- if (this.checked) {
2029
- await this.configService.updateValue(this.setting.key, this.configService.inspect(this.setting.key).application?.value, 3 );
2030
- await this.configService.updateValue(APPLY_ALL_PROFILES_SETTING, newValue.length ? newValue : undefined, 3 );
2031
- }
2032
- else {
2033
- await this.configService.updateValue(APPLY_ALL_PROFILES_SETTING, newValue.length ? newValue : undefined, 3 );
2034
- await this.configService.updateValue(this.setting.key, this.configService.inspect(this.setting.key).userLocal?.value, 3 );
2035
- }
2036
- }
2037
- };
2038
- ApplySettingToAllProfilesAction = ApplySettingToAllProfilesAction_1 = ( __decorate([
2039
- ( __param(1, IWorkbenchConfigurationService))
2040
- ], ApplySettingToAllProfilesAction));
2041
- export { AbstractSettingRenderer, NonCollapsibleObjectTreeModel, SettingBoolRenderer, SettingComplexRenderer, SettingEnumRenderer, SettingExcludeRenderer, SettingGroupRenderer, SettingIncludeRenderer, SettingNewExtensionsRenderer, SettingNumberRenderer, SettingTreeRenderers, SettingsExtensionToggleRenderer, SettingsTree, SettingsTreeFilter, createSettingMatchRegExp, createTocTreeForExtensionSettings, resolveConfiguredUntrustedSettings, resolveSettingsTree };