@codingame/monaco-vscode-api 1.78.4-next.3 → 1.78.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 (804) hide show
  1. package/README.md +28 -9
  2. package/dist/api.js +192 -2
  3. package/dist/assets/breakpointWidget.css +31 -0
  4. package/dist/assets/callStackEditorContribution.css +12 -0
  5. package/dist/assets/debug.contribution.css +138 -0
  6. package/dist/assets/debugHover.css +80 -0
  7. package/dist/assets/debugToolBar.css +49 -0
  8. package/dist/assets/editorquickaccess.css +8 -0
  9. package/dist/assets/editorstatus.css +51 -0
  10. package/dist/assets/exceptionWidget.css +52 -0
  11. package/dist/assets/notificationsActions.css +14 -0
  12. package/dist/assets/notificationsCenter.css +69 -0
  13. package/dist/assets/notificationsList.css +152 -0
  14. package/dist/assets/notificationsToasts.css +63 -0
  15. package/dist/assets/panelpart.css +75 -0
  16. package/dist/assets/paneview.css +148 -0
  17. package/dist/assets/paneviewlet.css +79 -0
  18. package/dist/assets/sidebysideeditor.css +9 -0
  19. package/dist/assets.js +15 -0
  20. package/dist/default-extensions/bat.js +6 -6
  21. package/dist/default-extensions/clojure.js +5 -5
  22. package/dist/default-extensions/coffeescript.js +6 -6
  23. package/dist/default-extensions/cpp.js +11 -11
  24. package/dist/default-extensions/csharp.js +6 -6
  25. package/dist/default-extensions/css.js +5 -5
  26. package/dist/default-extensions/dart.js +5 -5
  27. package/dist/default-extensions/diff.js +5 -5
  28. package/dist/default-extensions/docker.js +5 -5
  29. package/dist/default-extensions/fsharp.js +6 -6
  30. package/dist/default-extensions/go.js +5 -5
  31. package/dist/default-extensions/groovy.js +6 -6
  32. package/dist/default-extensions/handlebars.js +5 -5
  33. package/dist/default-extensions/hlsl.js +5 -5
  34. package/dist/default-extensions/html.js +7 -7
  35. package/dist/default-extensions/ini.js +6 -6
  36. package/dist/default-extensions/java.js +6 -6
  37. package/dist/default-extensions/javascript.js +9 -9
  38. package/dist/default-extensions/json.js +6 -6
  39. package/dist/default-extensions/julia.js +5 -5
  40. package/dist/default-extensions/latex.js +11 -11
  41. package/dist/default-extensions/less.js +5 -5
  42. package/dist/default-extensions/log.js +4 -4
  43. package/dist/default-extensions/lua.js +5 -5
  44. package/dist/default-extensions/make.js +5 -5
  45. package/dist/default-extensions/markdown-basics.js +6 -6
  46. package/dist/default-extensions/objective-c.js +6 -6
  47. package/dist/default-extensions/perl.js +7 -7
  48. package/dist/default-extensions/php.js +7 -7
  49. package/dist/default-extensions/powershell.js +5 -5
  50. package/dist/default-extensions/pug.js +5 -5
  51. package/dist/default-extensions/python.js +6 -6
  52. package/dist/default-extensions/r.js +5 -5
  53. package/dist/default-extensions/razor.js +5 -5
  54. package/dist/default-extensions/ruby.js +5 -5
  55. package/dist/default-extensions/rust.js +5 -5
  56. package/dist/default-extensions/scss.js +6 -6
  57. package/dist/default-extensions/shaderlab.js +5 -5
  58. package/dist/default-extensions/shellscript.js +5 -5
  59. package/dist/default-extensions/sql.js +5 -5
  60. package/dist/default-extensions/swift.js +6 -6
  61. package/dist/default-extensions/theme-abyss.js +4 -4
  62. package/dist/default-extensions/theme-defaults.js +12 -12
  63. package/dist/default-extensions/theme-kimbie-dark.js +4 -4
  64. package/dist/default-extensions/theme-monokai-dimmed.js +4 -4
  65. package/dist/default-extensions/theme-monokai.js +4 -4
  66. package/dist/default-extensions/theme-quietlight.js +4 -4
  67. package/dist/default-extensions/theme-red.js +4 -4
  68. package/dist/default-extensions/theme-seti.js +4 -4
  69. package/dist/default-extensions/theme-solarized-dark.js +4 -4
  70. package/dist/default-extensions/theme-solarized-light.js +4 -4
  71. package/dist/default-extensions/theme-tomorrow-night-blue.js +4 -4
  72. package/dist/default-extensions/typescript-basics.js +9 -9
  73. package/dist/default-extensions/typescript-language-features.js +3 -3
  74. package/dist/default-extensions/vb.js +6 -6
  75. package/dist/default-extensions/xml.js +7 -7
  76. package/dist/default-extensions/yaml.js +5 -5
  77. package/dist/{extension-tools-b2d018a3.js → extension-tools-b68a64de.js} +2 -15
  78. package/dist/extensions.js +150 -4
  79. package/dist/json.js +92 -0
  80. package/dist/monaco-treemending.js +882 -0
  81. package/dist/monaco.d.ts +11 -11
  82. package/dist/monaco.js +24 -458
  83. package/dist/node_modules/tslib/tslib.es6.js +21 -0
  84. package/dist/override/vs/workbench/browser/parts/editor/textEditor.js +2 -0
  85. package/dist/rollup-extension-directory-plugin.js +1 -1
  86. package/dist/rollup-vsix-plugin.js +1 -1
  87. package/dist/service-override/_46__46__47__46__46__47_vscode_47_vs_47_platform_47_audioCues_47_browser_47_media_47__42__46_mp3.js +11 -0
  88. package/dist/service-override/audioCue.js +13 -0
  89. package/dist/service-override/configuration.js +100 -0
  90. package/dist/service-override/debug.js +23 -0
  91. package/dist/service-override/dialogs.js +13 -0
  92. package/dist/service-override/files.js +244 -0
  93. package/dist/service-override/keybindings.js +100 -0
  94. package/dist/service-override/languages.js +27 -0
  95. package/dist/{layout.js → service-override/layout.js} +8 -8
  96. package/dist/service-override/modelEditor.js +128 -0
  97. package/dist/service-override/notifications.js +34 -0
  98. package/dist/service-override/preferences.js +10 -0
  99. package/dist/{snippets.js → service-override/snippets.js} +5 -3
  100. package/dist/service-override/textmate.js +36 -0
  101. package/dist/service-override/theme.js +26 -0
  102. package/dist/services.d.ts +118 -1
  103. package/dist/services.js +59 -3
  104. package/dist/tools.js +20 -0
  105. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +289 -0
  106. package/dist/vscode/vs/base/common/console.js +58 -0
  107. package/dist/vscode/vs/base/common/date.js +204 -0
  108. package/dist/vscode/vs/base/common/json.js +713 -0
  109. package/dist/vscode/vs/base/common/jsonEdit.js +164 -0
  110. package/dist/vscode/vs/base/common/jsonFormatter.js +187 -0
  111. package/dist/vscode/vs/base/common/keybindingParser.js +87 -0
  112. package/dist/vscode/vs/base/common/performance.js +18 -0
  113. package/dist/vscode/vs/base/common/skipList.js +160 -0
  114. package/dist/vscode/vs/base/common/stream.js +300 -0
  115. package/dist/vscode/vs/base/common/uriIpc.js +32 -0
  116. package/dist/vscode/vs/base/parts/ipc/common/ipc.net.js +45 -0
  117. package/dist/vscode/vs/base/parts/request/browser/request.js +60 -0
  118. package/dist/vscode/vs/base/parts/request/common/request.js +8 -0
  119. package/dist/vscode/vs/editor/browser/config/editorConfiguration.js +91 -0
  120. package/dist/vscode/vs/editor/common/services/languageFeaturesService.js +41 -0
  121. package/dist/vscode/vs/editor/common/services/modelUndoRedoParticipant.js +56 -0
  122. package/dist/vscode/vs/editor/common/services/textResourceConfigurationService.js +112 -0
  123. package/dist/vscode/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +112 -0
  124. package/dist/vscode/vs/platform/debug/common/extensionHostDebug.js +3 -0
  125. package/dist/{extensionManagement.js → vscode/vs/platform/extensionManagement/common/extensionManagement.js} +2 -1
  126. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +14 -0
  127. package/dist/vscode/vs/platform/extensionManagement/common/extensionNls.js +66 -0
  128. package/dist/vscode/vs/platform/extensionManagement/common/implicitActivationEvents.js +53 -0
  129. package/dist/vscode/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +69 -0
  130. package/dist/vscode/vs/platform/externalServices/common/serviceMachineId.js +27 -0
  131. package/dist/vscode/vs/platform/files/common/fileService.js +920 -0
  132. package/dist/vscode/vs/platform/files/common/inMemoryFilesystemProvider.js +175 -0
  133. package/dist/vscode/vs/platform/files/common/io.js +80 -0
  134. package/dist/vscode/vs/platform/files/common/watcher.js +69 -0
  135. package/dist/vscode/vs/platform/keyboardLayout/common/keyboardConfig.js +42 -0
  136. package/dist/vscode/vs/platform/keyboardLayout/common/keyboardLayout.js +12 -0
  137. package/dist/vscode/vs/platform/keyboardLayout/common/keyboardMapper.js +23 -0
  138. package/dist/vscode/vs/platform/product/common/productService.js +4 -0
  139. package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +17 -0
  140. package/dist/vscode/vs/platform/remote/common/remoteHosts.js +18 -0
  141. package/dist/vscode/vs/platform/request/browser/requestService.js +25 -0
  142. package/dist/vscode/vs/platform/request/common/request.js +50 -0
  143. package/dist/vscode/vs/platform/telemetry/common/telemetryUtils.js +119 -0
  144. package/dist/{tokenClassificationRegistry.js → vscode/vs/platform/theme/common/tokenClassificationRegistry.js} +82 -136
  145. package/dist/vscode/vs/platform/tunnel/common/tunnel.js +3 -0
  146. package/dist/vscode/vs/platform/uriIdentity/common/uriIdentity.js +3 -0
  147. package/dist/vscode/vs/platform/uriIdentity/common/uriIdentityService.js +80 -0
  148. package/dist/vscode/vs/platform/userDataProfile/common/userDataProfile.js +427 -0
  149. package/dist/vscode/vs/platform/userDataSync/common/content.js +9 -0
  150. package/dist/vscode/vs/platform/userDataSync/common/settingsMerge.js +299 -0
  151. package/dist/vscode/vs/platform/workspace/common/editSessions.js +3 -0
  152. package/dist/vscode/vs/platform/workspace/common/virtualWorkspace.js +17 -0
  153. package/dist/vscode/vs/platform/workspaces/common/workspaces.js +195 -0
  154. package/dist/vscode/vs/workbench/api/browser/mainThreadBulkEdits.js +49 -0
  155. package/dist/vscode/vs/workbench/api/browser/mainThreadClipboard.js +22 -0
  156. package/dist/vscode/vs/workbench/api/browser/mainThreadCommands.js +93 -0
  157. package/dist/vscode/vs/workbench/api/browser/mainThreadConfiguration.js +78 -0
  158. package/dist/vscode/vs/workbench/api/browser/mainThreadConsole.js +33 -0
  159. package/dist/vscode/vs/workbench/api/browser/mainThreadDebugService.js +347 -0
  160. package/dist/vscode/vs/workbench/api/browser/mainThreadDiagnostics.js +67 -0
  161. package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +73 -0
  162. package/dist/vscode/vs/workbench/api/browser/mainThreadDocuments.js +246 -0
  163. package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +379 -0
  164. package/dist/vscode/vs/workbench/api/browser/mainThreadEditor.js +410 -0
  165. package/dist/vscode/vs/workbench/api/browser/mainThreadEditors.js +223 -0
  166. package/dist/vscode/vs/workbench/api/browser/mainThreadExtensionService.js +213 -0
  167. package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystem.js +270 -0
  168. package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystemEventService.js +223 -0
  169. package/dist/vscode/vs/workbench/api/browser/mainThreadLanguageFeatures.js +909 -0
  170. package/dist/vscode/vs/workbench/api/browser/mainThreadLanguages.js +76 -0
  171. package/dist/vscode/vs/workbench/api/browser/mainThreadMessageService.js +114 -0
  172. package/dist/vscode/vs/workbench/api/browser/mainThreadOutputService.js +73 -0
  173. package/dist/vscode/vs/workbench/api/browser/mainThreadProgress.js +62 -0
  174. package/dist/vscode/vs/workbench/api/browser/mainThreadQuickOpen.js +183 -0
  175. package/dist/vscode/vs/workbench/api/browser/mainThreadSaveParticipant.js +43 -0
  176. package/dist/vscode/vs/workbench/api/browser/mainThreadTelemetry.js +50 -0
  177. package/dist/vscode/vs/workbench/api/browser/mainThreadWindow.js +48 -0
  178. package/dist/vscode/vs/workbench/api/browser/mainThreadWorkspace.js +227 -0
  179. package/dist/vscode/vs/workbench/api/common/cache.js +28 -0
  180. package/dist/vscode/vs/workbench/api/common/configurationExtensionPoint.js +450 -0
  181. package/dist/vscode/vs/workbench/api/common/extHost.protocol.js +131 -0
  182. package/dist/vscode/vs/workbench/api/common/extHostApiCommands.js +656 -0
  183. package/dist/vscode/vs/workbench/api/common/extHostApiDeprecationService.js +35 -0
  184. package/dist/vscode/vs/workbench/api/common/extHostBulkEdits.js +21 -0
  185. package/dist/vscode/vs/workbench/api/common/extHostClipboard.js +15 -0
  186. package/dist/vscode/vs/workbench/api/common/extHostCommands.js +415 -0
  187. package/dist/vscode/vs/workbench/api/common/extHostConfiguration.js +264 -0
  188. package/dist/vscode/vs/workbench/api/common/extHostDebugService.js +786 -0
  189. package/dist/vscode/vs/workbench/api/common/extHostDecorations.js +94 -0
  190. package/dist/vscode/vs/workbench/api/common/extHostDiagnostics.js +292 -0
  191. package/dist/vscode/vs/workbench/api/common/extHostDocumentContentProviders.js +65 -0
  192. package/dist/vscode/vs/workbench/api/common/extHostDocumentData.js +212 -0
  193. package/dist/vscode/vs/workbench/api/common/extHostDocumentSaveParticipant.js +126 -0
  194. package/dist/vscode/vs/workbench/api/common/extHostDocuments.js +144 -0
  195. package/dist/vscode/vs/workbench/api/common/extHostDocumentsAndEditors.js +147 -0
  196. package/dist/vscode/vs/workbench/api/common/extHostEditorTabs.js +328 -0
  197. package/dist/vscode/vs/workbench/api/common/extHostExtensionActivator.js +309 -0
  198. package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +814 -0
  199. package/dist/vscode/vs/workbench/api/common/extHostFileSystem.js +272 -0
  200. package/dist/vscode/vs/workbench/api/common/extHostFileSystemConsumer.js +153 -0
  201. package/dist/vscode/vs/workbench/api/common/extHostFileSystemEventService.js +193 -0
  202. package/dist/vscode/vs/workbench/api/common/extHostFileSystemInfo.js +35 -0
  203. package/dist/vscode/vs/workbench/api/common/extHostInitDataService.js +3 -0
  204. package/dist/vscode/vs/workbench/api/common/extHostLanguageFeatures.js +2038 -0
  205. package/dist/vscode/vs/workbench/api/common/extHostLanguages.js +164 -0
  206. package/dist/vscode/vs/workbench/api/common/extHostLocalizationService.js +85 -0
  207. package/dist/vscode/vs/workbench/api/common/extHostMemento.js +74 -0
  208. package/dist/vscode/vs/workbench/api/common/extHostMessageService.js +55 -0
  209. package/dist/vscode/vs/workbench/api/common/extHostOutput.js +257 -0
  210. package/dist/vscode/vs/workbench/api/common/extHostProgress.js +80 -0
  211. package/dist/vscode/vs/workbench/api/common/extHostQuickOpen.js +580 -0
  212. package/dist/vscode/vs/workbench/api/common/extHostRpcService.js +12 -0
  213. package/dist/vscode/vs/workbench/api/common/extHostSecretState.js +24 -0
  214. package/dist/vscode/vs/workbench/api/common/extHostSecrets.js +29 -0
  215. package/dist/vscode/vs/workbench/api/common/extHostStorage.js +42 -0
  216. package/dist/vscode/vs/workbench/api/common/extHostStoragePaths.js +64 -0
  217. package/dist/vscode/vs/workbench/api/common/extHostTelemetry.js +266 -0
  218. package/dist/vscode/vs/workbench/api/common/extHostTerminalService.js +3 -0
  219. package/dist/vscode/vs/workbench/api/common/extHostTestItem.js +122 -0
  220. package/dist/vscode/vs/workbench/api/common/extHostTestingPrivateApi.js +15 -0
  221. package/dist/vscode/vs/workbench/api/common/extHostTextEditor.js +511 -0
  222. package/dist/vscode/vs/workbench/api/common/extHostTextEditors.js +128 -0
  223. package/dist/vscode/vs/workbench/api/common/extHostTunnelService.js +36 -0
  224. package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +1766 -0
  225. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +2810 -0
  226. package/dist/vscode/vs/workbench/api/common/extHostUriTransformerService.js +19 -0
  227. package/dist/vscode/vs/workbench/api/common/extHostVariableResolverService.js +138 -0
  228. package/dist/vscode/vs/workbench/api/common/extHostWindow.js +59 -0
  229. package/dist/vscode/vs/workbench/api/common/extHostWorkspace.js +534 -0
  230. package/dist/vscode/vs/workbench/api/common/jsonValidationExtensionPoint.js +97 -0
  231. package/dist/vscode/vs/workbench/api/common/shared/dataTransferCache.js +36 -0
  232. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +1201 -0
  233. package/dist/vscode/vs/workbench/browser/actions.js +77 -0
  234. package/dist/vscode/vs/workbench/browser/codeeditor.js +185 -0
  235. package/dist/vscode/vs/workbench/browser/composite.js +102 -0
  236. package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +146 -0
  237. package/dist/vscode/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +68 -0
  238. package/dist/vscode/vs/workbench/browser/parts/dialogs/dialogHandler.js +124 -0
  239. package/dist/vscode/vs/workbench/browser/parts/editor/editor.contribution.js +876 -0
  240. package/dist/vscode/vs/workbench/browser/parts/editor/editor.js +4 -0
  241. package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +1946 -0
  242. package/dist/vscode/vs/workbench/browser/parts/editor/editorAutoSave.js +157 -0
  243. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +1289 -0
  244. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +242 -0
  245. package/dist/vscode/vs/workbench/browser/parts/editor/editorQuickAccess.js +213 -0
  246. package/dist/vscode/vs/workbench/browser/parts/editor/editorStatus.js +460 -0
  247. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +139 -0
  248. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +387 -0
  249. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +289 -0
  250. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsActions.js +124 -0
  251. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsAlerts.js +58 -0
  252. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsCenter.js +224 -0
  253. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsCommands.js +241 -0
  254. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsList.js +185 -0
  255. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsTelemetry.js +35 -0
  256. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsToasts.js +417 -0
  257. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsViewer.js +392 -0
  258. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +422 -0
  259. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +520 -0
  260. package/dist/vscode/vs/workbench/browser/quickaccess.js +17 -0
  261. package/dist/vscode/vs/workbench/common/component.js +23 -0
  262. package/dist/vscode/vs/workbench/common/configuration.js +8 -0
  263. package/dist/vscode/vs/workbench/common/contextkeys.js +170 -0
  264. package/dist/{contributions.js → vscode/vs/workbench/common/contributions.js} +3 -2
  265. package/dist/vscode/vs/workbench/common/dialogs.js +31 -0
  266. package/dist/vscode/vs/workbench/common/editor/binaryEditorModel.js +39 -0
  267. package/dist/vscode/vs/workbench/common/editor/diffEditorInput.js +164 -0
  268. package/dist/vscode/vs/workbench/common/editor/diffEditorModel.js +23 -0
  269. package/dist/vscode/vs/workbench/common/editor/editorInput.js +97 -0
  270. package/dist/vscode/vs/workbench/common/editor/editorModel.js +26 -0
  271. package/dist/vscode/vs/workbench/common/editor/editorOptions.js +48 -0
  272. package/dist/vscode/vs/workbench/common/editor/resourceEditorInput.js +133 -0
  273. package/dist/vscode/vs/workbench/common/editor/sideBySideEditorInput.js +228 -0
  274. package/dist/vscode/vs/workbench/common/editor/textDiffEditorModel.js +42 -0
  275. package/dist/vscode/vs/workbench/common/editor/textEditorModel.js +165 -0
  276. package/dist/vscode/vs/workbench/common/editor/textResourceEditorInput.js +146 -0
  277. package/dist/vscode/vs/workbench/common/editor/textResourceEditorModel.js +24 -0
  278. package/dist/vscode/vs/workbench/common/editor.js +307 -0
  279. package/dist/{memento.js → vscode/vs/workbench/common/memento.js} +1 -1
  280. package/dist/vscode/vs/workbench/common/notifications.js +448 -0
  281. package/dist/vscode/vs/workbench/common/resources.js +86 -0
  282. package/dist/{theme2.js → vscode/vs/workbench/common/theme.js} +1 -168
  283. package/dist/vscode/vs/workbench/common/views.js +20 -0
  284. package/dist/vscode/vs/workbench/contrib/audioCues/browser/audioCueDebuggerContribution.js +45 -0
  285. package/dist/vscode/vs/workbench/contrib/audioCues/browser/audioCueLineFeatureContribution.js +170 -0
  286. package/dist/vscode/vs/workbench/contrib/audioCues/browser/audioCues.contribution.js +160 -0
  287. package/dist/vscode/vs/workbench/contrib/audioCues/browser/commands.js +49 -0
  288. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +25 -0
  289. package/dist/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +126 -0
  290. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +100 -0
  291. package/dist/{languages.js → vscode/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js} +154 -180
  292. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/menuPreventer.js +35 -0
  293. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/selectionClipboard.js +2 -0
  294. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +50 -0
  295. package/dist/vscode/vs/workbench/contrib/debug/browser/baseDebugView.js +192 -0
  296. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +776 -0
  297. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointWidget.js +378 -0
  298. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointsView.js +714 -0
  299. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +172 -0
  300. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +451 -0
  301. package/dist/vscode/vs/workbench/contrib/debug/browser/debugActionViewItems.js +294 -0
  302. package/dist/vscode/vs/workbench/contrib/debug/browser/debugAdapterManager.js +397 -0
  303. package/dist/vscode/vs/workbench/contrib/debug/browser/debugColors.js +309 -0
  304. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +749 -0
  305. package/dist/vscode/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +619 -0
  306. package/dist/vscode/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +58 -0
  307. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorContribution.js +675 -0
  308. package/dist/vscode/vs/workbench/contrib/debug/browser/debugHover.js +317 -0
  309. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +135 -0
  310. package/dist/vscode/vs/workbench/contrib/debug/browser/debugMemory.js +204 -0
  311. package/dist/vscode/vs/workbench/contrib/debug/browser/debugQuickAccess.js +142 -0
  312. package/dist/vscode/vs/workbench/contrib/debug/browser/debugService.js +1171 -0
  313. package/dist/vscode/vs/workbench/contrib/debug/browser/debugSession.js +1134 -0
  314. package/dist/vscode/vs/workbench/contrib/debug/browser/debugSessionPicker.js +104 -0
  315. package/dist/vscode/vs/workbench/contrib/debug/browser/debugTaskRunner.js +273 -0
  316. package/dist/vscode/vs/workbench/contrib/debug/browser/debugToolBar.js +312 -0
  317. package/dist/vscode/vs/workbench/contrib/debug/browser/exceptionWidget.js +103 -0
  318. package/dist/vscode/vs/workbench/contrib/debug/browser/linkDetector.js +229 -0
  319. package/dist/vscode/vs/workbench/contrib/debug/browser/rawDebugSession.js +666 -0
  320. package/dist/vscode/vs/workbench/contrib/debug/browser/variablesView.js +287 -0
  321. package/dist/vscode/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +150 -0
  322. package/dist/vscode/vs/workbench/contrib/debug/common/breakpoints.js +19 -0
  323. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +285 -0
  324. package/dist/vscode/vs/workbench/contrib/debug/common/debugCompoundRoot.js +15 -0
  325. package/dist/vscode/vs/workbench/contrib/debug/common/debugContentProvider.js +96 -0
  326. package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +1451 -0
  327. package/dist/vscode/vs/workbench/contrib/debug/common/debugSchemas.js +344 -0
  328. package/dist/vscode/vs/workbench/contrib/debug/common/debugSource.js +121 -0
  329. package/dist/vscode/vs/workbench/contrib/debug/common/debugStorage.js +148 -0
  330. package/dist/vscode/vs/workbench/contrib/debug/common/debugTelemetry.js +34 -0
  331. package/dist/vscode/vs/workbench/contrib/debug/common/debugUtils.js +292 -0
  332. package/dist/vscode/vs/workbench/contrib/debug/common/debugViewModel.js +107 -0
  333. package/dist/vscode/vs/workbench/contrib/debug/common/debugger.js +254 -0
  334. package/dist/vscode/vs/workbench/contrib/debug/common/disassemblyViewInput.js +25 -0
  335. package/dist/vscode/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +81 -0
  336. package/dist/vscode/vs/workbench/contrib/debug/common/replModel.js +230 -0
  337. package/dist/vscode/vs/workbench/contrib/extensions/common/extensions.js +3 -0
  338. package/dist/vscode/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +321 -0
  339. package/dist/vscode/vs/workbench/contrib/files/browser/explorerService.js +398 -0
  340. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +389 -0
  341. package/dist/vscode/vs/workbench/contrib/files/browser/files.js +3 -0
  342. package/dist/vscode/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +212 -0
  343. package/dist/vscode/vs/workbench/contrib/files/common/explorerModel.js +369 -0
  344. package/dist/{files2.js → vscode/vs/workbench/contrib/files/common/files.js} +1 -1
  345. package/dist/vscode/vs/workbench/contrib/markers/common/markers.js +20 -0
  346. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -0
  347. package/dist/vscode/vs/workbench/contrib/output/browser/outputLinkProvider.js +74 -0
  348. package/dist/vscode/vs/workbench/contrib/output/browser/outputServices.js +166 -0
  349. package/dist/vscode/vs/workbench/contrib/output/common/outputChannelModel.js +317 -0
  350. package/dist/vscode/vs/workbench/contrib/output/common/outputChannelModelService.js +31 -0
  351. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +153 -0
  352. package/dist/vscode/vs/workbench/contrib/search/common/search.js +27 -0
  353. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +159 -0
  354. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippets.js +3 -0
  355. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetsFile.js +229 -0
  356. package/dist/{snippetsService.js → vscode/vs/workbench/contrib/snippets/browser/snippetsService.js} +28 -412
  357. package/dist/vscode/vs/workbench/contrib/snippets/browser/tabCompletion.js +166 -0
  358. package/dist/vscode/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +161 -0
  359. package/dist/vscode/vs/workbench/contrib/tasks/common/taskService.js +3 -0
  360. package/dist/vscode/vs/workbench/contrib/testing/common/testId.js +109 -0
  361. package/dist/vscode/vs/workbench/contrib/testing/common/testItemCollection.js +75 -0
  362. package/dist/vscode/vs/workbench/contrib/testing/common/testTypes.js +7 -0
  363. package/dist/vscode/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +133 -0
  364. package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +829 -0
  365. package/dist/vscode/vs/workbench/services/activity/common/activity.js +22 -0
  366. package/dist/vscode/vs/workbench/services/configuration/browser/configuration.js +847 -0
  367. package/dist/vscode/vs/workbench/services/configuration/browser/configurationService.js +1104 -0
  368. package/dist/{configuration2.js → vscode/vs/workbench/services/configuration/common/configuration.js} +1 -1
  369. package/dist/vscode/vs/workbench/services/configuration/common/configurationCache.js +80 -0
  370. package/dist/vscode/vs/workbench/services/configuration/common/configurationEditing.js +590 -0
  371. package/dist/vscode/vs/workbench/services/configuration/common/configurationModels.js +119 -0
  372. package/dist/vscode/vs/workbench/services/configuration/common/jsonEditing.js +9 -0
  373. package/dist/vscode/vs/workbench/services/configuration/common/jsonEditingService.js +119 -0
  374. package/dist/vscode/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +303 -0
  375. package/dist/vscode/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +26 -0
  376. package/dist/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.js +36 -0
  377. package/dist/vscode/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +174 -0
  378. package/dist/vscode/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +10 -0
  379. package/dist/vscode/vs/workbench/services/configurationResolver/common/variableResolver.js +299 -0
  380. package/dist/vscode/vs/workbench/services/decorations/browser/decorationsService.js +312 -0
  381. package/dist/vscode/vs/workbench/services/decorations/common/decorations.js +3 -0
  382. package/dist/vscode/vs/workbench/services/dialogs/common/dialogService.js +65 -0
  383. package/dist/vscode/vs/workbench/services/editor/browser/codeEditorService.js +80 -0
  384. package/dist/{textEditor.js → vscode/vs/workbench/services/editor/common/editorGroupColumn.js} +3 -14
  385. package/dist/vscode/vs/workbench/services/editor/common/editorGroupsService.js +14 -0
  386. package/dist/vscode/vs/workbench/services/editor/common/editorResolverService.js +31 -0
  387. package/dist/vscode/vs/workbench/services/editor/common/editorService.js +10 -0
  388. package/dist/vscode/vs/workbench/services/environment/browser/environmentService.js +4 -0
  389. package/dist/vscode/vs/workbench/services/environment/common/environmentService.js +4 -0
  390. package/dist/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.js +6 -0
  391. package/dist/vscode/vs/workbench/services/extensions/common/extHostCustomers.js +40 -0
  392. package/dist/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +189 -0
  393. package/dist/vscode/vs/workbench/services/extensions/common/extensionDevOptions.js +23 -0
  394. package/dist/vscode/vs/workbench/services/extensions/common/extensionHostProtocol.js +6 -0
  395. package/dist/vscode/vs/workbench/services/extensions/common/extensions.js +57 -0
  396. package/dist/vscode/vs/workbench/services/extensions/common/extensionsApiProposals.js +74 -0
  397. package/dist/{extensionsRegistry.js → vscode/vs/workbench/services/extensions/common/extensionsRegistry.js} +87 -208
  398. package/dist/vscode/vs/workbench/services/extensions/common/lazyPromise.js +70 -0
  399. package/dist/vscode/vs/workbench/services/extensions/common/proxyIdentifier.js +23 -0
  400. package/dist/vscode/vs/workbench/services/extensions/common/remoteConsoleUtil.js +47 -0
  401. package/dist/vscode/vs/workbench/services/extensions/common/rpcProtocol.js +762 -0
  402. package/dist/vscode/vs/workbench/services/extensions/common/workspaceContains.js +92 -0
  403. package/dist/vscode/vs/workbench/services/files/browser/elevatedFileService.js +9 -0
  404. package/dist/vscode/vs/workbench/services/files/common/elevatedFileService.js +3 -0
  405. package/dist/vscode/vs/workbench/services/files/common/files.js +4 -0
  406. package/dist/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +124 -0
  407. package/dist/vscode/vs/workbench/services/history/common/history.js +3 -0
  408. package/dist/vscode/vs/workbench/services/host/browser/host.js +3 -0
  409. package/dist/vscode/vs/workbench/services/keybinding/browser/keybindingService.js +855 -0
  410. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +490 -0
  411. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +162 -0
  412. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +162 -0
  413. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +125 -0
  414. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +180 -0
  415. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +162 -0
  416. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +162 -0
  417. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +125 -0
  418. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +162 -0
  419. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +125 -0
  420. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +162 -0
  421. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +125 -0
  422. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +162 -0
  423. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +125 -0
  424. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +162 -0
  425. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +133 -0
  426. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +182 -0
  427. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +167 -0
  428. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +162 -0
  429. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +125 -0
  430. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +180 -0
  431. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +162 -0
  432. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +125 -0
  433. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +180 -0
  434. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +162 -0
  435. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +162 -0
  436. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +125 -0
  437. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +162 -0
  438. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +125 -0
  439. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +125 -0
  440. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +125 -0
  441. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +17 -0
  442. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +6 -0
  443. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +23 -0
  444. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +162 -0
  445. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +125 -0
  446. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +162 -0
  447. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +162 -0
  448. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +125 -0
  449. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +162 -0
  450. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +125 -0
  451. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +180 -0
  452. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +162 -0
  453. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +164 -0
  454. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +162 -0
  455. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +162 -0
  456. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +125 -0
  457. package/dist/vscode/vs/workbench/services/keybinding/common/fallbackKeyboardMapper.js +28 -0
  458. package/dist/vscode/vs/workbench/services/keybinding/common/keybindingIO.js +72 -0
  459. package/dist/vscode/vs/workbench/services/keybinding/common/keymapInfo.js +108 -0
  460. package/dist/vscode/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +888 -0
  461. package/dist/vscode/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +350 -0
  462. package/dist/vscode/vs/workbench/services/label/common/labelService.js +302 -0
  463. package/dist/{languageService.js → vscode/vs/workbench/services/language/common/languageService.js} +8 -163
  464. package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +5 -0
  465. package/dist/vscode/vs/workbench/services/languageStatus/common/languageStatusService.js +3 -0
  466. package/dist/{layoutService.js → vscode/vs/workbench/services/layout/browser/layoutService.js} +1 -1
  467. package/dist/vscode/vs/workbench/services/lifecycle/common/lifecycle.js +11 -0
  468. package/dist/vscode/vs/workbench/services/lifecycle/common/lifecycleService.js +85 -0
  469. package/dist/vscode/vs/workbench/services/notification/common/notificationService.js +186 -0
  470. package/dist/vscode/vs/workbench/services/output/common/output.js +51 -0
  471. package/dist/vscode/vs/workbench/services/panecomposite/browser/panecomposite.js +3 -0
  472. package/dist/vscode/vs/workbench/services/path/browser/pathService.js +34 -0
  473. package/dist/vscode/vs/workbench/services/path/common/pathService.js +107 -0
  474. package/dist/vscode/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +35 -0
  475. package/dist/vscode/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +555 -0
  476. package/dist/vscode/vs/workbench/services/preferences/browser/preferencesService.js +547 -0
  477. package/dist/vscode/vs/workbench/services/preferences/common/preferences.js +20 -0
  478. package/dist/vscode/vs/workbench/services/preferences/common/preferencesEditorInput.js +37 -0
  479. package/dist/vscode/vs/workbench/services/preferences/common/preferencesModels.js +1031 -0
  480. package/dist/vscode/vs/workbench/services/preferences/common/preferencesValidation.js +357 -0
  481. package/dist/vscode/vs/workbench/services/progress/browser/progressIndicator.js +174 -0
  482. package/dist/vscode/vs/workbench/services/remote/common/remoteAgentService.js +3 -0
  483. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +428 -0
  484. package/dist/vscode/vs/workbench/services/search/common/search.js +158 -0
  485. package/dist/vscode/vs/workbench/services/search/common/searchHelpers.js +72 -0
  486. package/dist/vscode/vs/workbench/services/search/common/searchService.js +355 -0
  487. package/dist/vscode/vs/workbench/services/textMate/browser/arrayOperation.js +62 -0
  488. package/dist/vscode/vs/workbench/services/textMate/browser/textMateTokenizationFeature.js +3 -0
  489. package/dist/vscode/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +422 -0
  490. package/dist/vscode/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +60 -0
  491. package/dist/vscode/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +36 -0
  492. package/dist/vscode/vs/workbench/services/textMate/browser/workerHost/textMateWorkerHost.js +198 -0
  493. package/dist/vscode/vs/workbench/services/textMate/browser/workerHost/textMateWorkerTokenizerController.js +151 -0
  494. package/dist/vscode/vs/workbench/services/textMate/common/TMGrammarFactory.js +117 -0
  495. package/dist/vscode/vs/workbench/services/textMate/common/TMGrammars.js +93 -0
  496. package/dist/vscode/vs/workbench/services/textMate/common/TMScopeRegistry.js +24 -0
  497. package/dist/vscode/vs/workbench/services/textfile/browser/browserTextFileService.js +55 -0
  498. package/dist/vscode/vs/workbench/services/textfile/browser/textFileService.js +578 -0
  499. package/dist/vscode/vs/workbench/services/textfile/common/encoding.js +493 -0
  500. package/dist/vscode/vs/workbench/services/textfile/common/textEditorService.js +150 -0
  501. package/dist/vscode/vs/workbench/services/textfile/common/textFileEditorModel.js +711 -0
  502. package/dist/vscode/vs/workbench/services/textfile/common/textFileEditorModelManager.js +401 -0
  503. package/dist/vscode/vs/workbench/services/textfile/common/textFileSaveParticipant.js +54 -0
  504. package/dist/vscode/vs/workbench/services/textfile/common/textfiles.js +45 -0
  505. package/dist/vscode/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +187 -0
  506. package/dist/vscode/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +37 -0
  507. package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +353 -0
  508. package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +291 -0
  509. package/dist/vscode/vs/workbench/services/themes/browser/workbenchThemeService.js +736 -0
  510. package/dist/vscode/vs/workbench/services/themes/common/colorExtensionPoint.js +171 -0
  511. package/dist/vscode/vs/workbench/services/themes/common/colorThemeData.js +864 -0
  512. package/dist/vscode/vs/workbench/services/themes/common/colorThemeSchema.js +265 -0
  513. package/dist/vscode/vs/workbench/services/themes/common/fileIconThemeSchema.js +303 -0
  514. package/dist/vscode/vs/workbench/services/themes/common/hostColorSchemeService.js +3 -0
  515. package/dist/vscode/vs/workbench/services/themes/common/plistParser.js +439 -0
  516. package/dist/vscode/vs/workbench/services/themes/common/productIconThemeSchema.js +94 -0
  517. package/dist/vscode/vs/workbench/services/themes/common/textMateScopeMatcher.js +120 -0
  518. package/dist/vscode/vs/workbench/services/themes/common/themeCompatibility.js +66 -0
  519. package/dist/vscode/vs/workbench/services/themes/common/themeConfiguration.js +374 -0
  520. package/dist/vscode/vs/workbench/services/themes/common/themeExtensionPoints.js +258 -0
  521. package/dist/vscode/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +268 -0
  522. package/dist/vscode/vs/workbench/services/themes/common/workbenchThemeService.js +46 -0
  523. package/dist/vscode/vs/workbench/services/timer/browser/timerService.js +3 -0
  524. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorInput.js +122 -0
  525. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorModel.js +240 -0
  526. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.js +3 -0
  527. package/dist/vscode/vs/workbench/services/userData/browser/userDataInit.js +3 -0
  528. package/dist/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.js +7 -0
  529. package/dist/vscode/vs/workbench/services/userDataProfile/common/userDataProfileService.js +52 -0
  530. package/dist/vscode/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +55 -0
  531. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopy.js +2 -0
  532. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyBackup.js +3 -0
  533. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +414 -0
  534. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyFileOperationParticipant.js +39 -0
  535. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService.js +181 -0
  536. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyService.js +112 -0
  537. package/dist/vscode/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +325 -0
  538. package/dist/vscode/vs/workbench/services/workspaces/browser/workspaces.js +11 -0
  539. package/dist/vscode/vs/workbench/services/workspaces/browser/workspacesService.js +154 -0
  540. package/dist/vscode/vs/workbench/services/workspaces/common/workspaceEditing.js +3 -0
  541. package/dist/vscode-default-extensions/bat/package.json.js +2 -0
  542. package/dist/vscode-default-extensions/clojure/package.json.js +2 -0
  543. package/dist/vscode-default-extensions/coffeescript/package.json.js +2 -0
  544. package/dist/vscode-default-extensions/cpp/package.json.js +2 -0
  545. package/dist/vscode-default-extensions/csharp/package.json.js +2 -0
  546. package/dist/vscode-default-extensions/css/package.json.js +2 -0
  547. package/dist/vscode-default-extensions/dart/package.json.js +2 -0
  548. package/dist/vscode-default-extensions/diff/package.json.js +2 -0
  549. package/dist/vscode-default-extensions/docker/package.json.js +2 -0
  550. package/dist/vscode-default-extensions/fsharp/package.json.js +2 -0
  551. package/dist/vscode-default-extensions/go/package.json.js +2 -0
  552. package/dist/vscode-default-extensions/groovy/package.json.js +2 -0
  553. package/dist/vscode-default-extensions/handlebars/package.json.js +2 -0
  554. package/dist/vscode-default-extensions/hlsl/package.json.js +2 -0
  555. package/dist/vscode-default-extensions/html/package.json.js +2 -0
  556. package/dist/vscode-default-extensions/ini/package.json.js +2 -0
  557. package/dist/vscode-default-extensions/java/package.json.js +2 -0
  558. package/dist/vscode-default-extensions/javascript/package.json.js +2 -0
  559. package/dist/vscode-default-extensions/json/package.json.js +2 -0
  560. package/dist/vscode-default-extensions/julia/package.json.js +2 -0
  561. package/dist/vscode-default-extensions/latex/package.json.js +2 -0
  562. package/dist/vscode-default-extensions/less/package.json.js +2 -0
  563. package/dist/vscode-default-extensions/log/package.json.js +2 -0
  564. package/dist/vscode-default-extensions/lua/package.json.js +2 -0
  565. package/dist/vscode-default-extensions/make/package.json.js +2 -0
  566. package/dist/vscode-default-extensions/markdown-basics/package.json.js +2 -0
  567. package/dist/vscode-default-extensions/objective-c/package.json.js +2 -0
  568. package/dist/vscode-default-extensions/perl/package.json.js +2 -0
  569. package/dist/vscode-default-extensions/php/package.json.js +2 -0
  570. package/dist/vscode-default-extensions/powershell/package.json.js +2 -0
  571. package/dist/vscode-default-extensions/pug/package.json.js +2 -0
  572. package/dist/vscode-default-extensions/python/package.json.js +2 -0
  573. package/dist/vscode-default-extensions/r/package.json.js +2 -0
  574. package/dist/vscode-default-extensions/razor/package.json.js +2 -0
  575. package/dist/vscode-default-extensions/ruby/package.json.js +2 -0
  576. package/dist/vscode-default-extensions/rust/package.json.js +2 -0
  577. package/dist/vscode-default-extensions/scss/package.json.js +2 -0
  578. package/dist/vscode-default-extensions/shaderlab/package.json.js +2 -0
  579. package/dist/vscode-default-extensions/shellscript/package.json.js +2 -0
  580. package/dist/vscode-default-extensions/sql/package.json.js +2 -0
  581. package/dist/vscode-default-extensions/swift/package.json.js +2 -0
  582. package/dist/vscode-default-extensions/theme-abyss/package.json.js +2 -0
  583. package/dist/vscode-default-extensions/theme-defaults/package.json.js +2 -0
  584. package/dist/vscode-default-extensions/theme-kimbie-dark/package.json.js +2 -0
  585. package/dist/vscode-default-extensions/theme-monokai/package.json.js +2 -0
  586. package/dist/vscode-default-extensions/theme-monokai-dimmed/package.json.js +2 -0
  587. package/dist/vscode-default-extensions/theme-quietlight/package.json.js +2 -0
  588. package/dist/vscode-default-extensions/theme-red/package.json.js +2 -0
  589. package/dist/vscode-default-extensions/theme-seti/package.json.js +2 -0
  590. package/dist/vscode-default-extensions/theme-solarized-dark/package.json.js +2 -0
  591. package/dist/vscode-default-extensions/theme-solarized-light/package.json.js +2 -0
  592. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/package.json.js +2 -0
  593. package/dist/vscode-default-extensions/typescript-basics/package.json.js +2 -0
  594. package/dist/vscode-default-extensions/typescript-language-features/package.json.js +2 -0
  595. package/dist/vscode-default-extensions/vb/package.json.js +2 -0
  596. package/dist/vscode-default-extensions/xml/package.json.js +2 -0
  597. package/dist/vscode-default-extensions/yaml/package.json.js +2 -0
  598. package/dist/vscode-services/commands.js +37 -0
  599. package/dist/vscode-services/debug.js +74 -0
  600. package/dist/vscode-services/env.js +69 -0
  601. package/dist/vscode-services/extHost.js +385 -0
  602. package/dist/vscode-services/extensions.js +46 -0
  603. package/dist/vscode-services/languages.js +203 -0
  604. package/dist/vscode-services/missing-services.js +959 -0
  605. package/dist/vscode-services/window.js +189 -0
  606. package/dist/vscode-services/workspace.js +164 -0
  607. package/monaco-editor-treemending.patch +23574 -0
  608. package/monaco-treemending.js +3 -0
  609. package/package.json +55 -59
  610. package/dist/api2.js +0 -1294
  611. package/dist/audioCue.js +0 -805
  612. package/dist/button.js +0 -352
  613. package/dist/configuration.js +0 -4438
  614. package/dist/debug.js +0 -15673
  615. package/dist/dialogs.js +0 -752
  616. package/dist/dom.js +0 -101
  617. package/dist/extHost.js +0 -19602
  618. package/dist/extensions2.js +0 -77
  619. package/dist/files.js +0 -3167
  620. package/dist/keybindings.js +0 -4310
  621. package/dist/layout.contribution.darwin.js +0 -1994
  622. package/dist/layout.contribution.linux.js +0 -899
  623. package/dist/layout.contribution.win.js +0 -3551
  624. package/dist/missing-services.js +0 -34881
  625. package/dist/modelEditor.js +0 -8893
  626. package/dist/notifications.js +0 -2302
  627. package/dist/platform.js +0 -105
  628. package/dist/polyfill.js +0 -55651
  629. package/dist/preferences.js +0 -2532
  630. package/dist/textmate.js +0 -1428
  631. package/dist/theme.js +0 -4116
  632. package/dist/utils.js +0 -345
  633. package/dist/variableResolver.js +0 -586
  634. package/dist/webpack-loader.cjs +0 -18
  635. package/dist/webpack-loader.d.ts +0 -4
  636. package/dist/{iconv.js → override/iconv.js} +0 -0
  637. package/dist/{jschardet.js → override/jschardet.js} +0 -0
  638. package/dist/{audioCue.d.ts → service-override/audioCue.d.ts} +0 -0
  639. package/dist/{configuration.d.ts → service-override/configuration.d.ts} +0 -0
  640. package/dist/{debug.d.ts → service-override/debug.d.ts} +0 -0
  641. package/dist/{dialogs.d.ts → service-override/dialogs.d.ts} +0 -0
  642. package/dist/{files.d.ts → service-override/files.d.ts} +0 -0
  643. package/dist/{keybindings.d.ts → service-override/keybindings.d.ts} +0 -0
  644. package/dist/{languages.d.ts → service-override/languages.d.ts} +0 -0
  645. package/dist/{modelEditor.d.ts → service-override/modelEditor.d.ts} +0 -0
  646. package/dist/{notifications.d.ts → service-override/notifications.d.ts} +0 -0
  647. package/dist/{preferences.d.ts → service-override/preferences.d.ts} +0 -0
  648. package/dist/{snippets.d.ts → service-override/snippets.d.ts} +0 -0
  649. package/dist/{textmate.d.ts → service-override/textmate.d.ts} +0 -0
  650. package/dist/{theme.d.ts → service-override/theme.d.ts} +0 -0
  651. package/dist/{injection.js → tools/injection.js} +0 -0
  652. package/dist/{jsonErrorMessages.js → vscode/vs/base/common/jsonErrorMessages.js} +0 -0
  653. package/dist/{_.contribution.js → vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js} +0 -0
  654. package/dist/{unboundCommands.js → vscode/vs/workbench/services/keybinding/browser/unboundCommands.js} +2 -2
  655. /package/dist/{language-configuration.js → vscode-default-extensions/bat/language-configuration.json.js} +0 -0
  656. /package/dist/{batchfile.js → vscode-default-extensions/bat/snippets/batchfile.code-snippets.js} +0 -0
  657. /package/dist/{batchfile.tmLanguage.js → vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.js} +0 -0
  658. /package/dist/{language-configuration2.js → vscode-default-extensions/clojure/language-configuration.json.js} +0 -0
  659. /package/dist/{clojure.tmLanguage.js → vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.js} +0 -0
  660. /package/dist/{language-configuration3.js → vscode-default-extensions/coffeescript/language-configuration.json.js} +0 -0
  661. /package/dist/{coffeescript.js → vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.js} +0 -0
  662. /package/dist/{coffeescript.tmLanguage.js → vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.js} +0 -0
  663. /package/dist/{language-configuration4.js → vscode-default-extensions/cpp/language-configuration.json.js} +0 -0
  664. /package/dist/{c.js → vscode-default-extensions/cpp/snippets/c.code-snippets.js} +0 -0
  665. /package/dist/{cpp.js → vscode-default-extensions/cpp/snippets/cpp.code-snippets.js} +0 -0
  666. /package/dist/{c.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.js} +0 -0
  667. /package/dist/{cpp.embedded.macro.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.js} +0 -0
  668. /package/dist/{cpp.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.js} +0 -0
  669. /package/dist/{cuda-cpp.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.js} +0 -0
  670. /package/dist/{platform.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/platform.tmLanguage.json.js} +0 -0
  671. /package/dist/{language-configuration5.js → vscode-default-extensions/csharp/language-configuration.json.js} +0 -0
  672. /package/dist/{csharp.js → vscode-default-extensions/csharp/snippets/csharp.code-snippets.js} +0 -0
  673. /package/dist/{csharp.tmLanguage.js → vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.js} +0 -0
  674. /package/dist/{language-configuration6.js → vscode-default-extensions/css/language-configuration.json.js} +0 -0
  675. /package/dist/{css.tmLanguage.js → vscode-default-extensions/css/syntaxes/css.tmLanguage.json.js} +0 -0
  676. /package/dist/{language-configuration7.js → vscode-default-extensions/dart/language-configuration.json.js} +0 -0
  677. /package/dist/{dart.tmLanguage.js → vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.js} +0 -0
  678. /package/dist/{language-configuration8.js → vscode-default-extensions/diff/language-configuration.json.js} +0 -0
  679. /package/dist/{diff.tmLanguage.js → vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.js} +0 -0
  680. /package/dist/{language-configuration9.js → vscode-default-extensions/docker/language-configuration.json.js} +0 -0
  681. /package/dist/{docker.tmLanguage.js → vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.js} +0 -0
  682. /package/dist/{language-configuration10.js → vscode-default-extensions/fsharp/language-configuration.json.js} +0 -0
  683. /package/dist/{fsharp.js → vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.js} +0 -0
  684. /package/dist/{fsharp.tmLanguage.js → vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.js} +0 -0
  685. /package/dist/{language-configuration11.js → vscode-default-extensions/go/language-configuration.json.js} +0 -0
  686. /package/dist/{go.tmLanguage.js → vscode-default-extensions/go/syntaxes/go.tmLanguage.json.js} +0 -0
  687. /package/dist/{language-configuration12.js → vscode-default-extensions/groovy/language-configuration.json.js} +0 -0
  688. /package/dist/{groovy.js → vscode-default-extensions/groovy/snippets/groovy.code-snippets.js} +0 -0
  689. /package/dist/{groovy.tmLanguage.js → vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.js} +0 -0
  690. /package/dist/{language-configuration13.js → vscode-default-extensions/handlebars/language-configuration.json.js} +0 -0
  691. /package/dist/{Handlebars.tmLanguage.js → vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.js} +0 -0
  692. /package/dist/{language-configuration14.js → vscode-default-extensions/hlsl/language-configuration.json.js} +0 -0
  693. /package/dist/{hlsl.tmLanguage.js → vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.js} +0 -0
  694. /package/dist/{language-configuration15.js → vscode-default-extensions/html/language-configuration.json.js} +0 -0
  695. /package/dist/{html.js → vscode-default-extensions/html/snippets/html.code-snippets.js} +0 -0
  696. /package/dist/{html-derivative.tmLanguage.js → vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.js} +0 -0
  697. /package/dist/{html.tmLanguage.js → vscode-default-extensions/html/syntaxes/html.tmLanguage.json.js} +0 -0
  698. /package/dist/{ini.language-configuration.js → vscode-default-extensions/ini/ini.language-configuration.json.js} +0 -0
  699. /package/dist/{properties.language-configuration.js → vscode-default-extensions/ini/properties.language-configuration.json.js} +0 -0
  700. /package/dist/{ini.tmLanguage.js → vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.js} +0 -0
  701. /package/dist/{language-configuration16.js → vscode-default-extensions/java/language-configuration.json.js} +0 -0
  702. /package/dist/{java.js → vscode-default-extensions/java/snippets/java.code-snippets.js} +0 -0
  703. /package/dist/{java.tmLanguage.js → vscode-default-extensions/java/syntaxes/java.tmLanguage.json.js} +0 -0
  704. /package/dist/{javascript-language-configuration.js → vscode-default-extensions/javascript/javascript-language-configuration.json.js} +0 -0
  705. /package/dist/{javascript.js → vscode-default-extensions/javascript/snippets/javascript.code-snippets.js} +0 -0
  706. /package/dist/{JavaScript.tmLanguage.js → vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.js} +0 -0
  707. /package/dist/{JavaScriptReact.tmLanguage.js → vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.js} +0 -0
  708. /package/dist/{Regular Expressions (JavaScript).js → vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.js} +0 -0
  709. /package/dist/{tags-language-configuration.js → vscode-default-extensions/javascript/tags-language-configuration.json.js} +0 -0
  710. /package/dist/{language-configuration17.js → vscode-default-extensions/json/language-configuration.json.js} +0 -0
  711. /package/dist/{JSON.tmLanguage.js → vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.js} +0 -0
  712. /package/dist/{JSONC.tmLanguage.js → vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.js} +0 -0
  713. /package/dist/{language-configuration18.js → vscode-default-extensions/julia/language-configuration.json.js} +0 -0
  714. /package/dist/{julia.tmLanguage.js → vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.js} +0 -0
  715. /package/dist/{latex-cpp-embedded-language-configuration.js → vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.js} +0 -0
  716. /package/dist/{latex-language-configuration.js → vscode-default-extensions/latex/latex-language-configuration.json.js} +0 -0
  717. /package/dist/{markdown-latex-combined-language-configuration.js → vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.js} +0 -0
  718. /package/dist/{Bibtex.tmLanguage.js → vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.js} +0 -0
  719. /package/dist/{LaTeX.tmLanguage.js → vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.js} +0 -0
  720. /package/dist/{TeX.tmLanguage.js → vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.js} +0 -0
  721. /package/dist/{cpp-grammar-bailout.tmLanguage.js → vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.js} +0 -0
  722. /package/dist/{markdown-latex-combined.tmLanguage.js → vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.js} +0 -0
  723. /package/dist/{language-configuration19.js → vscode-default-extensions/less/language-configuration.json.js} +0 -0
  724. /package/dist/{less.tmLanguage.js → vscode-default-extensions/less/syntaxes/less.tmLanguage.json.js} +0 -0
  725. /package/dist/{log.tmLanguage.js → vscode-default-extensions/log/syntaxes/log.tmLanguage.json.js} +0 -0
  726. /package/dist/{language-configuration20.js → vscode-default-extensions/lua/language-configuration.json.js} +0 -0
  727. /package/dist/{lua.tmLanguage.js → vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.js} +0 -0
  728. /package/dist/{language-configuration21.js → vscode-default-extensions/make/language-configuration.json.js} +0 -0
  729. /package/dist/{make.tmLanguage.js → vscode-default-extensions/make/syntaxes/make.tmLanguage.json.js} +0 -0
  730. /package/dist/{language-configuration22.js → vscode-default-extensions/markdown-basics/language-configuration.json.js} +0 -0
  731. /package/dist/{markdown.js → vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.js} +0 -0
  732. /package/dist/{markdown.tmLanguage.js → vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.js} +0 -0
  733. /package/dist/{language-configuration23.js → vscode-default-extensions/objective-c/language-configuration.json.js} +0 -0
  734. /package/dist/{objective-c.tmLanguage.js → vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.js} +0 -0
  735. /package/dist/{objective-c__.tmLanguage.js → vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.js} +0 -0
  736. /package/dist/{perl.language-configuration.js → vscode-default-extensions/perl/perl.language-configuration.json.js} +0 -0
  737. /package/dist/{perl6.language-configuration.js → vscode-default-extensions/perl/perl6.language-configuration.json.js} +0 -0
  738. /package/dist/{perl.tmLanguage.js → vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.js} +0 -0
  739. /package/dist/{perl6.tmLanguage.js → vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.js} +0 -0
  740. /package/dist/{language-configuration24.js → vscode-default-extensions/php/language-configuration.json.js} +0 -0
  741. /package/dist/{php.js → vscode-default-extensions/php/snippets/php.code-snippets.js} +0 -0
  742. /package/dist/{html.tmLanguage2.js → vscode-default-extensions/php/syntaxes/html.tmLanguage.json.js} +0 -0
  743. /package/dist/{php.tmLanguage.js → vscode-default-extensions/php/syntaxes/php.tmLanguage.json.js} +0 -0
  744. /package/dist/{language-configuration25.js → vscode-default-extensions/powershell/language-configuration.json.js} +0 -0
  745. /package/dist/{powershell.tmLanguage.js → vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.js} +0 -0
  746. /package/dist/{language-configuration26.js → vscode-default-extensions/pug/language-configuration.json.js} +0 -0
  747. /package/dist/{pug.tmLanguage.js → vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.js} +0 -0
  748. /package/dist/{language-configuration27.js → vscode-default-extensions/python/language-configuration.json.js} +0 -0
  749. /package/dist/{MagicPython.tmLanguage.js → vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.js} +0 -0
  750. /package/dist/{MagicRegExp.tmLanguage.js → vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.js} +0 -0
  751. /package/dist/{language-configuration28.js → vscode-default-extensions/r/language-configuration.json.js} +0 -0
  752. /package/dist/{r.tmLanguage.js → vscode-default-extensions/r/syntaxes/r.tmLanguage.json.js} +0 -0
  753. /package/dist/{language-configuration29.js → vscode-default-extensions/razor/language-configuration.json.js} +0 -0
  754. /package/dist/{cshtml.tmLanguage.js → vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.js} +0 -0
  755. /package/dist/{language-configuration30.js → vscode-default-extensions/ruby/language-configuration.json.js} +0 -0
  756. /package/dist/{ruby.tmLanguage.js → vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.js} +0 -0
  757. /package/dist/{language-configuration31.js → vscode-default-extensions/rust/language-configuration.json.js} +0 -0
  758. /package/dist/{rust.tmLanguage.js → vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.js} +0 -0
  759. /package/dist/{language-configuration32.js → vscode-default-extensions/scss/language-configuration.json.js} +0 -0
  760. /package/dist/{sassdoc.tmLanguage.js → vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.js} +0 -0
  761. /package/dist/{scss.tmLanguage.js → vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.js} +0 -0
  762. /package/dist/{language-configuration33.js → vscode-default-extensions/shaderlab/language-configuration.json.js} +0 -0
  763. /package/dist/{shaderlab.tmLanguage.js → vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.js} +0 -0
  764. /package/dist/{language-configuration34.js → vscode-default-extensions/shellscript/language-configuration.json.js} +0 -0
  765. /package/dist/{shell-unix-bash.tmLanguage.js → vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.js} +0 -0
  766. /package/dist/{language-configuration35.js → vscode-default-extensions/sql/language-configuration.json.js} +0 -0
  767. /package/dist/{sql.tmLanguage.js → vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.js} +0 -0
  768. /package/dist/{language-configuration36.js → vscode-default-extensions/swift/language-configuration.json.js} +0 -0
  769. /package/dist/{swift.js → vscode-default-extensions/swift/snippets/swift.code-snippets.js} +0 -0
  770. /package/dist/{swift.tmLanguage.js → vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.js} +0 -0
  771. /package/dist/{abyss-color-theme.js → vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.js} +0 -0
  772. /package/dist/{vs_minimal-icon-theme.js → vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.js} +0 -0
  773. /package/dist/{dark_plus.js → vscode-default-extensions/theme-defaults/themes/dark_plus.json.js} +0 -0
  774. /package/dist/{dark_plus_experimental.js → vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.js} +0 -0
  775. /package/dist/{dark_vs.js → vscode-default-extensions/theme-defaults/themes/dark_vs.json.js} +0 -0
  776. /package/dist/{hc_black.js → vscode-default-extensions/theme-defaults/themes/hc_black.json.js} +0 -0
  777. /package/dist/{hc_light.js → vscode-default-extensions/theme-defaults/themes/hc_light.json.js} +0 -0
  778. /package/dist/{light_plus.js → vscode-default-extensions/theme-defaults/themes/light_plus.json.js} +0 -0
  779. /package/dist/{light_plus_experimental.js → vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.js} +0 -0
  780. /package/dist/{light_vs.js → vscode-default-extensions/theme-defaults/themes/light_vs.json.js} +0 -0
  781. /package/dist/{kimbie-dark-color-theme.js → vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.js} +0 -0
  782. /package/dist/{monokai-color-theme.js → vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.js} +0 -0
  783. /package/dist/{dimmed-monokai-color-theme.js → vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.js} +0 -0
  784. /package/dist/{quietlight-color-theme.js → vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.js} +0 -0
  785. /package/dist/{Red-color-theme.js → vscode-default-extensions/theme-red/themes/Red-color-theme.json.js} +0 -0
  786. /package/dist/{vs-seti-icon-theme.js → vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.js} +0 -0
  787. /package/dist/{solarized-dark-color-theme.js → vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.js} +0 -0
  788. /package/dist/{solarized-light-color-theme.js → vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.js} +0 -0
  789. /package/dist/{tomorrow-night-blue-color-theme.js → vscode-default-extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json.js} +0 -0
  790. /package/dist/{language-configuration37.js → vscode-default-extensions/typescript-basics/language-configuration.json.js} +0 -0
  791. /package/dist/{typescript.js → vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.js} +0 -0
  792. /package/dist/{TypeScript.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.js} +0 -0
  793. /package/dist/{TypeScriptReact.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.js} +0 -0
  794. /package/dist/{jsdoc.js.injection.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.js} +0 -0
  795. /package/dist/{jsdoc.ts.injection.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.js} +0 -0
  796. /package/dist/{language-configuration38.js → vscode-default-extensions/vb/language-configuration.json.js} +0 -0
  797. /package/dist/{vb.js → vscode-default-extensions/vb/snippets/vb.code-snippets.js} +0 -0
  798. /package/dist/{asp-vb-net.tmlanguage.js → vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.js} +0 -0
  799. /package/dist/{xml.tmLanguage.js → vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.js} +0 -0
  800. /package/dist/{xsl.tmLanguage.js → vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.js} +0 -0
  801. /package/dist/{xml.language-configuration.js → vscode-default-extensions/xml/xml.language-configuration.json.js} +0 -0
  802. /package/dist/{xsl.language-configuration.js → vscode-default-extensions/xml/xsl.language-configuration.json.js} +0 -0
  803. /package/dist/{language-configuration39.js → vscode-default-extensions/yaml/language-configuration.json.js} +0 -0
  804. /package/dist/{yaml.tmLanguage.js → vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.js} +0 -0
@@ -1,2532 +0,0 @@
1
- import { __decorate, EditorInput, __param, IPreferencesService, EditorModel, IExtensionService, Emitter, FOLDER_SETTINGS_PATH, validateSettingsEditorOptions, SIDE_GROUP, DEFAULT_EDITOR_ASSOCIATION, USE_SPLIT_JSON_SETTING, DEFAULT_SETTINGS_EDITOR_SETTING, TextResourceEditorInput, SideBySideEditorInput, parse$1, getErrorMessage, IEditorService, IEditorGroupsService, ITextFileService, IUserDataProfileService, IUserDataProfilesService, IJSONEditingService, IRemoteAgentService, ITextEditorService, ExtensionIdentifierMap, isEmptyObject, visit, isStringArray, SettingMatchType, Selection$2, Range$2, flatten } from './polyfill.js';
2
- import { getAllUnboundCommands } from './unboundCommands.js';
3
- import { Language } from './platform.js';
4
- import { or, matchesPrefix, matchesWords, matchesContiguousSubString, matchesCamelCase } from 'monaco-editor/esm/vs/base/common/filters.js';
5
- import { UILabelProvider, AriaLabelProvider, UserSettingsLabelProvider } from 'monaco-editor/esm/vs/base/common/keybindingLabels.js';
6
- import { isString, isObject, isUndefinedOrNull, withNullAsUndefined } from 'monaco-editor/esm/vs/base/common/types.js';
7
- import { ExtensionIdentifier } from 'monaco-editor/esm/vs/platform/extensions/common/extensions.js';
8
- import { coalesce, distinct, tail } from 'monaco-editor/esm/vs/base/common/arrays.js';
9
- import { ResolvedKeybindingItem } from 'monaco-editor/esm/vs/platform/keybinding/common/resolvedKeybindingItem.js';
10
- import { MenuRegistry } from 'monaco-editor/esm/vs/platform/actions/common/actions.js';
11
- import { localize } from 'monaco-editor/esm/vs/nls.js';
12
- import { IKeybindingService } from 'monaco-editor/esm/vs/platform/keybinding/common/keybinding.js';
13
- import { compareIgnoreCase, equalsIgnoreCase } from 'monaco-editor/esm/vs/base/common/strings.js';
14
- import { OS } from 'monaco-editor/esm/vs/base/common/platform.js';
15
- import { IInstantiationService } from 'monaco-editor/esm/vs/platform/instantiation/common/instantiation.js';
16
- import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
17
- import { Schemas } from 'monaco-editor/esm/vs/base/common/network.js';
18
- import { FOLDER_SCOPES, WORKSPACE_SCOPES } from './configuration2.js';
19
- import { Color } from 'monaco-editor/esm/vs/base/common/color.js';
20
- import { Registry } from 'monaco-editor/esm/vs/platform/registry/common/platform.js';
21
- import { Extensions, OVERRIDE_PROPERTY_REGEX, getDefaultValue } from 'monaco-editor/esm/vs/platform/configuration/common/configurationRegistry.js';
22
- import { IConfigurationService } from 'monaco-editor/esm/vs/platform/configuration/common/configuration.js';
23
- import { Disposable } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
24
- import { getCodeEditor } from 'monaco-editor/esm/vs/editor/browser/editorBrowser.js';
25
- import { SuggestController } from 'monaco-editor/esm/vs/editor/contrib/suggest/browser/suggestController.js';
26
- import { CoreEditingCommands } from 'monaco-editor/esm/vs/editor/browser/coreCommands.js';
27
- import { INotificationService } from 'monaco-editor/esm/vs/platform/notification/common/notification.js';
28
- import { IWorkspaceContextService } from 'monaco-editor/esm/vs/platform/workspace/common/workspace.js';
29
- import { ITextModelService } from 'monaco-editor/esm/vs/editor/common/services/resolverService.js';
30
- import { IModelService } from 'monaco-editor/esm/vs/editor/common/services/model.js';
31
- import { ILanguageService } from 'monaco-editor/esm/vs/editor/common/languages/language.js';
32
- import { ILabelService } from 'monaco-editor/esm/vs/platform/label/common/label.js';
33
- import { SyncDescriptor } from 'monaco-editor/esm/vs/platform/instantiation/common/descriptors.js';
34
- const KEYBINDING_ENTRY_TEMPLATE_ID = 'keybinding.entry.template';
35
- const SOURCE_SYSTEM = ( (localize('default', "System")));
36
- const SOURCE_EXTENSION = ( (localize('extension', "Extension")));
37
- const SOURCE_USER = ( (localize('user', "User")));
38
- const wordFilter = or(matchesPrefix, matchesWords, matchesContiguousSubString);
39
- const SOURCE_REGEX = /@source:\s*(user|default|system|extension)/i;
40
- const EXTENSION_REGEX = /@ext:\s*((".+")|([^\s]+))/i;
41
- let KeybindingsEditorModel = class KeybindingsEditorModel extends EditorModel {
42
- constructor(os, keybindingsService, extensionService) {
43
- super();
44
- this.keybindingsService = keybindingsService;
45
- this.extensionService = extensionService;
46
- this._keybindingItems = [];
47
- this._keybindingItemsSortedByPrecedence = [];
48
- this.modifierLabels = {
49
- ui: UILabelProvider.modifierLabels[os],
50
- aria: AriaLabelProvider.modifierLabels[os],
51
- user: UserSettingsLabelProvider.modifierLabels[os]
52
- };
53
- }
54
- fetch(searchValue, sortByPrecedence = false) {
55
- let keybindingItems = sortByPrecedence ? this._keybindingItemsSortedByPrecedence : this._keybindingItems;
56
- const commandIdMatches = /@command:\s*(.+)/i.exec(searchValue);
57
- if (commandIdMatches && commandIdMatches[1]) {
58
- return (
59
- (keybindingItems.filter(k => k.command === commandIdMatches[1])
60
- .map(
61
- keybindingItem => ({ id: KeybindingsEditorModel.getId(keybindingItem), keybindingItem, templateId: KEYBINDING_ENTRY_TEMPLATE_ID })
62
- ))
63
- );
64
- }
65
- if (SOURCE_REGEX.test(searchValue)) {
66
- keybindingItems = this.filterBySource(keybindingItems, searchValue);
67
- searchValue = searchValue.replace(SOURCE_REGEX, '');
68
- }
69
- else {
70
- const extensionMatches = EXTENSION_REGEX.exec(searchValue);
71
- if (extensionMatches && (extensionMatches[2] || extensionMatches[3])) {
72
- const extensionId = extensionMatches[2] ? extensionMatches[2].substring(1, extensionMatches[2].length - 1) : extensionMatches[3];
73
- keybindingItems = this.filterByExtension(keybindingItems, extensionId);
74
- searchValue = searchValue.replace(EXTENSION_REGEX, '');
75
- }
76
- else {
77
- const keybindingMatches = /@keybinding:\s*((\".+\")|(\S+))/i.exec(searchValue);
78
- if (keybindingMatches && (keybindingMatches[2] || keybindingMatches[3])) {
79
- searchValue = keybindingMatches[2] || `"${keybindingMatches[3]}"`;
80
- }
81
- }
82
- }
83
- searchValue = searchValue.trim();
84
- if (!searchValue) {
85
- return (
86
- (keybindingItems.map(
87
- keybindingItem => ({ id: KeybindingsEditorModel.getId(keybindingItem), keybindingItem, templateId: KEYBINDING_ENTRY_TEMPLATE_ID })
88
- ))
89
- );
90
- }
91
- return this.filterByText(keybindingItems, searchValue);
92
- }
93
- filterBySource(keybindingItems, searchValue) {
94
- if (/@source:\s*default/i.test(searchValue) || /@source:\s*system/i.test(searchValue)) {
95
- return keybindingItems.filter(k => k.source === SOURCE_SYSTEM);
96
- }
97
- if (/@source:\s*user/i.test(searchValue)) {
98
- return keybindingItems.filter(k => k.source === SOURCE_USER);
99
- }
100
- if (/@source:\s*extension/i.test(searchValue)) {
101
- return keybindingItems.filter(k => !isString(k.source) || k.source === SOURCE_EXTENSION);
102
- }
103
- return keybindingItems;
104
- }
105
- filterByExtension(keybindingItems, extension) {
106
- extension = extension.toLowerCase().trim();
107
- return keybindingItems.filter(k => !isString(k.source) && (ExtensionIdentifier.equals(k.source.identifier, extension) || k.source.displayName?.toLowerCase() === extension.toLowerCase()));
108
- }
109
- filterByText(keybindingItems, searchValue) {
110
- const quoteAtFirstChar = searchValue.charAt(0) === '"';
111
- const quoteAtLastChar = searchValue.charAt(searchValue.length - 1) === '"';
112
- const completeMatch = quoteAtFirstChar && quoteAtLastChar;
113
- if (quoteAtFirstChar) {
114
- searchValue = searchValue.substring(1);
115
- }
116
- if (quoteAtLastChar) {
117
- searchValue = searchValue.substring(0, searchValue.length - 1);
118
- }
119
- searchValue = searchValue.trim();
120
- const result = [];
121
- const words = searchValue.split(' ');
122
- const keybindingWords = this.splitKeybindingWords(words);
123
- for (const keybindingItem of keybindingItems) {
124
- const keybindingMatches = ( (new KeybindingItemMatches(
125
- this.modifierLabels,
126
- keybindingItem,
127
- searchValue,
128
- words,
129
- keybindingWords,
130
- completeMatch
131
- )));
132
- if (keybindingMatches.commandIdMatches
133
- || keybindingMatches.commandLabelMatches
134
- || keybindingMatches.commandDefaultLabelMatches
135
- || keybindingMatches.sourceMatches
136
- || keybindingMatches.whenMatches
137
- || keybindingMatches.keybindingMatches
138
- || keybindingMatches.extensionIdMatches
139
- || keybindingMatches.extensionLabelMatches) {
140
- result.push({
141
- id: KeybindingsEditorModel.getId(keybindingItem),
142
- templateId: KEYBINDING_ENTRY_TEMPLATE_ID,
143
- commandLabelMatches: keybindingMatches.commandLabelMatches || undefined,
144
- commandDefaultLabelMatches: keybindingMatches.commandDefaultLabelMatches || undefined,
145
- keybindingItem,
146
- keybindingMatches: keybindingMatches.keybindingMatches || undefined,
147
- commandIdMatches: keybindingMatches.commandIdMatches || undefined,
148
- sourceMatches: keybindingMatches.sourceMatches || undefined,
149
- whenMatches: keybindingMatches.whenMatches || undefined,
150
- extensionIdMatches: keybindingMatches.extensionIdMatches || undefined,
151
- extensionLabelMatches: keybindingMatches.extensionLabelMatches || undefined
152
- });
153
- }
154
- }
155
- return result;
156
- }
157
- splitKeybindingWords(wordsSeparatedBySpaces) {
158
- const result = [];
159
- for (const word of wordsSeparatedBySpaces) {
160
- result.push(...coalesce(word.split('+')));
161
- }
162
- return result;
163
- }
164
- async resolve(actionLabels = ( (new Map()))) {
165
- const extensions = ( (new ExtensionIdentifierMap()));
166
- for (const extension of this.extensionService.extensions) {
167
- extensions.set(extension.identifier, extension);
168
- }
169
- this._keybindingItemsSortedByPrecedence = [];
170
- const boundCommands = ( (new Map()));
171
- for (const keybinding of this.keybindingsService.getKeybindings()) {
172
- if (keybinding.command) {
173
- this._keybindingItemsSortedByPrecedence.push(KeybindingsEditorModel.toKeybindingEntry(keybinding.command, keybinding, actionLabels, extensions));
174
- boundCommands.set(keybinding.command, true);
175
- }
176
- }
177
- const commandsWithDefaultKeybindings = ( (this.keybindingsService.getDefaultKeybindings().map(keybinding => keybinding.command)));
178
- for (const command of getAllUnboundCommands(boundCommands)) {
179
- const keybindingItem = ( (new ResolvedKeybindingItem(
180
- undefined,
181
- command,
182
- null,
183
- undefined,
184
- commandsWithDefaultKeybindings.indexOf(command) === -1,
185
- null,
186
- false
187
- )));
188
- this._keybindingItemsSortedByPrecedence.push(KeybindingsEditorModel.toKeybindingEntry(command, keybindingItem, actionLabels, extensions));
189
- }
190
- this._keybindingItemsSortedByPrecedence = distinct(this._keybindingItemsSortedByPrecedence, keybindingItem => KeybindingsEditorModel.getId(keybindingItem));
191
- this._keybindingItems = this._keybindingItemsSortedByPrecedence.slice(0).sort((a, b) => KeybindingsEditorModel.compareKeybindingData(a, b));
192
- return super.resolve();
193
- }
194
- static getId(keybindingItem) {
195
- return keybindingItem.command + (keybindingItem?.keybinding?.getAriaLabel() ?? '') + keybindingItem.when + (isString(keybindingItem.source) ? keybindingItem.source : keybindingItem.source.identifier.value);
196
- }
197
- static compareKeybindingData(a, b) {
198
- if (a.keybinding && !b.keybinding) {
199
- return -1;
200
- }
201
- if (b.keybinding && !a.keybinding) {
202
- return 1;
203
- }
204
- if (a.commandLabel && !b.commandLabel) {
205
- return -1;
206
- }
207
- if (b.commandLabel && !a.commandLabel) {
208
- return 1;
209
- }
210
- if (a.commandLabel && b.commandLabel) {
211
- if (a.commandLabel !== b.commandLabel) {
212
- return a.commandLabel.localeCompare(b.commandLabel);
213
- }
214
- }
215
- if (a.command === b.command) {
216
- return a.keybindingItem.isDefault ? 1 : -1;
217
- }
218
- return a.command.localeCompare(b.command);
219
- }
220
- static toKeybindingEntry(command, keybindingItem, actions, extensions) {
221
- const menuCommand = MenuRegistry.getCommand(command);
222
- const editorActionLabel = actions.get(command);
223
- let source = SOURCE_USER;
224
- if (keybindingItem.isDefault) {
225
- const extensionId = keybindingItem.extensionId ?? (keybindingItem.resolvedKeybinding ? undefined : menuCommand?.source?.id);
226
- source = extensionId ? extensions.get(extensionId) ?? SOURCE_EXTENSION : SOURCE_SYSTEM;
227
- }
228
- return {
229
- keybinding: keybindingItem.resolvedKeybinding,
230
- keybindingItem,
231
- command,
232
- commandLabel: KeybindingsEditorModel.getCommandLabel(menuCommand, editorActionLabel),
233
- commandDefaultLabel: KeybindingsEditorModel.getCommandDefaultLabel(menuCommand),
234
- when: keybindingItem.when ? keybindingItem.when.serialize() : '',
235
- source
236
- };
237
- }
238
- static getCommandDefaultLabel(menuCommand) {
239
- if (!Language.isDefaultVariant()) {
240
- if (menuCommand && menuCommand.title && menuCommand.title.original) {
241
- const category = menuCommand.category ? menuCommand.category.original : undefined;
242
- const title = menuCommand.title.original;
243
- return category ? ( (localize('cat.title', "{0}: {1}", category, title))) : title;
244
- }
245
- }
246
- return null;
247
- }
248
- static getCommandLabel(menuCommand, editorActionLabel) {
249
- if (menuCommand) {
250
- const category = menuCommand.category ? typeof menuCommand.category === 'string' ? menuCommand.category : menuCommand.category.value : undefined;
251
- const title = typeof menuCommand.title === 'string' ? menuCommand.title : menuCommand.title.value;
252
- return category ? ( (localize('cat.title', "{0}: {1}", category, title))) : title;
253
- }
254
- if (editorActionLabel) {
255
- return editorActionLabel;
256
- }
257
- return '';
258
- }
259
- };
260
- KeybindingsEditorModel = ( (__decorate([
261
- ( (__param(1, IKeybindingService))),
262
- ( (__param(2, IExtensionService)))
263
- ], KeybindingsEditorModel)));
264
- class KeybindingItemMatches {
265
- constructor(modifierLabels, keybindingItem, searchValue, words, keybindingWords, completeMatch) {
266
- this.modifierLabels = modifierLabels;
267
- this.commandIdMatches = null;
268
- this.commandLabelMatches = null;
269
- this.commandDefaultLabelMatches = null;
270
- this.sourceMatches = null;
271
- this.whenMatches = null;
272
- this.keybindingMatches = null;
273
- this.extensionIdMatches = null;
274
- this.extensionLabelMatches = null;
275
- if (!completeMatch) {
276
- this.commandIdMatches = this.matches(searchValue, keybindingItem.command, or(matchesWords, matchesCamelCase), words);
277
- this.commandLabelMatches = keybindingItem.commandLabel ? this.matches(searchValue, keybindingItem.commandLabel, (word, wordToMatchAgainst) => matchesWords(word, keybindingItem.commandLabel, true), words) : null;
278
- this.commandDefaultLabelMatches = keybindingItem.commandDefaultLabel ? this.matches(searchValue, keybindingItem.commandDefaultLabel, (word, wordToMatchAgainst) => matchesWords(word, keybindingItem.commandDefaultLabel, true), words) : null;
279
- this.whenMatches = keybindingItem.when ? this.matches(null, keybindingItem.when, or(matchesWords, matchesCamelCase), words) : null;
280
- if (isString(keybindingItem.source)) {
281
- this.sourceMatches = this.matches(searchValue, keybindingItem.source, (word, wordToMatchAgainst) => matchesWords(word, keybindingItem.source, true), words);
282
- }
283
- else {
284
- this.extensionLabelMatches = keybindingItem.source.displayName ? this.matches(searchValue, keybindingItem.source.displayName, (word, wordToMatchAgainst) => matchesWords(word, keybindingItem.commandLabel, true), words) : null;
285
- }
286
- }
287
- this.keybindingMatches = keybindingItem.keybinding ? this.matchesKeybinding(keybindingItem.keybinding, searchValue, keybindingWords, completeMatch) : null;
288
- }
289
- matches(searchValue, wordToMatchAgainst, wordMatchesFilter, words) {
290
- let matches = searchValue ? wordFilter(searchValue, wordToMatchAgainst) : null;
291
- if (!matches) {
292
- matches = this.matchesWords(words, wordToMatchAgainst, wordMatchesFilter);
293
- }
294
- if (matches) {
295
- matches = this.filterAndSort(matches);
296
- }
297
- return matches;
298
- }
299
- matchesWords(words, wordToMatchAgainst, wordMatchesFilter) {
300
- let matches = [];
301
- for (const word of words) {
302
- const wordMatches = wordMatchesFilter(word, wordToMatchAgainst);
303
- if (wordMatches) {
304
- matches = [...(matches || []), ...wordMatches];
305
- }
306
- else {
307
- matches = null;
308
- break;
309
- }
310
- }
311
- return matches;
312
- }
313
- filterAndSort(matches) {
314
- return distinct(matches, (a => a.start + '.' + a.end)).filter(match => !matches.some(m => !(m.start === match.start && m.end === match.end) && (m.start <= match.start && m.end >= match.end))).sort((a, b) => a.start - b.start);
315
- }
316
- matchesKeybinding(keybinding, searchValue, words, completeMatch) {
317
- const [firstPart, chordPart] = keybinding.getChords();
318
- const userSettingsLabel = keybinding.getUserSettingsLabel();
319
- const ariaLabel = keybinding.getAriaLabel();
320
- const label = keybinding.getLabel();
321
- if ((userSettingsLabel && compareIgnoreCase(searchValue, userSettingsLabel) === 0)
322
- || (ariaLabel && compareIgnoreCase(searchValue, ariaLabel) === 0)
323
- || (label && compareIgnoreCase(searchValue, label) === 0)) {
324
- return {
325
- firstPart: this.createCompleteMatch(firstPart),
326
- chordPart: this.createCompleteMatch(chordPart)
327
- };
328
- }
329
- const firstPartMatch = {};
330
- let chordPartMatch = {};
331
- const matchedWords = [];
332
- const firstPartMatchedWords = [];
333
- let chordPartMatchedWords = [];
334
- let matchFirstPart = true;
335
- for (let index = 0; index < words.length; index++) {
336
- const word = words[index];
337
- let firstPartMatched = false;
338
- let chordPartMatched = false;
339
- matchFirstPart = matchFirstPart && !firstPartMatch.keyCode;
340
- let matchChordPart = !chordPartMatch.keyCode;
341
- if (matchFirstPart) {
342
- firstPartMatched = this.matchPart(firstPart, firstPartMatch, word, completeMatch);
343
- if (firstPartMatch.keyCode) {
344
- for (const cordPartMatchedWordIndex of chordPartMatchedWords) {
345
- if (firstPartMatchedWords.indexOf(cordPartMatchedWordIndex) === -1) {
346
- matchedWords.splice(matchedWords.indexOf(cordPartMatchedWordIndex), 1);
347
- }
348
- }
349
- chordPartMatch = {};
350
- chordPartMatchedWords = [];
351
- matchChordPart = false;
352
- }
353
- }
354
- if (matchChordPart) {
355
- chordPartMatched = this.matchPart(chordPart, chordPartMatch, word, completeMatch);
356
- }
357
- if (firstPartMatched) {
358
- firstPartMatchedWords.push(index);
359
- }
360
- if (chordPartMatched) {
361
- chordPartMatchedWords.push(index);
362
- }
363
- if (firstPartMatched || chordPartMatched) {
364
- matchedWords.push(index);
365
- }
366
- matchFirstPart = matchFirstPart && this.isModifier(word);
367
- }
368
- if (matchedWords.length !== words.length) {
369
- return null;
370
- }
371
- if (completeMatch) {
372
- if (!this.isCompleteMatch(firstPart, firstPartMatch)) {
373
- return null;
374
- }
375
- if (!isEmptyObject(chordPartMatch) && !this.isCompleteMatch(chordPart, chordPartMatch)) {
376
- return null;
377
- }
378
- }
379
- return this.hasAnyMatch(firstPartMatch) || this.hasAnyMatch(chordPartMatch) ? { firstPart: firstPartMatch, chordPart: chordPartMatch } : null;
380
- }
381
- matchPart(chord, match, word, completeMatch) {
382
- let matched = false;
383
- if (this.matchesMetaModifier(chord, word)) {
384
- matched = true;
385
- match.metaKey = true;
386
- }
387
- if (this.matchesCtrlModifier(chord, word)) {
388
- matched = true;
389
- match.ctrlKey = true;
390
- }
391
- if (this.matchesShiftModifier(chord, word)) {
392
- matched = true;
393
- match.shiftKey = true;
394
- }
395
- if (this.matchesAltModifier(chord, word)) {
396
- matched = true;
397
- match.altKey = true;
398
- }
399
- if (this.matchesKeyCode(chord, word, completeMatch)) {
400
- match.keyCode = true;
401
- matched = true;
402
- }
403
- return matched;
404
- }
405
- matchesKeyCode(chord, word, completeMatch) {
406
- if (!chord) {
407
- return false;
408
- }
409
- const ariaLabel = chord.keyAriaLabel || '';
410
- if (completeMatch || ariaLabel.length === 1 || word.length === 1) {
411
- if (compareIgnoreCase(ariaLabel, word) === 0) {
412
- return true;
413
- }
414
- }
415
- else {
416
- if (matchesContiguousSubString(word, ariaLabel)) {
417
- return true;
418
- }
419
- }
420
- return false;
421
- }
422
- matchesMetaModifier(chord, word) {
423
- if (!chord) {
424
- return false;
425
- }
426
- if (!chord.metaKey) {
427
- return false;
428
- }
429
- return this.wordMatchesMetaModifier(word);
430
- }
431
- matchesCtrlModifier(chord, word) {
432
- if (!chord) {
433
- return false;
434
- }
435
- if (!chord.ctrlKey) {
436
- return false;
437
- }
438
- return this.wordMatchesCtrlModifier(word);
439
- }
440
- matchesShiftModifier(chord, word) {
441
- if (!chord) {
442
- return false;
443
- }
444
- if (!chord.shiftKey) {
445
- return false;
446
- }
447
- return this.wordMatchesShiftModifier(word);
448
- }
449
- matchesAltModifier(chord, word) {
450
- if (!chord) {
451
- return false;
452
- }
453
- if (!chord.altKey) {
454
- return false;
455
- }
456
- return this.wordMatchesAltModifier(word);
457
- }
458
- hasAnyMatch(keybindingMatch) {
459
- return !!keybindingMatch.altKey ||
460
- !!keybindingMatch.ctrlKey ||
461
- !!keybindingMatch.metaKey ||
462
- !!keybindingMatch.shiftKey ||
463
- !!keybindingMatch.keyCode;
464
- }
465
- isCompleteMatch(chord, match) {
466
- if (!chord) {
467
- return true;
468
- }
469
- if (!match.keyCode) {
470
- return false;
471
- }
472
- if (chord.metaKey && !match.metaKey) {
473
- return false;
474
- }
475
- if (chord.altKey && !match.altKey) {
476
- return false;
477
- }
478
- if (chord.ctrlKey && !match.ctrlKey) {
479
- return false;
480
- }
481
- if (chord.shiftKey && !match.shiftKey) {
482
- return false;
483
- }
484
- return true;
485
- }
486
- createCompleteMatch(chord) {
487
- const match = {};
488
- if (chord) {
489
- match.keyCode = true;
490
- if (chord.metaKey) {
491
- match.metaKey = true;
492
- }
493
- if (chord.altKey) {
494
- match.altKey = true;
495
- }
496
- if (chord.ctrlKey) {
497
- match.ctrlKey = true;
498
- }
499
- if (chord.shiftKey) {
500
- match.shiftKey = true;
501
- }
502
- }
503
- return match;
504
- }
505
- isModifier(word) {
506
- if (this.wordMatchesAltModifier(word)) {
507
- return true;
508
- }
509
- if (this.wordMatchesCtrlModifier(word)) {
510
- return true;
511
- }
512
- if (this.wordMatchesMetaModifier(word)) {
513
- return true;
514
- }
515
- if (this.wordMatchesShiftModifier(word)) {
516
- return true;
517
- }
518
- return false;
519
- }
520
- wordMatchesAltModifier(word) {
521
- if (equalsIgnoreCase(this.modifierLabels.ui.altKey, word)) {
522
- return true;
523
- }
524
- if (equalsIgnoreCase(this.modifierLabels.aria.altKey, word)) {
525
- return true;
526
- }
527
- if (equalsIgnoreCase(this.modifierLabels.user.altKey, word)) {
528
- return true;
529
- }
530
- if (equalsIgnoreCase(( (localize('option', "option"))), word)) {
531
- return true;
532
- }
533
- return false;
534
- }
535
- wordMatchesCtrlModifier(word) {
536
- if (equalsIgnoreCase(this.modifierLabels.ui.ctrlKey, word)) {
537
- return true;
538
- }
539
- if (equalsIgnoreCase(this.modifierLabels.aria.ctrlKey, word)) {
540
- return true;
541
- }
542
- if (equalsIgnoreCase(this.modifierLabels.user.ctrlKey, word)) {
543
- return true;
544
- }
545
- return false;
546
- }
547
- wordMatchesMetaModifier(word) {
548
- if (equalsIgnoreCase(this.modifierLabels.ui.metaKey, word)) {
549
- return true;
550
- }
551
- if (equalsIgnoreCase(this.modifierLabels.aria.metaKey, word)) {
552
- return true;
553
- }
554
- if (equalsIgnoreCase(this.modifierLabels.user.metaKey, word)) {
555
- return true;
556
- }
557
- if (equalsIgnoreCase(( (localize('meta', "meta"))), word)) {
558
- return true;
559
- }
560
- return false;
561
- }
562
- wordMatchesShiftModifier(word) {
563
- if (equalsIgnoreCase(this.modifierLabels.ui.shiftKey, word)) {
564
- return true;
565
- }
566
- if (equalsIgnoreCase(this.modifierLabels.aria.shiftKey, word)) {
567
- return true;
568
- }
569
- if (equalsIgnoreCase(this.modifierLabels.user.shiftKey, word)) {
570
- return true;
571
- }
572
- return false;
573
- }
574
- }
575
- let KeybindingsEditorInput = class KeybindingsEditorInput extends EditorInput {
576
- constructor(instantiationService) {
577
- super();
578
- this.searchOptions = null;
579
- this.resource = undefined;
580
- this.keybindingsModel = instantiationService.createInstance(KeybindingsEditorModel, OS);
581
- }
582
- get typeId() {
583
- return KeybindingsEditorInput.ID;
584
- }
585
- getName() {
586
- return (
587
- (localize('keybindingsInputName', "Keyboard Shortcuts"))
588
- );
589
- }
590
- async resolve() {
591
- return this.keybindingsModel;
592
- }
593
- matches(otherInput) {
594
- return otherInput instanceof KeybindingsEditorInput;
595
- }
596
- dispose() {
597
- this.keybindingsModel.dispose();
598
- super.dispose();
599
- }
600
- };
601
- KeybindingsEditorInput.ID = 'workbench.input.keybindings';
602
- KeybindingsEditorInput = ( (__decorate([
603
- ( (__param(0, IInstantiationService)))
604
- ], KeybindingsEditorInput)));
605
- let SettingsEditor2Input = class SettingsEditor2Input extends EditorInput {
606
- constructor(_preferencesService) {
607
- super();
608
- this.resource = ( (URI.from({
609
- scheme: Schemas.vscodeSettings,
610
- path: `settingseditor`
611
- })));
612
- this._settingsModel = _preferencesService.createSettings2EditorModel();
613
- }
614
- matches(otherInput) {
615
- return super.matches(otherInput) || otherInput instanceof SettingsEditor2Input;
616
- }
617
- get typeId() {
618
- return SettingsEditor2Input.ID;
619
- }
620
- getName() {
621
- return (
622
- (localize('settingsEditor2InputName', "Settings"))
623
- );
624
- }
625
- async resolve() {
626
- return this._settingsModel;
627
- }
628
- dispose() {
629
- this._settingsModel.dispose();
630
- super.dispose();
631
- }
632
- };
633
- SettingsEditor2Input.ID = 'workbench.input.settings2';
634
- SettingsEditor2Input = ( (__decorate([
635
- ( (__param(0, IPreferencesService)))
636
- ], SettingsEditor2Input)));
637
- function canBeType(propTypes, ...types) {
638
- return types.some(t => propTypes.includes(t));
639
- }
640
- function isNullOrEmpty(value) {
641
- return value === '' || isUndefinedOrNull(value);
642
- }
643
- function createValidator(prop) {
644
- const type = Array.isArray(prop.type) ? prop.type : [prop.type];
645
- const isNullable = canBeType(type, 'null');
646
- const isNumeric = (canBeType(type, 'number') || canBeType(type, 'integer')) && (type.length === 1 || type.length === 2 && isNullable);
647
- const numericValidations = getNumericValidators(prop);
648
- const stringValidations = getStringValidators(prop);
649
- const arrayValidator = getArrayValidator(prop);
650
- const objectValidator = getObjectValidator(prop);
651
- return value => {
652
- if (isNullable && isNullOrEmpty(value)) {
653
- return '';
654
- }
655
- const errors = [];
656
- if (arrayValidator) {
657
- const err = arrayValidator(value);
658
- if (err) {
659
- errors.push(err);
660
- }
661
- }
662
- if (objectValidator) {
663
- const err = objectValidator(value);
664
- if (err) {
665
- errors.push(err);
666
- }
667
- }
668
- if (prop.type === 'boolean' && value !== true && value !== false) {
669
- errors.push(( (localize('validations.booleanIncorrectType', 'Incorrect type. Expected "boolean".'))));
670
- }
671
- if (isNumeric) {
672
- if (isNullOrEmpty(value) || typeof value === 'boolean' || Array.isArray(value) || isNaN(+value)) {
673
- errors.push(( (localize('validations.expectedNumeric', "Value must be a number."))));
674
- }
675
- else {
676
- errors.push(...( (numericValidations.filter(validator => !validator.isValid(+value)).map(validator => validator.message))));
677
- }
678
- }
679
- if (prop.type === 'string') {
680
- if (prop.enum && !isStringArray(prop.enum)) {
681
- errors.push(( (localize(
682
- 'validations.stringIncorrectEnumOptions',
683
- 'The enum options should be strings, but there is a non-string option. Please file an issue with the extension author.'
684
- ))));
685
- }
686
- else if (!isString(value)) {
687
- errors.push(( (localize('validations.stringIncorrectType', 'Incorrect type. Expected "string".'))));
688
- }
689
- else {
690
- errors.push(...( (stringValidations.filter(validator => !validator.isValid(value)).map(validator => validator.message))));
691
- }
692
- }
693
- if (errors.length) {
694
- return prop.errorMessage ? [prop.errorMessage, ...errors].join(' ') : errors.join(' ');
695
- }
696
- return '';
697
- };
698
- }
699
- function getStringValidators(prop) {
700
- const uriRegex = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
701
- let patternRegex;
702
- if (typeof prop.pattern === 'string') {
703
- patternRegex = ( (new RegExp(prop.pattern)));
704
- }
705
- return [
706
- {
707
- enabled: prop.maxLength !== undefined,
708
- isValid: ((value) => value.length <= prop.maxLength),
709
- message: ( (localize(
710
- 'validations.maxLength',
711
- "Value must be {0} or fewer characters long.",
712
- prop.maxLength
713
- )))
714
- },
715
- {
716
- enabled: prop.minLength !== undefined,
717
- isValid: ((value) => value.length >= prop.minLength),
718
- message: ( (localize(
719
- 'validations.minLength',
720
- "Value must be {0} or more characters long.",
721
- prop.minLength
722
- )))
723
- },
724
- {
725
- enabled: patternRegex !== undefined,
726
- isValid: ((value) => patternRegex.test(value)),
727
- message: prop.patternErrorMessage || ( (localize('validations.regex', "Value must match regex `{0}`.", prop.pattern)))
728
- },
729
- {
730
- enabled: prop.format === 'color-hex',
731
- isValid: ((value) => Color.Format.CSS.parseHex(value)),
732
- message: ( (localize(
733
- 'validations.colorFormat',
734
- "Invalid color format. Use #RGB, #RGBA, #RRGGBB or #RRGGBBAA."
735
- )))
736
- },
737
- {
738
- enabled: prop.format === 'uri' || prop.format === 'uri-reference',
739
- isValid: ((value) => !!value.length),
740
- message: ( (localize('validations.uriEmpty', "URI expected.")))
741
- },
742
- {
743
- enabled: prop.format === 'uri' || prop.format === 'uri-reference',
744
- isValid: ((value) => uriRegex.test(value)),
745
- message: ( (localize('validations.uriMissing', "URI is expected.")))
746
- },
747
- {
748
- enabled: prop.format === 'uri',
749
- isValid: ((value) => {
750
- const matches = value.match(uriRegex);
751
- return !!(matches && matches[2]);
752
- }),
753
- message: ( (localize('validations.uriSchemeMissing', "URI with a scheme is expected.")))
754
- },
755
- {
756
- enabled: prop.enum !== undefined,
757
- isValid: ((value) => {
758
- return prop.enum.includes(value);
759
- }),
760
- message: ( (localize(
761
- 'validations.invalidStringEnumValue',
762
- "Value is not accepted. Valid values: {0}.",
763
- prop.enum ? ( (prop.enum.map(key => `"${key}"`))).join(', ') : '[]'
764
- )))
765
- }
766
- ].filter(validation => validation.enabled);
767
- }
768
- function getNumericValidators(prop) {
769
- const type = Array.isArray(prop.type) ? prop.type : [prop.type];
770
- const isNullable = canBeType(type, 'null');
771
- const isIntegral = (canBeType(type, 'integer')) && (type.length === 1 || type.length === 2 && isNullable);
772
- const isNumeric = canBeType(type, 'number', 'integer') && (type.length === 1 || type.length === 2 && isNullable);
773
- if (!isNumeric) {
774
- return [];
775
- }
776
- let exclusiveMax;
777
- let exclusiveMin;
778
- if (typeof prop.exclusiveMaximum === 'boolean') {
779
- exclusiveMax = prop.exclusiveMaximum ? prop.maximum : undefined;
780
- }
781
- else {
782
- exclusiveMax = prop.exclusiveMaximum;
783
- }
784
- if (typeof prop.exclusiveMinimum === 'boolean') {
785
- exclusiveMin = prop.exclusiveMinimum ? prop.minimum : undefined;
786
- }
787
- else {
788
- exclusiveMin = prop.exclusiveMinimum;
789
- }
790
- return [
791
- {
792
- enabled: exclusiveMax !== undefined && (prop.maximum === undefined || exclusiveMax <= prop.maximum),
793
- isValid: ((value) => value < exclusiveMax),
794
- message: ( (localize(
795
- 'validations.exclusiveMax',
796
- "Value must be strictly less than {0}.",
797
- exclusiveMax
798
- )))
799
- },
800
- {
801
- enabled: exclusiveMin !== undefined && (prop.minimum === undefined || exclusiveMin >= prop.minimum),
802
- isValid: ((value) => value > exclusiveMin),
803
- message: ( (localize(
804
- 'validations.exclusiveMin',
805
- "Value must be strictly greater than {0}.",
806
- exclusiveMin
807
- )))
808
- },
809
- {
810
- enabled: prop.maximum !== undefined && (exclusiveMax === undefined || exclusiveMax > prop.maximum),
811
- isValid: ((value) => value <= prop.maximum),
812
- message: ( (localize(
813
- 'validations.max',
814
- "Value must be less than or equal to {0}.",
815
- prop.maximum
816
- )))
817
- },
818
- {
819
- enabled: prop.minimum !== undefined && (exclusiveMin === undefined || exclusiveMin < prop.minimum),
820
- isValid: ((value) => value >= prop.minimum),
821
- message: ( (localize(
822
- 'validations.min',
823
- "Value must be greater than or equal to {0}.",
824
- prop.minimum
825
- )))
826
- },
827
- {
828
- enabled: prop.multipleOf !== undefined,
829
- isValid: ((value) => value % prop.multipleOf === 0),
830
- message: ( (localize(
831
- 'validations.multipleOf',
832
- "Value must be a multiple of {0}.",
833
- prop.multipleOf
834
- )))
835
- },
836
- {
837
- enabled: isIntegral,
838
- isValid: ((value) => value % 1 === 0),
839
- message: ( (localize('validations.expectedInteger', "Value must be an integer.")))
840
- },
841
- ].filter(validation => validation.enabled);
842
- }
843
- function getArrayValidator(prop) {
844
- if (prop.type === 'array' && prop.items && !Array.isArray(prop.items)) {
845
- const propItems = prop.items;
846
- if (propItems && !Array.isArray(propItems.type)) {
847
- const withQuotes = (s) => `'` + s + `'`;
848
- return value => {
849
- if (!value) {
850
- return null;
851
- }
852
- let message = '';
853
- if (!Array.isArray(value)) {
854
- message += ( (localize('validations.arrayIncorrectType', 'Incorrect type. Expected an array.')));
855
- message += '\n';
856
- return message;
857
- }
858
- const arrayValue = value;
859
- if (prop.uniqueItems) {
860
- if (( (new Set(arrayValue))).size < arrayValue.length) {
861
- message += ( (localize('validations.stringArrayUniqueItems', 'Array has duplicate items')));
862
- message += '\n';
863
- }
864
- }
865
- if (prop.minItems && arrayValue.length < prop.minItems) {
866
- message += ( (localize(
867
- 'validations.stringArrayMinItem',
868
- 'Array must have at least {0} items',
869
- prop.minItems
870
- )));
871
- message += '\n';
872
- }
873
- if (prop.maxItems && arrayValue.length > prop.maxItems) {
874
- message += ( (localize(
875
- 'validations.stringArrayMaxItem',
876
- 'Array must have at most {0} items',
877
- prop.maxItems
878
- )));
879
- message += '\n';
880
- }
881
- if (propItems.type === 'string') {
882
- if (!isStringArray(arrayValue)) {
883
- message += ( (localize(
884
- 'validations.stringArrayIncorrectType',
885
- 'Incorrect type. Expected a string array.'
886
- )));
887
- message += '\n';
888
- return message;
889
- }
890
- if (typeof propItems.pattern === 'string') {
891
- const patternRegex = ( (new RegExp(propItems.pattern)));
892
- arrayValue.forEach(v => {
893
- if (!patternRegex.test(v)) {
894
- message +=
895
- propItems.patternErrorMessage ||
896
- ( (localize(
897
- 'validations.stringArrayItemPattern',
898
- 'Value {0} must match regex {1}.',
899
- withQuotes(v),
900
- withQuotes(propItems.pattern)
901
- )));
902
- }
903
- });
904
- }
905
- const propItemsEnum = propItems.enum;
906
- if (propItemsEnum) {
907
- arrayValue.forEach(v => {
908
- if (propItemsEnum.indexOf(v) === -1) {
909
- message += ( (localize(
910
- 'validations.stringArrayItemEnum',
911
- 'Value {0} is not one of {1}',
912
- withQuotes(v),
913
- '[' + ( (propItemsEnum.map(withQuotes))).join(', ') + ']'
914
- )));
915
- message += '\n';
916
- }
917
- });
918
- }
919
- }
920
- else if (propItems.type === 'integer' || propItems.type === 'number') {
921
- arrayValue.forEach(v => {
922
- const errorMessage = getErrorsForSchema(propItems, v);
923
- if (errorMessage) {
924
- message += `${v}: ${errorMessage}\n`;
925
- }
926
- });
927
- }
928
- return message;
929
- };
930
- }
931
- }
932
- return null;
933
- }
934
- function getObjectValidator(prop) {
935
- if (prop.type === 'object') {
936
- const { properties, patternProperties, additionalProperties } = prop;
937
- return value => {
938
- if (!value) {
939
- return null;
940
- }
941
- const errors = [];
942
- if (!isObject(value)) {
943
- errors.push(( (localize('validations.objectIncorrectType', 'Incorrect type. Expected an object.'))));
944
- }
945
- else {
946
- ( (Object.keys(value))).forEach((key) => {
947
- const data = value[key];
948
- if (properties && key in properties) {
949
- const errorMessage = getErrorsForSchema(properties[key], data);
950
- if (errorMessage) {
951
- errors.push(`${key}: ${errorMessage}\n`);
952
- }
953
- return;
954
- }
955
- if (patternProperties) {
956
- for (const pattern in patternProperties) {
957
- if (RegExp(pattern).test(key)) {
958
- const errorMessage = getErrorsForSchema(patternProperties[pattern], data);
959
- if (errorMessage) {
960
- errors.push(`${key}: ${errorMessage}\n`);
961
- }
962
- return;
963
- }
964
- }
965
- }
966
- if (additionalProperties === false) {
967
- errors.push(( (localize('validations.objectPattern', 'Property {0} is not allowed.\n', key))));
968
- }
969
- else if (typeof additionalProperties === 'object') {
970
- const errorMessage = getErrorsForSchema(additionalProperties, data);
971
- if (errorMessage) {
972
- errors.push(`${key}: ${errorMessage}\n`);
973
- }
974
- }
975
- });
976
- }
977
- if (errors.length) {
978
- return prop.errorMessage ? [prop.errorMessage, ...errors].join(' ') : errors.join(' ');
979
- }
980
- return '';
981
- };
982
- }
983
- return null;
984
- }
985
- function getErrorsForSchema(propertySchema, data) {
986
- const validator = createValidator(propertySchema);
987
- const errorMessage = validator(data);
988
- return errorMessage;
989
- }
990
- const nullRange = { startLineNumber: -1, startColumn: -1, endLineNumber: -1, endColumn: -1 };
991
- function isNullRange(range) { return range.startLineNumber === -1 && range.startColumn === -1 && range.endLineNumber === -1 && range.endColumn === -1; }
992
- class AbstractSettingsModel extends EditorModel {
993
- constructor() {
994
- super(...arguments);
995
- this._currentResultGroups = ( (new Map()));
996
- }
997
- updateResultGroup(id, resultGroup) {
998
- if (resultGroup) {
999
- this._currentResultGroups.set(id, resultGroup);
1000
- }
1001
- else {
1002
- this._currentResultGroups.delete(id);
1003
- }
1004
- this.removeDuplicateResults();
1005
- return this.update();
1006
- }
1007
- removeDuplicateResults() {
1008
- const settingKeys = ( (new Set()));
1009
- [...( (this._currentResultGroups.keys()))]
1010
- .sort((a, b) => this._currentResultGroups.get(a).order - this._currentResultGroups.get(b).order)
1011
- .forEach(groupId => {
1012
- const group = this._currentResultGroups.get(groupId);
1013
- group.result.filterMatches = group.result.filterMatches.filter(s => !settingKeys.has(s.setting.key));
1014
- group.result.filterMatches.forEach(s => settingKeys.add(s.setting.key));
1015
- });
1016
- }
1017
- compareTwoNullableNumbers(a, b) {
1018
- const aOrMax = a ?? Number.MAX_SAFE_INTEGER;
1019
- const bOrMax = b ?? Number.MAX_SAFE_INTEGER;
1020
- if (aOrMax < bOrMax) {
1021
- return -1;
1022
- }
1023
- else if (aOrMax > bOrMax) {
1024
- return 1;
1025
- }
1026
- else {
1027
- return 0;
1028
- }
1029
- }
1030
- filterSettings(filter, groupFilter, settingMatcher) {
1031
- const allGroups = this.filterGroups;
1032
- const filterMatches = [];
1033
- for (const group of allGroups) {
1034
- const groupMatched = groupFilter(group);
1035
- for (const section of group.sections) {
1036
- for (const setting of section.settings) {
1037
- const settingMatchResult = settingMatcher(setting, group);
1038
- if (groupMatched || settingMatchResult) {
1039
- filterMatches.push({
1040
- setting,
1041
- matches: settingMatchResult && settingMatchResult.matches,
1042
- matchType: settingMatchResult?.matchType ?? SettingMatchType.None,
1043
- score: settingMatchResult?.score ?? 0
1044
- });
1045
- }
1046
- }
1047
- }
1048
- }
1049
- filterMatches.sort((a, b) => {
1050
- if (a.matchType !== b.matchType) {
1051
- return b.matchType - a.matchType;
1052
- }
1053
- else {
1054
- if (a.setting.extensionInfo && b.setting.extensionInfo
1055
- && a.setting.extensionInfo.id === b.setting.extensionInfo.id) {
1056
- if (a.setting.categoryLabel !== b.setting.categoryLabel
1057
- && (a.setting.categoryOrder !== undefined || b.setting.categoryOrder !== undefined)
1058
- && a.setting.categoryOrder !== b.setting.categoryOrder) {
1059
- return this.compareTwoNullableNumbers(a.setting.categoryOrder, b.setting.categoryOrder);
1060
- }
1061
- else if (a.setting.categoryLabel === b.setting.categoryLabel
1062
- && (a.setting.order !== undefined || b.setting.order !== undefined)
1063
- && a.setting.order !== b.setting.order) {
1064
- return this.compareTwoNullableNumbers(a.setting.order, b.setting.order);
1065
- }
1066
- }
1067
- return b.score - a.score;
1068
- }
1069
- });
1070
- return filterMatches;
1071
- }
1072
- getPreference(key) {
1073
- for (const group of this.settingsGroups) {
1074
- for (const section of group.sections) {
1075
- for (const setting of section.settings) {
1076
- if (key === setting.key) {
1077
- return setting;
1078
- }
1079
- }
1080
- }
1081
- }
1082
- return undefined;
1083
- }
1084
- collectMetadata(groups) {
1085
- const metadata = Object.create(null);
1086
- let hasMetadata = false;
1087
- groups.forEach(g => {
1088
- if (g.result.metadata) {
1089
- metadata[g.id] = g.result.metadata;
1090
- hasMetadata = true;
1091
- }
1092
- });
1093
- return hasMetadata ? metadata : null;
1094
- }
1095
- get filterGroups() {
1096
- return this.settingsGroups;
1097
- }
1098
- }
1099
- class SettingsEditorModel extends AbstractSettingsModel {
1100
- constructor(reference, _configurationTarget) {
1101
- super();
1102
- this._configurationTarget = _configurationTarget;
1103
- this._onDidChangeGroups = this._register(( (new Emitter())));
1104
- this.onDidChangeGroups = this._onDidChangeGroups.event;
1105
- this.settingsModel = reference.object.textEditorModel;
1106
- this._register(this.onWillDispose(() => reference.dispose()));
1107
- this._register(this.settingsModel.onDidChangeContent(() => {
1108
- this._settingsGroups = undefined;
1109
- this._onDidChangeGroups.fire();
1110
- }));
1111
- }
1112
- get uri() {
1113
- return this.settingsModel.uri;
1114
- }
1115
- get configurationTarget() {
1116
- return this._configurationTarget;
1117
- }
1118
- get settingsGroups() {
1119
- if (!this._settingsGroups) {
1120
- this.parse();
1121
- }
1122
- return this._settingsGroups;
1123
- }
1124
- get content() {
1125
- return this.settingsModel.getValue();
1126
- }
1127
- findValueMatches(filter, setting) {
1128
- return (
1129
- (this.settingsModel.findMatches(filter, setting.valueRange, false, false, null, false).map(match => match.range))
1130
- );
1131
- }
1132
- isSettingsProperty(property, previousParents) {
1133
- return previousParents.length === 0;
1134
- }
1135
- parse() {
1136
- this._settingsGroups = parse(this.settingsModel, (property, previousParents) => this.isSettingsProperty(property, previousParents));
1137
- }
1138
- update() {
1139
- const resultGroups = [...( (this._currentResultGroups.values()))];
1140
- if (!resultGroups.length) {
1141
- return undefined;
1142
- }
1143
- const filteredSettings = [];
1144
- const matches = [];
1145
- resultGroups.forEach(group => {
1146
- group.result.filterMatches.forEach(filterMatch => {
1147
- filteredSettings.push(filterMatch.setting);
1148
- if (filterMatch.matches) {
1149
- matches.push(...filterMatch.matches);
1150
- }
1151
- });
1152
- });
1153
- let filteredGroup;
1154
- const modelGroup = this.settingsGroups[0];
1155
- if (modelGroup) {
1156
- filteredGroup = {
1157
- id: modelGroup.id,
1158
- range: modelGroup.range,
1159
- sections: [{
1160
- settings: filteredSettings
1161
- }],
1162
- title: modelGroup.title,
1163
- titleRange: modelGroup.titleRange,
1164
- order: modelGroup.order,
1165
- extensionInfo: modelGroup.extensionInfo
1166
- };
1167
- }
1168
- const metadata = this.collectMetadata(resultGroups);
1169
- return {
1170
- allGroups: this.settingsGroups,
1171
- filteredGroups: filteredGroup ? [filteredGroup] : [],
1172
- matches,
1173
- metadata
1174
- };
1175
- }
1176
- }
1177
- let Settings2EditorModel = class Settings2EditorModel extends AbstractSettingsModel {
1178
- constructor(_defaultSettings, configurationService) {
1179
- super();
1180
- this._defaultSettings = _defaultSettings;
1181
- this._onDidChangeGroups = this._register(( (new Emitter())));
1182
- this.onDidChangeGroups = this._onDidChangeGroups.event;
1183
- this.dirty = false;
1184
- this._register(configurationService.onDidChangeConfiguration(e => {
1185
- if (e.source === 7 ) {
1186
- this.dirty = true;
1187
- this._onDidChangeGroups.fire();
1188
- }
1189
- }));
1190
- this._register(( (Registry.as(Extensions.Configuration))).onDidSchemaChange(e => {
1191
- this.dirty = true;
1192
- this._onDidChangeGroups.fire();
1193
- }));
1194
- }
1195
- get filterGroups() {
1196
- return this.settingsGroups.slice(1);
1197
- }
1198
- get settingsGroups() {
1199
- const groups = this._defaultSettings.getSettingsGroups(this.dirty);
1200
- this.dirty = false;
1201
- return groups;
1202
- }
1203
- findValueMatches(filter, setting) {
1204
- return [];
1205
- }
1206
- update() {
1207
- throw new Error('Not supported');
1208
- }
1209
- };
1210
- Settings2EditorModel = ( (__decorate([
1211
- ( (__param(1, IConfigurationService)))
1212
- ], Settings2EditorModel)));
1213
- function parse(model, isSettingsProperty) {
1214
- const settings = [];
1215
- let overrideSetting = null;
1216
- let currentProperty = null;
1217
- let currentParent = [];
1218
- const previousParents = [];
1219
- let settingsPropertyIndex = -1;
1220
- const range = {
1221
- startLineNumber: 0,
1222
- startColumn: 0,
1223
- endLineNumber: 0,
1224
- endColumn: 0
1225
- };
1226
- function onValue(value, offset, length) {
1227
- if (Array.isArray(currentParent)) {
1228
- currentParent.push(value);
1229
- }
1230
- else if (currentProperty) {
1231
- currentParent[currentProperty] = value;
1232
- }
1233
- if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
1234
- const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
1235
- if (setting) {
1236
- const valueStartPosition = model.getPositionAt(offset);
1237
- const valueEndPosition = model.getPositionAt(offset + length);
1238
- setting.value = value;
1239
- setting.valueRange = {
1240
- startLineNumber: valueStartPosition.lineNumber,
1241
- startColumn: valueStartPosition.column,
1242
- endLineNumber: valueEndPosition.lineNumber,
1243
- endColumn: valueEndPosition.column
1244
- };
1245
- setting.range = Object.assign(setting.range, {
1246
- endLineNumber: valueEndPosition.lineNumber,
1247
- endColumn: valueEndPosition.column
1248
- });
1249
- }
1250
- }
1251
- }
1252
- const visitor = {
1253
- onObjectBegin: (offset, length) => {
1254
- if (isSettingsProperty(currentProperty, previousParents)) {
1255
- settingsPropertyIndex = previousParents.length;
1256
- const position = model.getPositionAt(offset);
1257
- range.startLineNumber = position.lineNumber;
1258
- range.startColumn = position.column;
1259
- }
1260
- const object = {};
1261
- onValue(object, offset, length);
1262
- currentParent = object;
1263
- currentProperty = null;
1264
- previousParents.push(currentParent);
1265
- },
1266
- onObjectProperty: (name, offset, length) => {
1267
- currentProperty = name;
1268
- if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
1269
- const settingStartPosition = model.getPositionAt(offset);
1270
- const setting = {
1271
- description: [],
1272
- descriptionIsMarkdown: false,
1273
- key: name,
1274
- keyRange: {
1275
- startLineNumber: settingStartPosition.lineNumber,
1276
- startColumn: settingStartPosition.column + 1,
1277
- endLineNumber: settingStartPosition.lineNumber,
1278
- endColumn: settingStartPosition.column + length
1279
- },
1280
- range: {
1281
- startLineNumber: settingStartPosition.lineNumber,
1282
- startColumn: settingStartPosition.column,
1283
- endLineNumber: 0,
1284
- endColumn: 0
1285
- },
1286
- value: null,
1287
- valueRange: nullRange,
1288
- descriptionRanges: [],
1289
- overrides: [],
1290
- overrideOf: withNullAsUndefined(overrideSetting)
1291
- };
1292
- if (previousParents.length === settingsPropertyIndex + 1) {
1293
- settings.push(setting);
1294
- if (OVERRIDE_PROPERTY_REGEX.test(name)) {
1295
- overrideSetting = setting;
1296
- }
1297
- }
1298
- else {
1299
- overrideSetting.overrides.push(setting);
1300
- }
1301
- }
1302
- },
1303
- onObjectEnd: (offset, length) => {
1304
- currentParent = previousParents.pop();
1305
- if (settingsPropertyIndex !== -1 && (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null))) {
1306
- const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
1307
- if (setting) {
1308
- const valueEndPosition = model.getPositionAt(offset + length);
1309
- setting.valueRange = Object.assign(setting.valueRange, {
1310
- endLineNumber: valueEndPosition.lineNumber,
1311
- endColumn: valueEndPosition.column
1312
- });
1313
- setting.range = Object.assign(setting.range, {
1314
- endLineNumber: valueEndPosition.lineNumber,
1315
- endColumn: valueEndPosition.column
1316
- });
1317
- }
1318
- if (previousParents.length === settingsPropertyIndex + 1) {
1319
- overrideSetting = null;
1320
- }
1321
- }
1322
- if (previousParents.length === settingsPropertyIndex) {
1323
- const position = model.getPositionAt(offset);
1324
- range.endLineNumber = position.lineNumber;
1325
- range.endColumn = position.column;
1326
- settingsPropertyIndex = -1;
1327
- }
1328
- },
1329
- onArrayBegin: (offset, length) => {
1330
- const array = [];
1331
- onValue(array, offset, length);
1332
- previousParents.push(currentParent);
1333
- currentParent = array;
1334
- currentProperty = null;
1335
- },
1336
- onArrayEnd: (offset, length) => {
1337
- currentParent = previousParents.pop();
1338
- if (previousParents.length === settingsPropertyIndex + 1 || (previousParents.length === settingsPropertyIndex + 2 && overrideSetting !== null)) {
1339
- const setting = previousParents.length === settingsPropertyIndex + 1 ? settings[settings.length - 1] : overrideSetting.overrides[overrideSetting.overrides.length - 1];
1340
- if (setting) {
1341
- const valueEndPosition = model.getPositionAt(offset + length);
1342
- setting.valueRange = Object.assign(setting.valueRange, {
1343
- endLineNumber: valueEndPosition.lineNumber,
1344
- endColumn: valueEndPosition.column
1345
- });
1346
- setting.range = Object.assign(setting.range, {
1347
- endLineNumber: valueEndPosition.lineNumber,
1348
- endColumn: valueEndPosition.column
1349
- });
1350
- }
1351
- }
1352
- },
1353
- onLiteralValue: onValue,
1354
- onError: (error) => {
1355
- const setting = settings[settings.length - 1];
1356
- if (setting && (isNullRange(setting.range) || isNullRange(setting.keyRange) || isNullRange(setting.valueRange))) {
1357
- settings.pop();
1358
- }
1359
- }
1360
- };
1361
- if (!model.isDisposed()) {
1362
- visit(model.getValue(), visitor);
1363
- }
1364
- return settings.length > 0 ? [{
1365
- sections: [
1366
- {
1367
- settings
1368
- }
1369
- ],
1370
- title: '',
1371
- titleRange: nullRange,
1372
- range
1373
- }] : [];
1374
- }
1375
- class WorkspaceConfigurationEditorModel extends SettingsEditorModel {
1376
- constructor() {
1377
- super(...arguments);
1378
- this._configurationGroups = [];
1379
- }
1380
- get configurationGroups() {
1381
- return this._configurationGroups;
1382
- }
1383
- parse() {
1384
- super.parse();
1385
- this._configurationGroups = parse(this.settingsModel, (property, previousParents) => previousParents.length === 0);
1386
- }
1387
- isSettingsProperty(property, previousParents) {
1388
- return property === 'settings' && previousParents.length === 1;
1389
- }
1390
- }
1391
- class DefaultSettings extends Disposable {
1392
- constructor(_mostCommonlyUsedSettingsKeys, target) {
1393
- super();
1394
- this._mostCommonlyUsedSettingsKeys = _mostCommonlyUsedSettingsKeys;
1395
- this.target = target;
1396
- this._settingsByName = ( (new Map()));
1397
- this._onDidChange = this._register(( (new Emitter())));
1398
- this.onDidChange = this._onDidChange.event;
1399
- }
1400
- getContent(forceUpdate = false) {
1401
- if (!this._content || forceUpdate) {
1402
- this.initialize();
1403
- }
1404
- return this._content;
1405
- }
1406
- getContentWithoutMostCommonlyUsed(forceUpdate = false) {
1407
- if (!this._contentWithoutMostCommonlyUsed || forceUpdate) {
1408
- this.initialize();
1409
- }
1410
- return this._contentWithoutMostCommonlyUsed;
1411
- }
1412
- getSettingsGroups(forceUpdate = false) {
1413
- if (!this._allSettingsGroups || forceUpdate) {
1414
- this.initialize();
1415
- }
1416
- return this._allSettingsGroups;
1417
- }
1418
- initialize() {
1419
- this._allSettingsGroups = this.parse();
1420
- this._content = this.toContent(this._allSettingsGroups, 0);
1421
- this._contentWithoutMostCommonlyUsed = this.toContent(this._allSettingsGroups, 1);
1422
- }
1423
- parse() {
1424
- const settingsGroups = this.getRegisteredGroups();
1425
- this.initAllSettingsMap(settingsGroups);
1426
- const mostCommonlyUsed = this.getMostCommonlyUsedSettings(settingsGroups);
1427
- return [mostCommonlyUsed, ...settingsGroups];
1428
- }
1429
- getRegisteredGroups() {
1430
- const configurations = ( (Registry.as(Extensions.Configuration))).getConfigurations().slice();
1431
- const groups = this.removeEmptySettingsGroups(configurations.sort(this.compareConfigurationNodes)
1432
- .reduce((result, config, index, array) => this.parseConfig(config, result, array), []));
1433
- return this.sortGroups(groups);
1434
- }
1435
- sortGroups(groups) {
1436
- groups.forEach(group => {
1437
- group.sections.forEach(section => {
1438
- section.settings.sort((a, b) => a.key.localeCompare(b.key));
1439
- });
1440
- });
1441
- return groups;
1442
- }
1443
- initAllSettingsMap(allSettingsGroups) {
1444
- this._settingsByName = ( (new Map()));
1445
- for (const group of allSettingsGroups) {
1446
- for (const section of group.sections) {
1447
- for (const setting of section.settings) {
1448
- this._settingsByName.set(setting.key, setting);
1449
- }
1450
- }
1451
- }
1452
- }
1453
- getMostCommonlyUsedSettings(allSettingsGroups) {
1454
- const settings = coalesce(( (this._mostCommonlyUsedSettingsKeys.map(key => {
1455
- const setting = this._settingsByName.get(key);
1456
- if (setting) {
1457
- return {
1458
- description: setting.description,
1459
- key: setting.key,
1460
- value: setting.value,
1461
- keyRange: nullRange,
1462
- range: nullRange,
1463
- valueRange: nullRange,
1464
- overrides: [],
1465
- scope: 4 ,
1466
- type: setting.type,
1467
- enum: setting.enum,
1468
- enumDescriptions: setting.enumDescriptions,
1469
- descriptionRanges: []
1470
- };
1471
- }
1472
- return null;
1473
- }))));
1474
- return {
1475
- id: 'mostCommonlyUsed',
1476
- range: nullRange,
1477
- title: ( (localize('commonlyUsed', "Commonly Used"))),
1478
- titleRange: nullRange,
1479
- sections: [
1480
- {
1481
- settings
1482
- }
1483
- ]
1484
- };
1485
- }
1486
- parseConfig(config, result, configurations, settingsGroup, seenSettings) {
1487
- seenSettings = seenSettings ? seenSettings : {};
1488
- let title = config.title;
1489
- if (!title) {
1490
- const configWithTitleAndSameId = configurations.find(c => (c.id === config.id) && c.title);
1491
- if (configWithTitleAndSameId) {
1492
- title = configWithTitleAndSameId.title;
1493
- }
1494
- }
1495
- if (title) {
1496
- if (!settingsGroup) {
1497
- settingsGroup = result.find(g => g.title === title && g.extensionInfo?.id === config.extensionInfo?.id);
1498
- if (!settingsGroup) {
1499
- settingsGroup = { sections: [{ settings: [] }], id: config.id || '', title: title || '', titleRange: nullRange, order: config.order, range: nullRange, extensionInfo: config.extensionInfo };
1500
- result.push(settingsGroup);
1501
- }
1502
- }
1503
- else {
1504
- settingsGroup.sections[settingsGroup.sections.length - 1].title = title;
1505
- }
1506
- }
1507
- if (config.properties) {
1508
- if (!settingsGroup) {
1509
- settingsGroup = { sections: [{ settings: [] }], id: config.id || '', title: config.id || '', titleRange: nullRange, order: config.order, range: nullRange, extensionInfo: config.extensionInfo };
1510
- result.push(settingsGroup);
1511
- }
1512
- const configurationSettings = [];
1513
- for (const setting of [...settingsGroup.sections[settingsGroup.sections.length - 1].settings, ...this.parseSettings(config)]) {
1514
- if (!seenSettings[setting.key]) {
1515
- configurationSettings.push(setting);
1516
- seenSettings[setting.key] = true;
1517
- }
1518
- }
1519
- if (configurationSettings.length) {
1520
- settingsGroup.sections[settingsGroup.sections.length - 1].settings = configurationSettings;
1521
- }
1522
- }
1523
- config.allOf?.forEach(c => this.parseConfig(c, result, configurations, settingsGroup, seenSettings));
1524
- return result;
1525
- }
1526
- removeEmptySettingsGroups(settingsGroups) {
1527
- const result = [];
1528
- for (const settingsGroup of settingsGroups) {
1529
- settingsGroup.sections = settingsGroup.sections.filter(section => section.settings.length > 0);
1530
- if (settingsGroup.sections.length) {
1531
- result.push(settingsGroup);
1532
- }
1533
- }
1534
- return result;
1535
- }
1536
- parseSettings(config) {
1537
- const result = [];
1538
- const settingsObject = config.properties;
1539
- const extensionInfo = config.extensionInfo;
1540
- const categoryLabel = config.extensionInfo?.id === config.id ? config.title : config.id;
1541
- const categoryOrder = config.order;
1542
- for (const key in settingsObject) {
1543
- const prop = settingsObject[key];
1544
- if (this.matchesScope(prop)) {
1545
- const value = prop.default;
1546
- let description = (prop.markdownDescription || prop.description || '');
1547
- if (typeof description !== 'string') {
1548
- description = '';
1549
- }
1550
- const descriptionLines = description.split('\n');
1551
- const overrides = OVERRIDE_PROPERTY_REGEX.test(key) ? this.parseOverrideSettings(prop.default) : [];
1552
- let listItemType;
1553
- if (prop.type === 'array' && prop.items && !Array.isArray(prop.items) && prop.items.type) {
1554
- if (prop.items.enum) {
1555
- listItemType = 'enum';
1556
- }
1557
- else if (!Array.isArray(prop.items.type)) {
1558
- listItemType = prop.items.type;
1559
- }
1560
- }
1561
- const objectProperties = prop.type === 'object' ? prop.properties : undefined;
1562
- const objectPatternProperties = prop.type === 'object' ? prop.patternProperties : undefined;
1563
- const objectAdditionalProperties = prop.type === 'object' ? prop.additionalProperties : undefined;
1564
- let enumToUse = prop.enum;
1565
- let enumDescriptions = prop.markdownEnumDescriptions ?? prop.enumDescriptions;
1566
- let enumDescriptionsAreMarkdown = !!prop.markdownEnumDescriptions;
1567
- if (listItemType === 'enum' && !Array.isArray(prop.items)) {
1568
- enumToUse = prop.items.enum;
1569
- enumDescriptions = prop.items.markdownEnumDescriptions ?? prop.items.enumDescriptions;
1570
- enumDescriptionsAreMarkdown = !!prop.items.markdownEnumDescriptions;
1571
- }
1572
- let allKeysAreBoolean = false;
1573
- if (prop.type === 'object' && !prop.additionalProperties && prop.properties && ( (Object.keys(prop.properties))).length) {
1574
- allKeysAreBoolean = ( (Object.keys(prop.properties))).every(key => {
1575
- return prop.properties[key].type === 'boolean';
1576
- });
1577
- }
1578
- let isLanguageTagSetting = false;
1579
- if (OVERRIDE_PROPERTY_REGEX.test(key)) {
1580
- isLanguageTagSetting = true;
1581
- }
1582
- let defaultValueSource;
1583
- if (!isLanguageTagSetting) {
1584
- const registeredConfigurationProp = prop;
1585
- if (registeredConfigurationProp && registeredConfigurationProp.defaultValueSource) {
1586
- defaultValueSource = registeredConfigurationProp.defaultValueSource;
1587
- }
1588
- }
1589
- result.push({
1590
- key,
1591
- value,
1592
- description: descriptionLines,
1593
- descriptionIsMarkdown: !!prop.markdownDescription,
1594
- range: nullRange,
1595
- keyRange: nullRange,
1596
- valueRange: nullRange,
1597
- descriptionRanges: [],
1598
- overrides,
1599
- scope: prop.scope,
1600
- type: prop.type,
1601
- arrayItemType: listItemType,
1602
- objectProperties,
1603
- objectPatternProperties,
1604
- objectAdditionalProperties,
1605
- enum: enumToUse,
1606
- enumDescriptions: enumDescriptions,
1607
- enumDescriptionsAreMarkdown: enumDescriptionsAreMarkdown,
1608
- uniqueItems: prop.uniqueItems,
1609
- tags: prop.tags,
1610
- disallowSyncIgnore: prop.disallowSyncIgnore,
1611
- restricted: prop.restricted,
1612
- extensionInfo: extensionInfo,
1613
- deprecationMessage: prop.markdownDeprecationMessage || prop.deprecationMessage,
1614
- deprecationMessageIsMarkdown: !!prop.markdownDeprecationMessage,
1615
- validator: createValidator(prop),
1616
- enumItemLabels: prop.enumItemLabels,
1617
- allKeysAreBoolean,
1618
- editPresentation: prop.editPresentation,
1619
- order: prop.order,
1620
- nonLanguageSpecificDefaultValueSource: defaultValueSource,
1621
- isLanguageTagSetting,
1622
- categoryLabel,
1623
- categoryOrder
1624
- });
1625
- }
1626
- }
1627
- return result;
1628
- }
1629
- parseOverrideSettings(overrideSettings) {
1630
- return (
1631
- (( (Object.keys(overrideSettings))).map((key) => ({
1632
- key,
1633
- value: overrideSettings[key],
1634
- description: [],
1635
- descriptionIsMarkdown: false,
1636
- range: nullRange,
1637
- keyRange: nullRange,
1638
- valueRange: nullRange,
1639
- descriptionRanges: [],
1640
- overrides: []
1641
- })))
1642
- );
1643
- }
1644
- matchesScope(property) {
1645
- if (!property.scope) {
1646
- return true;
1647
- }
1648
- if (this.target === 6 ) {
1649
- return FOLDER_SCOPES.indexOf(property.scope) !== -1;
1650
- }
1651
- if (this.target === 5 ) {
1652
- return WORKSPACE_SCOPES.indexOf(property.scope) !== -1;
1653
- }
1654
- return true;
1655
- }
1656
- compareConfigurationNodes(c1, c2) {
1657
- if (typeof c1.order !== 'number') {
1658
- return 1;
1659
- }
1660
- if (typeof c2.order !== 'number') {
1661
- return -1;
1662
- }
1663
- if (c1.order === c2.order) {
1664
- const title1 = c1.title || '';
1665
- const title2 = c2.title || '';
1666
- return title1.localeCompare(title2);
1667
- }
1668
- return c1.order - c2.order;
1669
- }
1670
- toContent(settingsGroups, startIndex) {
1671
- const builder = ( (new SettingsContentBuilder()));
1672
- for (let i = startIndex; i < settingsGroups.length; i++) {
1673
- builder.pushGroup(settingsGroups[i], i === startIndex, i === settingsGroups.length - 1);
1674
- }
1675
- return builder.getContent();
1676
- }
1677
- }
1678
- class DefaultSettingsEditorModel extends AbstractSettingsModel {
1679
- constructor(_uri, reference, defaultSettings) {
1680
- super();
1681
- this._uri = _uri;
1682
- this.defaultSettings = defaultSettings;
1683
- this._onDidChangeGroups = this._register(( (new Emitter())));
1684
- this.onDidChangeGroups = this._onDidChangeGroups.event;
1685
- this._register(defaultSettings.onDidChange(() => this._onDidChangeGroups.fire()));
1686
- this._model = reference.object.textEditorModel;
1687
- this._register(this.onWillDispose(() => reference.dispose()));
1688
- }
1689
- get uri() {
1690
- return this._uri;
1691
- }
1692
- get target() {
1693
- return this.defaultSettings.target;
1694
- }
1695
- get settingsGroups() {
1696
- return this.defaultSettings.getSettingsGroups();
1697
- }
1698
- get filterGroups() {
1699
- return this.settingsGroups.slice(1);
1700
- }
1701
- update() {
1702
- if (this._model.isDisposed()) {
1703
- return undefined;
1704
- }
1705
- const resultGroups = [...( (this._currentResultGroups.values()))]
1706
- .sort((a, b) => a.order - b.order);
1707
- const nonEmptyResultGroups = resultGroups.filter(group => group.result.filterMatches.length);
1708
- const startLine = tail(this.settingsGroups).range.endLineNumber + 2;
1709
- const { settingsGroups: filteredGroups, matches } = this.writeResultGroups(nonEmptyResultGroups, startLine);
1710
- const metadata = this.collectMetadata(resultGroups);
1711
- return resultGroups.length ?
1712
- {
1713
- allGroups: this.settingsGroups,
1714
- filteredGroups,
1715
- matches,
1716
- metadata
1717
- } :
1718
- undefined;
1719
- }
1720
- writeResultGroups(groups, startLine) {
1721
- const contentBuilderOffset = startLine - 1;
1722
- const builder = ( (new SettingsContentBuilder(contentBuilderOffset)));
1723
- const settingsGroups = [];
1724
- const matches = [];
1725
- if (groups.length) {
1726
- builder.pushLine(',');
1727
- groups.forEach(resultGroup => {
1728
- const settingsGroup = this.getGroup(resultGroup);
1729
- settingsGroups.push(settingsGroup);
1730
- matches.push(...this.writeSettingsGroupToBuilder(builder, settingsGroup, resultGroup.result.filterMatches));
1731
- });
1732
- }
1733
- const groupContent = builder.getContent() + '\n';
1734
- const groupEndLine = this._model.getLineCount();
1735
- const cursorPosition = ( (new Selection$2(startLine, 1, startLine, 1)));
1736
- const edit = {
1737
- text: groupContent,
1738
- forceMoveMarkers: true,
1739
- range: ( (new Range$2(startLine, 1, groupEndLine, 1)))
1740
- };
1741
- this._model.pushEditOperations([cursorPosition], [edit], () => [cursorPosition]);
1742
- const tokenizeTo = Math.min(startLine + 60, this._model.getLineCount());
1743
- this._model.tokenization.forceTokenization(tokenizeTo);
1744
- return { matches, settingsGroups };
1745
- }
1746
- writeSettingsGroupToBuilder(builder, settingsGroup, filterMatches) {
1747
- filterMatches = ( (filterMatches
1748
- .map(filteredMatch => {
1749
- return {
1750
- setting: filteredMatch.setting,
1751
- score: filteredMatch.score,
1752
- matches: filteredMatch.matches && ( (filteredMatch.matches.map(match => {
1753
- return (
1754
- (new Range$2(
1755
- match.startLineNumber - filteredMatch.setting.range.startLineNumber,
1756
- match.startColumn,
1757
- match.endLineNumber - filteredMatch.setting.range.startLineNumber,
1758
- match.endColumn
1759
- ))
1760
- );
1761
- })))
1762
- };
1763
- })));
1764
- builder.pushGroup(settingsGroup);
1765
- const fixedMatches = flatten(( (( (filterMatches
1766
- .map(m => m.matches || [])))
1767
- .map((settingMatches, i) => {
1768
- const setting = settingsGroup.sections[0].settings[i];
1769
- return (
1770
- (settingMatches.map(range => {
1771
- return (
1772
- (new Range$2(
1773
- range.startLineNumber + setting.range.startLineNumber,
1774
- range.startColumn,
1775
- range.endLineNumber + setting.range.startLineNumber,
1776
- range.endColumn
1777
- ))
1778
- );
1779
- }))
1780
- );
1781
- }))));
1782
- return fixedMatches;
1783
- }
1784
- copySetting(setting) {
1785
- return {
1786
- description: setting.description,
1787
- scope: setting.scope,
1788
- type: setting.type,
1789
- enum: setting.enum,
1790
- enumDescriptions: setting.enumDescriptions,
1791
- key: setting.key,
1792
- value: setting.value,
1793
- range: setting.range,
1794
- overrides: [],
1795
- overrideOf: setting.overrideOf,
1796
- tags: setting.tags,
1797
- deprecationMessage: setting.deprecationMessage,
1798
- keyRange: nullRange,
1799
- valueRange: nullRange,
1800
- descriptionIsMarkdown: undefined,
1801
- descriptionRanges: []
1802
- };
1803
- }
1804
- findValueMatches(filter, setting) {
1805
- return [];
1806
- }
1807
- getPreference(key) {
1808
- for (const group of this.settingsGroups) {
1809
- for (const section of group.sections) {
1810
- for (const setting of section.settings) {
1811
- if (setting.key === key) {
1812
- return setting;
1813
- }
1814
- }
1815
- }
1816
- }
1817
- return undefined;
1818
- }
1819
- getGroup(resultGroup) {
1820
- return {
1821
- id: resultGroup.id,
1822
- range: nullRange,
1823
- title: resultGroup.label,
1824
- titleRange: nullRange,
1825
- sections: [
1826
- {
1827
- settings: ( (resultGroup.result.filterMatches.map(m => this.copySetting(m.setting))))
1828
- }
1829
- ]
1830
- };
1831
- }
1832
- }
1833
- class SettingsContentBuilder {
1834
- get lineCountWithOffset() {
1835
- return this._contentByLines.length + this._rangeOffset;
1836
- }
1837
- get lastLine() {
1838
- return this._contentByLines[this._contentByLines.length - 1] || '';
1839
- }
1840
- constructor(_rangeOffset = 0) {
1841
- this._rangeOffset = _rangeOffset;
1842
- this._contentByLines = [];
1843
- }
1844
- pushLine(...lineText) {
1845
- this._contentByLines.push(...lineText);
1846
- }
1847
- pushGroup(settingsGroups, isFirst, isLast) {
1848
- this._contentByLines.push(isFirst ? '[{' : '{');
1849
- const lastSetting = this._pushGroup(settingsGroups, ' ');
1850
- if (lastSetting) {
1851
- const lineIdx = lastSetting.range.endLineNumber - this._rangeOffset;
1852
- const content = this._contentByLines[lineIdx - 2];
1853
- this._contentByLines[lineIdx - 2] = content.substring(0, content.length - 1);
1854
- }
1855
- this._contentByLines.push(isLast ? '}]' : '},');
1856
- }
1857
- _pushGroup(group, indent) {
1858
- let lastSetting = null;
1859
- const groupStart = this.lineCountWithOffset + 1;
1860
- for (const section of group.sections) {
1861
- if (section.title) {
1862
- const sectionTitleStart = this.lineCountWithOffset + 1;
1863
- this.addDescription([section.title], indent, this._contentByLines);
1864
- section.titleRange = { startLineNumber: sectionTitleStart, startColumn: 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length };
1865
- }
1866
- if (section.settings.length) {
1867
- for (const setting of section.settings) {
1868
- this.pushSetting(setting, indent);
1869
- lastSetting = setting;
1870
- }
1871
- }
1872
- }
1873
- group.range = { startLineNumber: groupStart, startColumn: 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length };
1874
- return lastSetting;
1875
- }
1876
- getContent() {
1877
- return this._contentByLines.join('\n');
1878
- }
1879
- pushSetting(setting, indent) {
1880
- const settingStart = this.lineCountWithOffset + 1;
1881
- this.pushSettingDescription(setting, indent);
1882
- let preValueContent = indent;
1883
- const keyString = JSON.stringify(setting.key);
1884
- preValueContent += keyString;
1885
- setting.keyRange = { startLineNumber: this.lineCountWithOffset + 1, startColumn: preValueContent.indexOf(setting.key) + 1, endLineNumber: this.lineCountWithOffset + 1, endColumn: setting.key.length };
1886
- preValueContent += ': ';
1887
- const valueStart = this.lineCountWithOffset + 1;
1888
- this.pushValue(setting, preValueContent, indent);
1889
- setting.valueRange = { startLineNumber: valueStart, startColumn: preValueContent.length + 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length + 1 };
1890
- this._contentByLines[this._contentByLines.length - 1] += ',';
1891
- this._contentByLines.push('');
1892
- setting.range = { startLineNumber: settingStart, startColumn: 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length };
1893
- }
1894
- pushSettingDescription(setting, indent) {
1895
- const fixSettingLink = (line) => line.replace(/`#(.*)#`/g, (match, settingName) => `\`${settingName}\``);
1896
- setting.descriptionRanges = [];
1897
- const descriptionPreValue = indent + '// ';
1898
- const deprecationMessageLines = setting.deprecationMessage?.split(/\n/g) ?? [];
1899
- for (let line of [...deprecationMessageLines, ...setting.description]) {
1900
- line = fixSettingLink(line);
1901
- this._contentByLines.push(descriptionPreValue + line);
1902
- setting.descriptionRanges.push({ startLineNumber: this.lineCountWithOffset, startColumn: this.lastLine.indexOf(line) + 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length });
1903
- }
1904
- if (setting.enumDescriptions && setting.enumDescriptions.some(desc => !!desc)) {
1905
- setting.enumDescriptions.forEach((desc, i) => {
1906
- const displayEnum = escapeInvisibleChars(String(setting.enum[i]));
1907
- const line = desc ?
1908
- `${displayEnum}: ${fixSettingLink(desc)}` :
1909
- displayEnum;
1910
- const lines = line.split(/\n/g);
1911
- lines[0] = ' - ' + lines[0];
1912
- this._contentByLines.push(...( (lines.map(l => `${indent}// ${l}`))));
1913
- setting.descriptionRanges.push({ startLineNumber: this.lineCountWithOffset, startColumn: this.lastLine.indexOf(line) + 1, endLineNumber: this.lineCountWithOffset, endColumn: this.lastLine.length });
1914
- });
1915
- }
1916
- }
1917
- pushValue(setting, preValueConent, indent) {
1918
- const valueString = JSON.stringify(setting.value, null, indent);
1919
- if (valueString && (typeof setting.value === 'object')) {
1920
- if (setting.overrides && setting.overrides.length) {
1921
- this._contentByLines.push(preValueConent + ' {');
1922
- for (const subSetting of setting.overrides) {
1923
- this.pushSetting(subSetting, indent + indent);
1924
- this._contentByLines.pop();
1925
- }
1926
- const lastSetting = setting.overrides[setting.overrides.length - 1];
1927
- const content = this._contentByLines[lastSetting.range.endLineNumber - 2];
1928
- this._contentByLines[lastSetting.range.endLineNumber - 2] = content.substring(0, content.length - 1);
1929
- this._contentByLines.push(indent + '}');
1930
- }
1931
- else {
1932
- const mulitLineValue = valueString.split('\n');
1933
- this._contentByLines.push(preValueConent + mulitLineValue[0]);
1934
- for (let i = 1; i < mulitLineValue.length; i++) {
1935
- this._contentByLines.push(indent + mulitLineValue[i]);
1936
- }
1937
- }
1938
- }
1939
- else {
1940
- this._contentByLines.push(preValueConent + valueString);
1941
- }
1942
- }
1943
- addDescription(description, indent, result) {
1944
- for (const line of description) {
1945
- result.push(indent + '// ' + line);
1946
- }
1947
- }
1948
- }
1949
- class RawSettingsContentBuilder extends SettingsContentBuilder {
1950
- constructor(indent = '\t') {
1951
- super(0);
1952
- this.indent = indent;
1953
- }
1954
- pushGroup(settingsGroups) {
1955
- this._pushGroup(settingsGroups, this.indent);
1956
- }
1957
- }
1958
- class DefaultRawSettingsEditorModel extends Disposable {
1959
- constructor(defaultSettings) {
1960
- super();
1961
- this.defaultSettings = defaultSettings;
1962
- this._content = null;
1963
- this._register(defaultSettings.onDidChange(() => this._content = null));
1964
- }
1965
- get content() {
1966
- if (this._content === null) {
1967
- const builder = ( (new RawSettingsContentBuilder()));
1968
- builder.pushLine('{');
1969
- for (const settingsGroup of this.defaultSettings.getRegisteredGroups()) {
1970
- builder.pushGroup(settingsGroup);
1971
- }
1972
- builder.pushLine('}');
1973
- this._content = builder.getContent();
1974
- }
1975
- return this._content;
1976
- }
1977
- }
1978
- function escapeInvisibleChars(enumValue) {
1979
- return enumValue && enumValue
1980
- .replace(/\n/g, '\\n')
1981
- .replace(/\r/g, '\\r');
1982
- }
1983
- function defaultKeybindingsContents(keybindingService) {
1984
- const defaultsHeader = '// ' + ( (localize(
1985
- 'defaultKeybindingsHeader',
1986
- "Override key bindings by placing them into your key bindings file."
1987
- )));
1988
- return defaultsHeader + '\n' + keybindingService.getDefaultKeybindingsContent();
1989
- }
1990
- let DefaultKeybindingsEditorModel = class DefaultKeybindingsEditorModel {
1991
- constructor(_uri, keybindingService) {
1992
- this._uri = _uri;
1993
- this.keybindingService = keybindingService;
1994
- }
1995
- get uri() {
1996
- return this._uri;
1997
- }
1998
- get content() {
1999
- if (!this._content) {
2000
- this._content = defaultKeybindingsContents(this.keybindingService);
2001
- }
2002
- return this._content;
2003
- }
2004
- getPreference() {
2005
- return null;
2006
- }
2007
- dispose() {
2008
- }
2009
- };
2010
- DefaultKeybindingsEditorModel = ( (__decorate([
2011
- ( (__param(1, IKeybindingService)))
2012
- ], DefaultKeybindingsEditorModel)));
2013
- const emptyEditableSettingsContent = '{\n}';
2014
- let PreferencesService = class PreferencesService extends Disposable {
2015
- constructor(editorService, editorGroupService, textFileService, configurationService, notificationService, contextService, instantiationService, userDataProfileService, userDataProfilesService, textModelResolverService, keybindingService, modelService, jsonEditingService, languageService, labelService, remoteAgentService, textEditorService) {
2016
- super();
2017
- this.editorService = editorService;
2018
- this.editorGroupService = editorGroupService;
2019
- this.textFileService = textFileService;
2020
- this.configurationService = configurationService;
2021
- this.notificationService = notificationService;
2022
- this.contextService = contextService;
2023
- this.instantiationService = instantiationService;
2024
- this.userDataProfileService = userDataProfileService;
2025
- this.userDataProfilesService = userDataProfilesService;
2026
- this.textModelResolverService = textModelResolverService;
2027
- this.modelService = modelService;
2028
- this.jsonEditingService = jsonEditingService;
2029
- this.languageService = languageService;
2030
- this.labelService = labelService;
2031
- this.remoteAgentService = remoteAgentService;
2032
- this.textEditorService = textEditorService;
2033
- this._onDispose = this._register(( (new Emitter())));
2034
- this.defaultKeybindingsResource = ( (URI.from(
2035
- { scheme: Schemas.vscode, authority: 'defaultsettings', path: '/keybindings.json' }
2036
- )));
2037
- this.defaultSettingsRawResource = ( (URI.from(
2038
- { scheme: Schemas.vscode, authority: 'defaultsettings', path: '/defaultSettings.json' }
2039
- )));
2040
- this._register(keybindingService.onDidUpdateKeybindings(() => {
2041
- const model = modelService.getModel(this.defaultKeybindingsResource);
2042
- if (!model) {
2043
- return;
2044
- }
2045
- modelService.updateModel(model, defaultKeybindingsContents(keybindingService));
2046
- }));
2047
- }
2048
- get userSettingsResource() {
2049
- return this.userDataProfileService.currentProfile.settingsResource;
2050
- }
2051
- get workspaceSettingsResource() {
2052
- if (this.contextService.getWorkbenchState() === 1 ) {
2053
- return null;
2054
- }
2055
- const workspace = this.contextService.getWorkspace();
2056
- return workspace.configuration || workspace.folders[0].toResource(FOLDER_SETTINGS_PATH);
2057
- }
2058
- get settingsEditor2Input() {
2059
- return this.instantiationService.createInstance(SettingsEditor2Input);
2060
- }
2061
- getFolderSettingsResource(resource) {
2062
- const folder = this.contextService.getWorkspaceFolder(resource);
2063
- return folder ? folder.toResource(FOLDER_SETTINGS_PATH) : null;
2064
- }
2065
- resolveModel(uri) {
2066
- if (this.isDefaultSettingsResource(uri)) {
2067
- const target = this.getConfigurationTargetFromDefaultSettingsResource(uri);
2068
- const languageSelection = this.languageService.createById('jsonc');
2069
- const model = this._register(this.modelService.createModel('', languageSelection, uri));
2070
- let defaultSettings;
2071
- this.configurationService.onDidChangeConfiguration(e => {
2072
- if (e.source === 7 ) {
2073
- const model = this.modelService.getModel(uri);
2074
- if (!model) {
2075
- return;
2076
- }
2077
- defaultSettings = this.getDefaultSettings(target);
2078
- this.modelService.updateModel(model, defaultSettings.getContentWithoutMostCommonlyUsed(true));
2079
- defaultSettings._onDidChange.fire();
2080
- }
2081
- });
2082
- if (!defaultSettings) {
2083
- defaultSettings = this.getDefaultSettings(target);
2084
- this.modelService.updateModel(model, defaultSettings.getContentWithoutMostCommonlyUsed(true));
2085
- }
2086
- return model;
2087
- }
2088
- if (( (this.defaultSettingsRawResource.toString())) === ( (uri.toString()))) {
2089
- const defaultRawSettingsEditorModel = this.instantiationService.createInstance(DefaultRawSettingsEditorModel, this.getDefaultSettings(3 ));
2090
- const languageSelection = this.languageService.createById('jsonc');
2091
- const model = this._register(this.modelService.createModel(defaultRawSettingsEditorModel.content, languageSelection, uri));
2092
- return model;
2093
- }
2094
- if (( (this.defaultKeybindingsResource.toString())) === ( (uri.toString()))) {
2095
- const defaultKeybindingsEditorModel = this.instantiationService.createInstance(DefaultKeybindingsEditorModel, uri);
2096
- const languageSelection = this.languageService.createById('jsonc');
2097
- const model = this._register(this.modelService.createModel(defaultKeybindingsEditorModel.content, languageSelection, uri));
2098
- return model;
2099
- }
2100
- return null;
2101
- }
2102
- async createPreferencesEditorModel(uri) {
2103
- if (this.isDefaultSettingsResource(uri)) {
2104
- return this.createDefaultSettingsEditorModel(uri);
2105
- }
2106
- if (( (this.userSettingsResource.toString())) === ( (uri.toString())) || ( (this.userDataProfilesService.defaultProfile.settingsResource.toString())) === ( (uri.toString()))) {
2107
- return this.createEditableSettingsEditorModel(3 , uri);
2108
- }
2109
- const workspaceSettingsUri = await this.getEditableSettingsURI(5 );
2110
- if (workspaceSettingsUri && ( (workspaceSettingsUri.toString())) === ( (uri.toString()))) {
2111
- return this.createEditableSettingsEditorModel(5 , workspaceSettingsUri);
2112
- }
2113
- if (this.contextService.getWorkbenchState() === 3 ) {
2114
- const settingsUri = await this.getEditableSettingsURI(6 , uri);
2115
- if (settingsUri && ( (settingsUri.toString())) === ( (uri.toString()))) {
2116
- return this.createEditableSettingsEditorModel(6 , uri);
2117
- }
2118
- }
2119
- const remoteEnvironment = await this.remoteAgentService.getEnvironment();
2120
- const remoteSettingsUri = remoteEnvironment ? remoteEnvironment.settingsPath : null;
2121
- if (remoteSettingsUri && ( (remoteSettingsUri.toString())) === ( (uri.toString()))) {
2122
- return this.createEditableSettingsEditorModel(4 , uri);
2123
- }
2124
- return null;
2125
- }
2126
- openRawDefaultSettings() {
2127
- return this.editorService.openEditor({ resource: this.defaultSettingsRawResource });
2128
- }
2129
- openRawUserSettings() {
2130
- return this.editorService.openEditor({ resource: this.userSettingsResource });
2131
- }
2132
- shouldOpenJsonByDefault() {
2133
- return this.configurationService.getValue('workbench.settings.editor') === 'json';
2134
- }
2135
- openSettings(options = {}) {
2136
- options = {
2137
- ...options,
2138
- target: 3 ,
2139
- };
2140
- if (options.query) {
2141
- options.jsonEditor = false;
2142
- }
2143
- return this.open(this.userSettingsResource, options);
2144
- }
2145
- openLanguageSpecificSettings(languageId, options = {}) {
2146
- if (this.shouldOpenJsonByDefault()) {
2147
- options.query = undefined;
2148
- options.revealSetting = { key: `[${languageId}]`, edit: true };
2149
- }
2150
- else {
2151
- options.query = `@lang:${languageId}${options.query ? ` ${options.query}` : ''}`;
2152
- }
2153
- options.target = options.target ?? 3 ;
2154
- return this.open(this.userSettingsResource, options);
2155
- }
2156
- open(settingsResource, options) {
2157
- options = {
2158
- ...options,
2159
- jsonEditor: options.jsonEditor ?? this.shouldOpenJsonByDefault()
2160
- };
2161
- return options.jsonEditor ?
2162
- this.openSettingsJson(settingsResource, options) :
2163
- this.openSettings2(options);
2164
- }
2165
- async openSettings2(options) {
2166
- const input = this.settingsEditor2Input;
2167
- options = {
2168
- ...options,
2169
- focusSearch: true
2170
- };
2171
- await this.editorService.openEditor(input, validateSettingsEditorOptions(options), options.openToSide ? SIDE_GROUP : undefined);
2172
- return this.editorGroupService.activeGroup.activeEditorPane;
2173
- }
2174
- openApplicationSettings(options = {}) {
2175
- options = {
2176
- ...options,
2177
- target: 3 ,
2178
- };
2179
- return this.open(this.userDataProfilesService.defaultProfile.settingsResource, options);
2180
- }
2181
- openUserSettings(options = {}) {
2182
- options = {
2183
- ...options,
2184
- target: 3 ,
2185
- };
2186
- return this.open(this.userSettingsResource, options);
2187
- }
2188
- async openRemoteSettings(options = {}) {
2189
- const environment = await this.remoteAgentService.getEnvironment();
2190
- if (environment) {
2191
- options = {
2192
- ...options,
2193
- target: 4 ,
2194
- };
2195
- this.open(environment.settingsPath, options);
2196
- }
2197
- return undefined;
2198
- }
2199
- openWorkspaceSettings(options = {}) {
2200
- if (!this.workspaceSettingsResource) {
2201
- this.notificationService.info(( (localize(
2202
- 'openFolderFirst',
2203
- "Open a folder or workspace first to create workspace or folder settings."
2204
- ))));
2205
- return Promise.reject(null);
2206
- }
2207
- options = {
2208
- ...options,
2209
- target: 5
2210
- };
2211
- return this.open(this.workspaceSettingsResource, options);
2212
- }
2213
- async openFolderSettings(options = {}) {
2214
- options = {
2215
- ...options,
2216
- target: 6
2217
- };
2218
- if (!options.folderUri) {
2219
- throw new Error(`Missing folder URI`);
2220
- }
2221
- const folderSettingsUri = await this.getEditableSettingsURI(6 , options.folderUri);
2222
- if (!folderSettingsUri) {
2223
- throw new Error(`Invalid folder URI - ${options.folderUri.toString()}`);
2224
- }
2225
- return this.open(folderSettingsUri, options);
2226
- }
2227
- async openGlobalKeybindingSettings(textual, options) {
2228
- options = { pinned: true, revealIfOpened: true, ...options };
2229
- if (textual) {
2230
- const emptyContents = '// ' + ( (localize(
2231
- 'emptyKeybindingsHeader',
2232
- "Place your key bindings in this file to override the defaults"
2233
- ))) + '\n[\n]';
2234
- const editableKeybindings = this.userDataProfileService.currentProfile.keybindingsResource;
2235
- const openDefaultKeybindings = !!this.configurationService.getValue('workbench.settings.openDefaultKeybindings');
2236
- await this.createIfNotExists(editableKeybindings, emptyContents);
2237
- if (openDefaultKeybindings) {
2238
- const activeEditorGroup = this.editorGroupService.activeGroup;
2239
- const sideEditorGroup = this.editorGroupService.addGroup(activeEditorGroup.id, 3 );
2240
- await Promise.all([
2241
- this.editorService.openEditor({ resource: this.defaultKeybindingsResource, options: { pinned: true, preserveFocus: true, revealIfOpened: true, override: DEFAULT_EDITOR_ASSOCIATION.id }, label: ( (localize('defaultKeybindings', "Default Keybindings"))), description: '' }),
2242
- this.editorService.openEditor({ resource: editableKeybindings, options }, sideEditorGroup.id)
2243
- ]);
2244
- }
2245
- else {
2246
- await this.editorService.openEditor({ resource: editableKeybindings, options });
2247
- }
2248
- }
2249
- else {
2250
- const editor = (await this.editorService.openEditor(this.instantiationService.createInstance(KeybindingsEditorInput), { ...options }));
2251
- if (options.query) {
2252
- editor.search(options.query);
2253
- }
2254
- }
2255
- }
2256
- openDefaultKeybindingsFile() {
2257
- return this.editorService.openEditor({ resource: this.defaultKeybindingsResource, label: ( (localize('defaultKeybindings', "Default Keybindings"))) });
2258
- }
2259
- async openSettingsJson(resource, options) {
2260
- const group = options?.openToSide ? SIDE_GROUP : undefined;
2261
- const editor = await this.doOpenSettingsJson(resource, options, group);
2262
- if (editor && options?.revealSetting) {
2263
- await this.revealSetting(options.revealSetting.key, !!options.revealSetting.edit, editor, resource);
2264
- }
2265
- return editor;
2266
- }
2267
- async doOpenSettingsJson(resource, options, group) {
2268
- const openSplitJSON = !!this.configurationService.getValue(USE_SPLIT_JSON_SETTING);
2269
- const openDefaultSettings = !!this.configurationService.getValue(DEFAULT_SETTINGS_EDITOR_SETTING);
2270
- if (openSplitJSON || openDefaultSettings) {
2271
- return this.doOpenSplitJSON(resource, options, group);
2272
- }
2273
- const configurationTarget = options?.target ?? 2 ;
2274
- const editableSettingsEditorInput = await this.getOrCreateEditableSettingsEditorInput(configurationTarget, resource);
2275
- options = { ...options, pinned: true };
2276
- return await this.editorService.openEditor(editableSettingsEditorInput, validateSettingsEditorOptions(options), group);
2277
- }
2278
- async doOpenSplitJSON(resource, options = {}, group) {
2279
- const configurationTarget = options.target ?? 2 ;
2280
- await this.createSettingsIfNotExists(configurationTarget, resource);
2281
- const preferencesEditorInput = this.createSplitJsonEditorInput(configurationTarget, resource);
2282
- options = { ...options, pinned: true };
2283
- return this.editorService.openEditor(preferencesEditorInput, validateSettingsEditorOptions(options), group);
2284
- }
2285
- createSplitJsonEditorInput(configurationTarget, resource) {
2286
- const editableSettingsEditorInput = this.textEditorService.createTextEditor({ resource });
2287
- const defaultPreferencesEditorInput = this.instantiationService.createInstance(TextResourceEditorInput, this.getDefaultSettingsResource(configurationTarget), undefined, undefined, undefined, undefined);
2288
- return this.instantiationService.createInstance(SideBySideEditorInput, editableSettingsEditorInput.getName(), undefined, defaultPreferencesEditorInput, editableSettingsEditorInput);
2289
- }
2290
- createSettings2EditorModel() {
2291
- return this.instantiationService.createInstance(Settings2EditorModel, this.getDefaultSettings(3 ));
2292
- }
2293
- getConfigurationTargetFromDefaultSettingsResource(uri) {
2294
- return this.isDefaultWorkspaceSettingsResource(uri) ?
2295
- 5 :
2296
- this.isDefaultFolderSettingsResource(uri) ?
2297
- 6 :
2298
- 3 ;
2299
- }
2300
- isDefaultSettingsResource(uri) {
2301
- return this.isDefaultUserSettingsResource(uri) || this.isDefaultWorkspaceSettingsResource(uri) || this.isDefaultFolderSettingsResource(uri);
2302
- }
2303
- isDefaultUserSettingsResource(uri) {
2304
- return uri.authority === 'defaultsettings' && uri.scheme === Schemas.vscode && !!uri.path.match(/\/(\d+\/)?settings\.json$/);
2305
- }
2306
- isDefaultWorkspaceSettingsResource(uri) {
2307
- return uri.authority === 'defaultsettings' && uri.scheme === Schemas.vscode && !!uri.path.match(/\/(\d+\/)?workspaceSettings\.json$/);
2308
- }
2309
- isDefaultFolderSettingsResource(uri) {
2310
- return uri.authority === 'defaultsettings' && uri.scheme === Schemas.vscode && !!uri.path.match(/\/(\d+\/)?resourceSettings\.json$/);
2311
- }
2312
- getDefaultSettingsResource(configurationTarget) {
2313
- switch (configurationTarget) {
2314
- case 5 :
2315
- return (
2316
- (URI.from(
2317
- { scheme: Schemas.vscode, authority: 'defaultsettings', path: `/workspaceSettings.json` }
2318
- ))
2319
- );
2320
- case 6 :
2321
- return (
2322
- (URI.from(
2323
- { scheme: Schemas.vscode, authority: 'defaultsettings', path: `/resourceSettings.json` }
2324
- ))
2325
- );
2326
- }
2327
- return (
2328
- (URI.from(
2329
- { scheme: Schemas.vscode, authority: 'defaultsettings', path: `/settings.json` }
2330
- ))
2331
- );
2332
- }
2333
- async getOrCreateEditableSettingsEditorInput(target, resource) {
2334
- await this.createSettingsIfNotExists(target, resource);
2335
- return this.textEditorService.createTextEditor({ resource });
2336
- }
2337
- async createEditableSettingsEditorModel(configurationTarget, settingsUri) {
2338
- const workspace = this.contextService.getWorkspace();
2339
- if (workspace.configuration && ( (workspace.configuration.toString())) === ( (settingsUri.toString()))) {
2340
- const reference = await this.textModelResolverService.createModelReference(settingsUri);
2341
- return this.instantiationService.createInstance(WorkspaceConfigurationEditorModel, reference, configurationTarget);
2342
- }
2343
- const reference = await this.textModelResolverService.createModelReference(settingsUri);
2344
- return this.instantiationService.createInstance(SettingsEditorModel, reference, configurationTarget);
2345
- }
2346
- async createDefaultSettingsEditorModel(defaultSettingsUri) {
2347
- const reference = await this.textModelResolverService.createModelReference(defaultSettingsUri);
2348
- const target = this.getConfigurationTargetFromDefaultSettingsResource(defaultSettingsUri);
2349
- return this.instantiationService.createInstance(DefaultSettingsEditorModel, defaultSettingsUri, reference, this.getDefaultSettings(target));
2350
- }
2351
- getDefaultSettings(target) {
2352
- if (target === 5 ) {
2353
- if (!this._defaultWorkspaceSettingsContentModel) {
2354
- this._defaultWorkspaceSettingsContentModel = ( (new DefaultSettings(this.getMostCommonlyUsedSettings(), target)));
2355
- }
2356
- return this._defaultWorkspaceSettingsContentModel;
2357
- }
2358
- if (target === 6 ) {
2359
- if (!this._defaultFolderSettingsContentModel) {
2360
- this._defaultFolderSettingsContentModel = ( (new DefaultSettings(this.getMostCommonlyUsedSettings(), target)));
2361
- }
2362
- return this._defaultFolderSettingsContentModel;
2363
- }
2364
- if (!this._defaultUserSettingsContentModel) {
2365
- this._defaultUserSettingsContentModel = ( (new DefaultSettings(this.getMostCommonlyUsedSettings(), target)));
2366
- }
2367
- return this._defaultUserSettingsContentModel;
2368
- }
2369
- async getEditableSettingsURI(configurationTarget, resource) {
2370
- switch (configurationTarget) {
2371
- case 1 :
2372
- return this.userDataProfilesService.defaultProfile.settingsResource;
2373
- case 2 :
2374
- case 3 :
2375
- return this.userSettingsResource;
2376
- case 4 : {
2377
- const remoteEnvironment = await this.remoteAgentService.getEnvironment();
2378
- return remoteEnvironment ? remoteEnvironment.settingsPath : null;
2379
- }
2380
- case 5 :
2381
- return this.workspaceSettingsResource;
2382
- case 6 :
2383
- if (resource) {
2384
- return this.getFolderSettingsResource(resource);
2385
- }
2386
- }
2387
- return null;
2388
- }
2389
- async createSettingsIfNotExists(target, resource) {
2390
- if (this.contextService.getWorkbenchState() === 3 && target === 5 ) {
2391
- const workspaceConfig = this.contextService.getWorkspace().configuration;
2392
- if (!workspaceConfig) {
2393
- return;
2394
- }
2395
- const content = await this.textFileService.read(workspaceConfig);
2396
- if (( (Object.keys(parse$1(content.value)))).indexOf('settings') === -1) {
2397
- await this.jsonEditingService.write(resource, [{ path: ['settings'], value: {} }], true);
2398
- }
2399
- return undefined;
2400
- }
2401
- await this.createIfNotExists(resource, emptyEditableSettingsContent);
2402
- }
2403
- async createIfNotExists(resource, contents) {
2404
- try {
2405
- await this.textFileService.read(resource, { acceptTextOnly: true });
2406
- }
2407
- catch (error) {
2408
- if (error.fileOperationResult === 1 ) {
2409
- try {
2410
- await this.textFileService.write(resource, contents);
2411
- return;
2412
- }
2413
- catch (error2) {
2414
- throw new Error(localize('fail.createSettings', "Unable to create '{0}' ({1}).", this.labelService.getUriLabel(resource, { relative: true }), getErrorMessage(error2)));
2415
- }
2416
- }
2417
- else {
2418
- throw error;
2419
- }
2420
- }
2421
- }
2422
- getMostCommonlyUsedSettings() {
2423
- return [
2424
- 'files.autoSave',
2425
- 'editor.fontSize',
2426
- 'editor.fontFamily',
2427
- 'editor.tabSize',
2428
- 'editor.renderWhitespace',
2429
- 'editor.cursorStyle',
2430
- 'editor.multiCursorModifier',
2431
- 'editor.insertSpaces',
2432
- 'editor.wordWrap',
2433
- 'files.exclude',
2434
- 'files.associations',
2435
- 'workbench.editor.enablePreview'
2436
- ];
2437
- }
2438
- async revealSetting(settingKey, edit, editor, settingsResource) {
2439
- const codeEditor = editor ? getCodeEditor(editor.getControl()) : null;
2440
- if (!codeEditor) {
2441
- return;
2442
- }
2443
- const settingsModel = await this.createPreferencesEditorModel(settingsResource);
2444
- if (!settingsModel) {
2445
- return;
2446
- }
2447
- const position = await this.getPositionToReveal(settingKey, edit, settingsModel, codeEditor);
2448
- if (position) {
2449
- codeEditor.setPosition(position);
2450
- codeEditor.revealPositionNearTop(position);
2451
- codeEditor.focus();
2452
- if (edit) {
2453
- SuggestController.get(codeEditor)?.triggerSuggest();
2454
- }
2455
- }
2456
- }
2457
- async getPositionToReveal(settingKey, edit, settingsModel, codeEditor) {
2458
- const model = codeEditor.getModel();
2459
- if (!model) {
2460
- return null;
2461
- }
2462
- const schema = ( (Registry.as(Extensions.Configuration))).getConfigurationProperties()[settingKey];
2463
- const isOverrideProperty = OVERRIDE_PROPERTY_REGEX.test(settingKey);
2464
- if (!schema && !isOverrideProperty) {
2465
- return null;
2466
- }
2467
- let position = null;
2468
- const type = schema?.type ?? 'object' ;
2469
- let setting = settingsModel.getPreference(settingKey);
2470
- if (!setting && edit) {
2471
- let defaultValue = (type === 'object' || type === 'array') ? this.configurationService.inspect(settingKey).defaultValue : getDefaultValue(type);
2472
- defaultValue = defaultValue === undefined && isOverrideProperty ? {} : defaultValue;
2473
- if (defaultValue !== undefined) {
2474
- const key = settingsModel instanceof WorkspaceConfigurationEditorModel ? ['settings', settingKey] : [settingKey];
2475
- await this.jsonEditingService.write(settingsModel.uri, [{ path: key, value: defaultValue }], false);
2476
- setting = settingsModel.getPreference(settingKey);
2477
- }
2478
- }
2479
- if (setting) {
2480
- if (edit) {
2481
- if (isObject(setting.value) || Array.isArray(setting.value)) {
2482
- position = { lineNumber: setting.valueRange.startLineNumber, column: setting.valueRange.startColumn + 1 };
2483
- codeEditor.setPosition(position);
2484
- await CoreEditingCommands.LineBreakInsert.runEditorCommand(null, codeEditor, null);
2485
- position = { lineNumber: position.lineNumber + 1, column: model.getLineMaxColumn(position.lineNumber + 1) };
2486
- const firstNonWhiteSpaceColumn = model.getLineFirstNonWhitespaceColumn(position.lineNumber);
2487
- if (firstNonWhiteSpaceColumn) {
2488
- codeEditor.setPosition({ lineNumber: position.lineNumber, column: firstNonWhiteSpaceColumn });
2489
- await CoreEditingCommands.LineBreakInsert.runEditorCommand(null, codeEditor, null);
2490
- position = { lineNumber: position.lineNumber, column: model.getLineMaxColumn(position.lineNumber) };
2491
- }
2492
- }
2493
- else {
2494
- position = { lineNumber: setting.valueRange.startLineNumber, column: setting.valueRange.endColumn };
2495
- }
2496
- }
2497
- else {
2498
- position = { lineNumber: setting.keyRange.startLineNumber, column: setting.keyRange.startColumn };
2499
- }
2500
- }
2501
- return position;
2502
- }
2503
- dispose() {
2504
- this._onDispose.fire();
2505
- super.dispose();
2506
- }
2507
- };
2508
- PreferencesService = ( (__decorate([
2509
- ( (__param(0, IEditorService))),
2510
- ( (__param(1, IEditorGroupsService))),
2511
- ( (__param(2, ITextFileService))),
2512
- ( (__param(3, IConfigurationService))),
2513
- ( (__param(4, INotificationService))),
2514
- ( (__param(5, IWorkspaceContextService))),
2515
- ( (__param(6, IInstantiationService))),
2516
- ( (__param(7, IUserDataProfileService))),
2517
- ( (__param(8, IUserDataProfilesService))),
2518
- ( (__param(9, ITextModelService))),
2519
- ( (__param(10, IKeybindingService))),
2520
- ( (__param(11, IModelService))),
2521
- ( (__param(12, IJSONEditingService))),
2522
- ( (__param(13, ILanguageService))),
2523
- ( (__param(14, ILabelService))),
2524
- ( (__param(15, IRemoteAgentService))),
2525
- ( (__param(16, ITextEditorService)))
2526
- ], PreferencesService)));
2527
- function getServiceOverride() {
2528
- return {
2529
- [( IPreferencesService.toString())]: new SyncDescriptor(PreferencesService)
2530
- };
2531
- }
2532
- export { getServiceOverride as default };