@codingame/monaco-vscode-api 1.78.4 → 1.78.5

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 (792) 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.js +24 -458
  82. package/dist/node_modules/tslib/tslib.es6.js +21 -0
  83. package/dist/override/vs/workbench/browser/parts/editor/textEditor.js +2 -0
  84. package/dist/rollup-extension-directory-plugin.js +1 -1
  85. package/dist/rollup-vsix-plugin.js +1 -1
  86. 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
  87. package/dist/service-override/audioCue.js +13 -0
  88. package/dist/service-override/configuration.js +100 -0
  89. package/dist/service-override/debug.js +23 -0
  90. package/dist/service-override/dialogs.js +13 -0
  91. package/dist/service-override/files.js +244 -0
  92. package/dist/service-override/keybindings.js +100 -0
  93. package/dist/service-override/languages.js +27 -0
  94. package/dist/service-override/layout.js +41 -0
  95. package/dist/service-override/modelEditor.js +128 -0
  96. package/dist/service-override/notifications.js +34 -0
  97. package/dist/service-override/preferences.js +10 -0
  98. package/dist/{snippets.js → service-override/snippets.js} +5 -3
  99. package/dist/service-override/textmate.js +36 -0
  100. package/dist/service-override/theme.js +26 -0
  101. package/dist/services.d.ts +118 -1
  102. package/dist/services.js +59 -3
  103. package/dist/tools.js +20 -0
  104. package/dist/vscode/vs/base/browser/ui/splitview/paneview.js +289 -0
  105. package/dist/vscode/vs/base/common/console.js +58 -0
  106. package/dist/vscode/vs/base/common/date.js +204 -0
  107. package/dist/vscode/vs/base/common/jsonEdit.js +164 -0
  108. package/dist/vscode/vs/base/common/jsonFormatter.js +187 -0
  109. package/dist/vscode/vs/base/common/keybindingParser.js +87 -0
  110. package/dist/vscode/vs/base/common/skipList.js +160 -0
  111. package/dist/vscode/vs/base/common/uriIpc.js +32 -0
  112. package/dist/vscode/vs/base/parts/ipc/common/ipc.net.js +45 -0
  113. package/dist/vscode/vs/base/parts/request/browser/request.js +60 -0
  114. package/dist/vscode/vs/base/parts/request/common/request.js +8 -0
  115. package/dist/vscode/vs/editor/browser/config/editorConfiguration.js +91 -0
  116. package/dist/vscode/vs/editor/common/services/languageFeaturesService.js +41 -0
  117. package/dist/vscode/vs/editor/common/services/modelUndoRedoParticipant.js +56 -0
  118. package/dist/vscode/vs/editor/common/services/textResourceConfigurationService.js +112 -0
  119. package/dist/vscode/vs/platform/actions/browser/dropdownWithPrimaryActionViewItem.js +112 -0
  120. package/dist/vscode/vs/platform/debug/common/extensionHostDebug.js +3 -0
  121. package/dist/{extensionManagement.js → vscode/vs/platform/extensionManagement/common/extensionManagement.js} +2 -1
  122. package/dist/vscode/vs/platform/extensionManagement/common/extensionManagementUtil.js +14 -0
  123. package/dist/vscode/vs/platform/extensionManagement/common/extensionNls.js +66 -0
  124. package/dist/vscode/vs/platform/extensionManagement/common/implicitActivationEvents.js +53 -0
  125. package/dist/vscode/vs/platform/extensionResourceLoader/common/extensionResourceLoader.js +69 -0
  126. package/dist/vscode/vs/platform/externalServices/common/serviceMachineId.js +27 -0
  127. package/dist/vscode/vs/platform/files/common/fileService.js +920 -0
  128. package/dist/vscode/vs/platform/files/common/inMemoryFilesystemProvider.js +175 -0
  129. package/dist/vscode/vs/platform/files/common/io.js +80 -0
  130. package/dist/vscode/vs/platform/files/common/watcher.js +69 -0
  131. package/dist/vscode/vs/platform/keyboardLayout/common/keyboardConfig.js +42 -0
  132. package/dist/vscode/vs/platform/keyboardLayout/common/keyboardLayout.js +12 -0
  133. package/dist/vscode/vs/platform/keyboardLayout/common/keyboardMapper.js +23 -0
  134. package/dist/vscode/vs/platform/remote/common/remoteAuthorityResolver.js +17 -0
  135. package/dist/vscode/vs/platform/request/browser/requestService.js +25 -0
  136. package/dist/vscode/vs/platform/request/common/request.js +50 -0
  137. package/dist/vscode/vs/platform/telemetry/common/telemetryUtils.js +119 -0
  138. package/dist/{tokenClassificationRegistry.js → vscode/vs/platform/theme/common/tokenClassificationRegistry.js} +82 -136
  139. package/dist/vscode/vs/platform/tunnel/common/tunnel.js +3 -0
  140. package/dist/vscode/vs/platform/uriIdentity/common/uriIdentityService.js +80 -0
  141. package/dist/vscode/vs/platform/userDataSync/common/content.js +9 -0
  142. package/dist/vscode/vs/platform/userDataSync/common/settingsMerge.js +299 -0
  143. package/dist/vscode/vs/platform/workspace/common/editSessions.js +3 -0
  144. package/dist/vscode/vs/platform/workspace/common/virtualWorkspace.js +17 -0
  145. package/dist/vscode/vs/platform/workspaces/common/workspaces.js +195 -0
  146. package/dist/vscode/vs/workbench/api/browser/mainThreadBulkEdits.js +49 -0
  147. package/dist/vscode/vs/workbench/api/browser/mainThreadClipboard.js +22 -0
  148. package/dist/vscode/vs/workbench/api/browser/mainThreadCommands.js +93 -0
  149. package/dist/vscode/vs/workbench/api/browser/mainThreadConfiguration.js +78 -0
  150. package/dist/vscode/vs/workbench/api/browser/mainThreadConsole.js +33 -0
  151. package/dist/vscode/vs/workbench/api/browser/mainThreadDebugService.js +347 -0
  152. package/dist/vscode/vs/workbench/api/browser/mainThreadDiagnostics.js +67 -0
  153. package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +73 -0
  154. package/dist/vscode/vs/workbench/api/browser/mainThreadDocuments.js +246 -0
  155. package/dist/vscode/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +379 -0
  156. package/dist/vscode/vs/workbench/api/browser/mainThreadEditor.js +410 -0
  157. package/dist/vscode/vs/workbench/api/browser/mainThreadEditors.js +223 -0
  158. package/dist/vscode/vs/workbench/api/browser/mainThreadExtensionService.js +213 -0
  159. package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystem.js +270 -0
  160. package/dist/vscode/vs/workbench/api/browser/mainThreadFileSystemEventService.js +223 -0
  161. package/dist/vscode/vs/workbench/api/browser/mainThreadLanguageFeatures.js +909 -0
  162. package/dist/vscode/vs/workbench/api/browser/mainThreadLanguages.js +76 -0
  163. package/dist/vscode/vs/workbench/api/browser/mainThreadMessageService.js +114 -0
  164. package/dist/vscode/vs/workbench/api/browser/mainThreadOutputService.js +73 -0
  165. package/dist/vscode/vs/workbench/api/browser/mainThreadProgress.js +62 -0
  166. package/dist/vscode/vs/workbench/api/browser/mainThreadQuickOpen.js +183 -0
  167. package/dist/vscode/vs/workbench/api/browser/mainThreadSaveParticipant.js +43 -0
  168. package/dist/vscode/vs/workbench/api/browser/mainThreadTelemetry.js +50 -0
  169. package/dist/vscode/vs/workbench/api/browser/mainThreadWindow.js +48 -0
  170. package/dist/vscode/vs/workbench/api/browser/mainThreadWorkspace.js +227 -0
  171. package/dist/vscode/vs/workbench/api/common/cache.js +28 -0
  172. package/dist/vscode/vs/workbench/api/common/configurationExtensionPoint.js +450 -0
  173. package/dist/vscode/vs/workbench/api/common/extHost.protocol.js +131 -0
  174. package/dist/vscode/vs/workbench/api/common/extHostApiCommands.js +656 -0
  175. package/dist/vscode/vs/workbench/api/common/extHostApiDeprecationService.js +35 -0
  176. package/dist/vscode/vs/workbench/api/common/extHostBulkEdits.js +21 -0
  177. package/dist/vscode/vs/workbench/api/common/extHostClipboard.js +15 -0
  178. package/dist/vscode/vs/workbench/api/common/extHostCommands.js +415 -0
  179. package/dist/vscode/vs/workbench/api/common/extHostConfiguration.js +264 -0
  180. package/dist/vscode/vs/workbench/api/common/extHostDebugService.js +786 -0
  181. package/dist/vscode/vs/workbench/api/common/extHostDecorations.js +94 -0
  182. package/dist/vscode/vs/workbench/api/common/extHostDiagnostics.js +292 -0
  183. package/dist/vscode/vs/workbench/api/common/extHostDocumentContentProviders.js +65 -0
  184. package/dist/vscode/vs/workbench/api/common/extHostDocumentData.js +212 -0
  185. package/dist/vscode/vs/workbench/api/common/extHostDocumentSaveParticipant.js +126 -0
  186. package/dist/vscode/vs/workbench/api/common/extHostDocuments.js +144 -0
  187. package/dist/vscode/vs/workbench/api/common/extHostDocumentsAndEditors.js +147 -0
  188. package/dist/vscode/vs/workbench/api/common/extHostEditorTabs.js +328 -0
  189. package/dist/vscode/vs/workbench/api/common/extHostExtensionActivator.js +309 -0
  190. package/dist/vscode/vs/workbench/api/common/extHostExtensionService.js +814 -0
  191. package/dist/vscode/vs/workbench/api/common/extHostFileSystem.js +272 -0
  192. package/dist/vscode/vs/workbench/api/common/extHostFileSystemConsumer.js +153 -0
  193. package/dist/vscode/vs/workbench/api/common/extHostFileSystemEventService.js +193 -0
  194. package/dist/vscode/vs/workbench/api/common/extHostFileSystemInfo.js +35 -0
  195. package/dist/vscode/vs/workbench/api/common/extHostInitDataService.js +3 -0
  196. package/dist/vscode/vs/workbench/api/common/extHostLanguageFeatures.js +2038 -0
  197. package/dist/vscode/vs/workbench/api/common/extHostLanguages.js +164 -0
  198. package/dist/vscode/vs/workbench/api/common/extHostLocalizationService.js +85 -0
  199. package/dist/vscode/vs/workbench/api/common/extHostMemento.js +74 -0
  200. package/dist/vscode/vs/workbench/api/common/extHostMessageService.js +55 -0
  201. package/dist/vscode/vs/workbench/api/common/extHostOutput.js +257 -0
  202. package/dist/vscode/vs/workbench/api/common/extHostProgress.js +80 -0
  203. package/dist/vscode/vs/workbench/api/common/extHostQuickOpen.js +580 -0
  204. package/dist/vscode/vs/workbench/api/common/extHostRpcService.js +12 -0
  205. package/dist/vscode/vs/workbench/api/common/extHostSecretState.js +24 -0
  206. package/dist/vscode/vs/workbench/api/common/extHostSecrets.js +29 -0
  207. package/dist/vscode/vs/workbench/api/common/extHostStorage.js +42 -0
  208. package/dist/vscode/vs/workbench/api/common/extHostStoragePaths.js +64 -0
  209. package/dist/vscode/vs/workbench/api/common/extHostTelemetry.js +266 -0
  210. package/dist/vscode/vs/workbench/api/common/extHostTerminalService.js +3 -0
  211. package/dist/vscode/vs/workbench/api/common/extHostTestItem.js +122 -0
  212. package/dist/vscode/vs/workbench/api/common/extHostTestingPrivateApi.js +15 -0
  213. package/dist/vscode/vs/workbench/api/common/extHostTextEditor.js +511 -0
  214. package/dist/vscode/vs/workbench/api/common/extHostTextEditors.js +128 -0
  215. package/dist/vscode/vs/workbench/api/common/extHostTunnelService.js +36 -0
  216. package/dist/vscode/vs/workbench/api/common/extHostTypeConverters.js +1766 -0
  217. package/dist/vscode/vs/workbench/api/common/extHostTypes.js +2810 -0
  218. package/dist/vscode/vs/workbench/api/common/extHostUriTransformerService.js +19 -0
  219. package/dist/vscode/vs/workbench/api/common/extHostVariableResolverService.js +138 -0
  220. package/dist/vscode/vs/workbench/api/common/extHostWindow.js +59 -0
  221. package/dist/vscode/vs/workbench/api/common/extHostWorkspace.js +534 -0
  222. package/dist/vscode/vs/workbench/api/common/jsonValidationExtensionPoint.js +97 -0
  223. package/dist/vscode/vs/workbench/api/common/shared/dataTransferCache.js +36 -0
  224. package/dist/vscode/vs/workbench/browser/actions/layoutActions.js +1201 -0
  225. package/dist/vscode/vs/workbench/browser/actions.js +77 -0
  226. package/dist/vscode/vs/workbench/browser/codeeditor.js +185 -0
  227. package/dist/vscode/vs/workbench/browser/composite.js +102 -0
  228. package/dist/vscode/vs/workbench/browser/parts/auxiliarybar/auxiliaryBarActions.js +146 -0
  229. package/dist/vscode/vs/workbench/browser/parts/dialogs/dialog.web.contribution.js +68 -0
  230. package/dist/vscode/vs/workbench/browser/parts/dialogs/dialogHandler.js +124 -0
  231. package/dist/vscode/vs/workbench/browser/parts/editor/editor.contribution.js +876 -0
  232. package/dist/vscode/vs/workbench/browser/parts/editor/editor.js +4 -0
  233. package/dist/vscode/vs/workbench/browser/parts/editor/editorActions.js +1946 -0
  234. package/dist/vscode/vs/workbench/browser/parts/editor/editorAutoSave.js +157 -0
  235. package/dist/vscode/vs/workbench/browser/parts/editor/editorCommands.js +1289 -0
  236. package/dist/vscode/vs/workbench/browser/parts/editor/editorPane.js +242 -0
  237. package/dist/vscode/vs/workbench/browser/parts/editor/editorQuickAccess.js +213 -0
  238. package/dist/vscode/vs/workbench/browser/parts/editor/editorStatus.js +460 -0
  239. package/dist/vscode/vs/workbench/browser/parts/editor/editorWithViewState.js +139 -0
  240. package/dist/vscode/vs/workbench/browser/parts/editor/sideBySideEditor.js +387 -0
  241. package/dist/vscode/vs/workbench/browser/parts/editor/textDiffEditor.js +289 -0
  242. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsActions.js +124 -0
  243. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsAlerts.js +58 -0
  244. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsCenter.js +224 -0
  245. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsCommands.js +241 -0
  246. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsList.js +185 -0
  247. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsTelemetry.js +35 -0
  248. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsToasts.js +417 -0
  249. package/dist/vscode/vs/workbench/browser/parts/notifications/notificationsViewer.js +392 -0
  250. package/dist/vscode/vs/workbench/browser/parts/panel/panelActions.js +422 -0
  251. package/dist/vscode/vs/workbench/browser/parts/views/viewPane.js +520 -0
  252. package/dist/vscode/vs/workbench/browser/quickaccess.js +17 -0
  253. package/dist/vscode/vs/workbench/common/component.js +23 -0
  254. package/dist/vscode/vs/workbench/common/configuration.js +8 -0
  255. package/dist/vscode/vs/workbench/common/contextkeys.js +170 -0
  256. package/dist/vscode/vs/workbench/common/contributions.js +111 -0
  257. package/dist/vscode/vs/workbench/common/dialogs.js +31 -0
  258. package/dist/vscode/vs/workbench/common/editor/binaryEditorModel.js +39 -0
  259. package/dist/vscode/vs/workbench/common/editor/diffEditorInput.js +164 -0
  260. package/dist/vscode/vs/workbench/common/editor/diffEditorModel.js +23 -0
  261. package/dist/vscode/vs/workbench/common/editor/editorInput.js +97 -0
  262. package/dist/vscode/vs/workbench/common/editor/editorModel.js +26 -0
  263. package/dist/vscode/vs/workbench/common/editor/editorOptions.js +48 -0
  264. package/dist/vscode/vs/workbench/common/editor/resourceEditorInput.js +133 -0
  265. package/dist/vscode/vs/workbench/common/editor/sideBySideEditorInput.js +228 -0
  266. package/dist/vscode/vs/workbench/common/editor/textDiffEditorModel.js +42 -0
  267. package/dist/vscode/vs/workbench/common/editor/textEditorModel.js +165 -0
  268. package/dist/vscode/vs/workbench/common/editor/textResourceEditorInput.js +146 -0
  269. package/dist/vscode/vs/workbench/common/editor/textResourceEditorModel.js +24 -0
  270. package/dist/vscode/vs/workbench/common/editor.js +307 -0
  271. package/dist/{memento.js → vscode/vs/workbench/common/memento.js} +1 -1
  272. package/dist/vscode/vs/workbench/common/notifications.js +448 -0
  273. package/dist/vscode/vs/workbench/common/resources.js +86 -0
  274. package/dist/{theme2.js → vscode/vs/workbench/common/theme.js} +1 -168
  275. package/dist/vscode/vs/workbench/common/views.js +20 -0
  276. package/dist/vscode/vs/workbench/contrib/audioCues/browser/audioCueDebuggerContribution.js +45 -0
  277. package/dist/vscode/vs/workbench/contrib/audioCues/browser/audioCueLineFeatureContribution.js +170 -0
  278. package/dist/vscode/vs/workbench/contrib/audioCues/browser/audioCues.contribution.js +160 -0
  279. package/dist/vscode/vs/workbench/contrib/audioCues/browser/commands.js +49 -0
  280. package/dist/vscode/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.js +25 -0
  281. package/dist/vscode/vs/workbench/contrib/callHierarchy/common/callHierarchy.js +126 -0
  282. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/editorLineNumberMenu.js +100 -0
  283. package/dist/{languages.js → vscode/vs/workbench/contrib/codeEditor/browser/languageConfigurationExtensionPoint.js} +154 -180
  284. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/menuPreventer.js +35 -0
  285. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/selectionClipboard.js +2 -0
  286. package/dist/vscode/vs/workbench/contrib/codeEditor/browser/simpleEditorOptions.js +50 -0
  287. package/dist/vscode/vs/workbench/contrib/debug/browser/baseDebugView.js +192 -0
  288. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointEditorContribution.js +776 -0
  289. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointWidget.js +378 -0
  290. package/dist/vscode/vs/workbench/contrib/debug/browser/breakpointsView.js +714 -0
  291. package/dist/vscode/vs/workbench/contrib/debug/browser/callStackEditorContribution.js +172 -0
  292. package/dist/vscode/vs/workbench/contrib/debug/browser/debug.contribution.js +451 -0
  293. package/dist/vscode/vs/workbench/contrib/debug/browser/debugActionViewItems.js +294 -0
  294. package/dist/vscode/vs/workbench/contrib/debug/browser/debugAdapterManager.js +397 -0
  295. package/dist/vscode/vs/workbench/contrib/debug/browser/debugColors.js +309 -0
  296. package/dist/vscode/vs/workbench/contrib/debug/browser/debugCommands.js +749 -0
  297. package/dist/vscode/vs/workbench/contrib/debug/browser/debugConfigurationManager.js +619 -0
  298. package/dist/vscode/vs/workbench/contrib/debug/browser/debugConsoleQuickAccess.js +58 -0
  299. package/dist/vscode/vs/workbench/contrib/debug/browser/debugEditorContribution.js +675 -0
  300. package/dist/vscode/vs/workbench/contrib/debug/browser/debugHover.js +317 -0
  301. package/dist/vscode/vs/workbench/contrib/debug/browser/debugIcons.js +135 -0
  302. package/dist/vscode/vs/workbench/contrib/debug/browser/debugMemory.js +204 -0
  303. package/dist/vscode/vs/workbench/contrib/debug/browser/debugQuickAccess.js +142 -0
  304. package/dist/vscode/vs/workbench/contrib/debug/browser/debugService.js +1171 -0
  305. package/dist/vscode/vs/workbench/contrib/debug/browser/debugSession.js +1134 -0
  306. package/dist/vscode/vs/workbench/contrib/debug/browser/debugSessionPicker.js +104 -0
  307. package/dist/vscode/vs/workbench/contrib/debug/browser/debugTaskRunner.js +273 -0
  308. package/dist/vscode/vs/workbench/contrib/debug/browser/debugToolBar.js +312 -0
  309. package/dist/vscode/vs/workbench/contrib/debug/browser/exceptionWidget.js +103 -0
  310. package/dist/vscode/vs/workbench/contrib/debug/browser/linkDetector.js +229 -0
  311. package/dist/vscode/vs/workbench/contrib/debug/browser/rawDebugSession.js +666 -0
  312. package/dist/vscode/vs/workbench/contrib/debug/browser/variablesView.js +287 -0
  313. package/dist/vscode/vs/workbench/contrib/debug/common/abstractDebugAdapter.js +150 -0
  314. package/dist/vscode/vs/workbench/contrib/debug/common/breakpoints.js +19 -0
  315. package/dist/vscode/vs/workbench/contrib/debug/common/debug.js +285 -0
  316. package/dist/vscode/vs/workbench/contrib/debug/common/debugCompoundRoot.js +15 -0
  317. package/dist/vscode/vs/workbench/contrib/debug/common/debugContentProvider.js +96 -0
  318. package/dist/vscode/vs/workbench/contrib/debug/common/debugModel.js +1451 -0
  319. package/dist/vscode/vs/workbench/contrib/debug/common/debugSchemas.js +344 -0
  320. package/dist/vscode/vs/workbench/contrib/debug/common/debugSource.js +121 -0
  321. package/dist/vscode/vs/workbench/contrib/debug/common/debugStorage.js +148 -0
  322. package/dist/vscode/vs/workbench/contrib/debug/common/debugTelemetry.js +34 -0
  323. package/dist/vscode/vs/workbench/contrib/debug/common/debugUtils.js +292 -0
  324. package/dist/vscode/vs/workbench/contrib/debug/common/debugViewModel.js +107 -0
  325. package/dist/vscode/vs/workbench/contrib/debug/common/debugger.js +254 -0
  326. package/dist/vscode/vs/workbench/contrib/debug/common/disassemblyViewInput.js +25 -0
  327. package/dist/vscode/vs/workbench/contrib/debug/common/loadedScriptsPicker.js +81 -0
  328. package/dist/vscode/vs/workbench/contrib/debug/common/replModel.js +230 -0
  329. package/dist/vscode/vs/workbench/contrib/extensions/common/extensions.js +3 -0
  330. package/dist/vscode/vs/workbench/contrib/files/browser/editors/fileEditorInput.js +321 -0
  331. package/dist/vscode/vs/workbench/contrib/files/browser/explorerService.js +398 -0
  332. package/dist/vscode/vs/workbench/contrib/files/browser/files.contribution.js +389 -0
  333. package/dist/vscode/vs/workbench/contrib/files/browser/files.js +3 -0
  334. package/dist/vscode/vs/workbench/contrib/files/common/explorerFileNestingTrie.js +212 -0
  335. package/dist/vscode/vs/workbench/contrib/files/common/explorerModel.js +369 -0
  336. package/dist/{files2.js → vscode/vs/workbench/contrib/files/common/files.js} +1 -1
  337. package/dist/vscode/vs/workbench/contrib/markers/common/markers.js +20 -0
  338. package/dist/vscode/vs/workbench/contrib/notebook/common/notebookCommon.js +9 -0
  339. package/dist/vscode/vs/workbench/contrib/output/browser/outputLinkProvider.js +74 -0
  340. package/dist/vscode/vs/workbench/contrib/output/browser/outputServices.js +166 -0
  341. package/dist/vscode/vs/workbench/contrib/output/common/outputChannelModel.js +317 -0
  342. package/dist/vscode/vs/workbench/contrib/output/common/outputChannelModelService.js +31 -0
  343. package/dist/vscode/vs/workbench/contrib/quickaccess/browser/commandsQuickAccess.js +153 -0
  344. package/dist/vscode/vs/workbench/contrib/search/common/search.js +27 -0
  345. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetCompletionProvider.js +159 -0
  346. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippets.js +3 -0
  347. package/dist/vscode/vs/workbench/contrib/snippets/browser/snippetsFile.js +229 -0
  348. package/dist/{snippetsService.js → vscode/vs/workbench/contrib/snippets/browser/snippetsService.js} +28 -412
  349. package/dist/vscode/vs/workbench/contrib/snippets/browser/tabCompletion.js +166 -0
  350. package/dist/vscode/vs/workbench/contrib/tasks/common/taskDefinitionRegistry.js +161 -0
  351. package/dist/vscode/vs/workbench/contrib/tasks/common/taskService.js +3 -0
  352. package/dist/vscode/vs/workbench/contrib/testing/common/testId.js +109 -0
  353. package/dist/vscode/vs/workbench/contrib/testing/common/testItemCollection.js +75 -0
  354. package/dist/vscode/vs/workbench/contrib/testing/common/testTypes.js +7 -0
  355. package/dist/vscode/vs/workbench/contrib/typeHierarchy/common/typeHierarchy.js +133 -0
  356. package/dist/vscode/vs/workbench/services/actions/common/menusExtensionPoint.js +829 -0
  357. package/dist/vscode/vs/workbench/services/activity/common/activity.js +22 -0
  358. package/dist/vscode/vs/workbench/services/configuration/browser/configuration.js +847 -0
  359. package/dist/vscode/vs/workbench/services/configuration/browser/configurationService.js +1104 -0
  360. package/dist/{configuration2.js → vscode/vs/workbench/services/configuration/common/configuration.js} +1 -1
  361. package/dist/vscode/vs/workbench/services/configuration/common/configurationCache.js +80 -0
  362. package/dist/vscode/vs/workbench/services/configuration/common/configurationEditing.js +590 -0
  363. package/dist/vscode/vs/workbench/services/configuration/common/configurationModels.js +119 -0
  364. package/dist/vscode/vs/workbench/services/configuration/common/jsonEditing.js +9 -0
  365. package/dist/vscode/vs/workbench/services/configuration/common/jsonEditingService.js +119 -0
  366. package/dist/vscode/vs/workbench/services/configurationResolver/browser/baseConfigurationResolverService.js +303 -0
  367. package/dist/vscode/vs/workbench/services/configurationResolver/browser/configurationResolverService.js +26 -0
  368. package/dist/vscode/vs/workbench/services/configurationResolver/common/configurationResolver.js +36 -0
  369. package/dist/vscode/vs/workbench/services/configurationResolver/common/configurationResolverSchema.js +174 -0
  370. package/dist/vscode/vs/workbench/services/configurationResolver/common/configurationResolverUtils.js +10 -0
  371. package/dist/vscode/vs/workbench/services/configurationResolver/common/variableResolver.js +299 -0
  372. package/dist/vscode/vs/workbench/services/decorations/browser/decorationsService.js +312 -0
  373. package/dist/vscode/vs/workbench/services/decorations/common/decorations.js +3 -0
  374. package/dist/vscode/vs/workbench/services/dialogs/common/dialogService.js +65 -0
  375. package/dist/vscode/vs/workbench/services/editor/browser/codeEditorService.js +80 -0
  376. package/dist/vscode/vs/workbench/services/editor/common/editorGroupColumn.js +23 -0
  377. package/dist/vscode/vs/workbench/services/editor/common/editorGroupsService.js +14 -0
  378. package/dist/vscode/vs/workbench/services/editor/common/editorResolverService.js +31 -0
  379. package/dist/vscode/vs/workbench/services/editor/common/editorService.js +10 -0
  380. package/dist/vscode/vs/workbench/services/environment/browser/environmentService.js +4 -0
  381. package/dist/vscode/vs/workbench/services/environment/common/environmentService.js +4 -0
  382. package/dist/vscode/vs/workbench/services/extensionManagement/common/extensionManagement.js +6 -0
  383. package/dist/vscode/vs/workbench/services/extensions/common/extHostCustomers.js +40 -0
  384. package/dist/vscode/vs/workbench/services/extensions/common/extensionDescriptionRegistry.js +189 -0
  385. package/dist/vscode/vs/workbench/services/extensions/common/extensionDevOptions.js +23 -0
  386. package/dist/vscode/vs/workbench/services/extensions/common/extensionHostProtocol.js +6 -0
  387. package/dist/vscode/vs/workbench/services/extensions/common/extensions.js +57 -0
  388. package/dist/vscode/vs/workbench/services/extensions/common/extensionsApiProposals.js +74 -0
  389. package/dist/{extensionsRegistry.js → vscode/vs/workbench/services/extensions/common/extensionsRegistry.js} +87 -208
  390. package/dist/vscode/vs/workbench/services/extensions/common/lazyPromise.js +70 -0
  391. package/dist/vscode/vs/workbench/services/extensions/common/proxyIdentifier.js +23 -0
  392. package/dist/vscode/vs/workbench/services/extensions/common/remoteConsoleUtil.js +47 -0
  393. package/dist/vscode/vs/workbench/services/extensions/common/rpcProtocol.js +762 -0
  394. package/dist/vscode/vs/workbench/services/extensions/common/workspaceContains.js +92 -0
  395. package/dist/vscode/vs/workbench/services/files/browser/elevatedFileService.js +9 -0
  396. package/dist/vscode/vs/workbench/services/files/common/elevatedFileService.js +3 -0
  397. package/dist/vscode/vs/workbench/services/files/common/files.js +4 -0
  398. package/dist/vscode/vs/workbench/services/filesConfiguration/common/filesConfigurationService.js +124 -0
  399. package/dist/vscode/vs/workbench/services/history/common/history.js +3 -0
  400. package/dist/vscode/vs/workbench/services/host/browser/host.js +3 -0
  401. package/dist/vscode/vs/workbench/services/keybinding/browser/keybindingService.js +855 -0
  402. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayoutService.js +490 -0
  403. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/cz.win.js +162 -0
  404. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de-swiss.win.js +162 -0
  405. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de.darwin.js +125 -0
  406. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de.linux.js +180 -0
  407. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/de.win.js +162 -0
  408. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/dk.win.js +162 -0
  409. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/dvorak.darwin.js +125 -0
  410. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-belgian.win.js +162 -0
  411. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-ext.darwin.js +125 -0
  412. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-in.win.js +162 -0
  413. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.darwin.js +125 -0
  414. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-intl.win.js +162 -0
  415. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.darwin.js +125 -0
  416. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en-uk.win.js +162 -0
  417. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en.darwin.js +133 -0
  418. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en.linux.js +182 -0
  419. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/en.win.js +167 -0
  420. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es-latin.win.js +162 -0
  421. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es.darwin.js +125 -0
  422. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es.linux.js +180 -0
  423. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/es.win.js +162 -0
  424. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.darwin.js +125 -0
  425. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.linux.js +180 -0
  426. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/fr.win.js +162 -0
  427. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/hu.win.js +162 -0
  428. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/it.darwin.js +125 -0
  429. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/it.win.js +162 -0
  430. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/jp-roman.darwin.js +125 -0
  431. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/jp.darwin.js +125 -0
  432. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ko.darwin.js +125 -0
  433. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.darwin.js +17 -0
  434. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.linux.js +6 -0
  435. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/layout.contribution.win.js +23 -0
  436. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/no.win.js +162 -0
  437. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.darwin.js +125 -0
  438. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pl.win.js +162 -0
  439. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pt-br.win.js +162 -0
  440. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.darwin.js +125 -0
  441. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/pt.win.js +162 -0
  442. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.darwin.js +125 -0
  443. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.linux.js +180 -0
  444. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/ru.win.js +162 -0
  445. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/sv.win.js +164 -0
  446. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/thai.win.js +162 -0
  447. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/tr.win.js +162 -0
  448. package/dist/vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/zh-hans.darwin.js +125 -0
  449. package/dist/vscode/vs/workbench/services/keybinding/common/fallbackKeyboardMapper.js +28 -0
  450. package/dist/vscode/vs/workbench/services/keybinding/common/keybindingIO.js +72 -0
  451. package/dist/vscode/vs/workbench/services/keybinding/common/keymapInfo.js +108 -0
  452. package/dist/vscode/vs/workbench/services/keybinding/common/macLinuxKeyboardMapper.js +888 -0
  453. package/dist/vscode/vs/workbench/services/keybinding/common/windowsKeyboardMapper.js +350 -0
  454. package/dist/vscode/vs/workbench/services/label/common/labelService.js +302 -0
  455. package/dist/{languageService.js → vscode/vs/workbench/services/language/common/languageService.js} +8 -163
  456. package/dist/vscode/vs/workbench/services/languageDetection/common/languageDetectionWorkerService.js +5 -0
  457. package/dist/vscode/vs/workbench/services/languageStatus/common/languageStatusService.js +3 -0
  458. package/dist/vscode/vs/workbench/services/layout/browser/layoutService.js +12 -0
  459. package/dist/vscode/vs/workbench/services/lifecycle/common/lifecycle.js +11 -0
  460. package/dist/vscode/vs/workbench/services/lifecycle/common/lifecycleService.js +85 -0
  461. package/dist/vscode/vs/workbench/services/notification/common/notificationService.js +186 -0
  462. package/dist/vscode/vs/workbench/services/output/common/output.js +51 -0
  463. package/dist/vscode/vs/workbench/services/panecomposite/browser/panecomposite.js +3 -0
  464. package/dist/vscode/vs/workbench/services/path/browser/pathService.js +34 -0
  465. package/dist/vscode/vs/workbench/services/path/common/pathService.js +107 -0
  466. package/dist/vscode/vs/workbench/services/preferences/browser/keybindingsEditorInput.js +35 -0
  467. package/dist/vscode/vs/workbench/services/preferences/browser/keybindingsEditorModel.js +555 -0
  468. package/dist/vscode/vs/workbench/services/preferences/browser/preferencesService.js +547 -0
  469. package/dist/vscode/vs/workbench/services/preferences/common/preferences.js +20 -0
  470. package/dist/vscode/vs/workbench/services/preferences/common/preferencesEditorInput.js +37 -0
  471. package/dist/vscode/vs/workbench/services/preferences/common/preferencesModels.js +1031 -0
  472. package/dist/vscode/vs/workbench/services/preferences/common/preferencesValidation.js +357 -0
  473. package/dist/vscode/vs/workbench/services/progress/browser/progressIndicator.js +174 -0
  474. package/dist/vscode/vs/workbench/services/remote/common/remoteAgentService.js +3 -0
  475. package/dist/vscode/vs/workbench/services/search/common/queryBuilder.js +428 -0
  476. package/dist/vscode/vs/workbench/services/search/common/search.js +158 -0
  477. package/dist/vscode/vs/workbench/services/search/common/searchHelpers.js +72 -0
  478. package/dist/vscode/vs/workbench/services/search/common/searchService.js +355 -0
  479. package/dist/vscode/vs/workbench/services/textMate/browser/arrayOperation.js +62 -0
  480. package/dist/vscode/vs/workbench/services/textMate/browser/textMateTokenizationFeature.js +3 -0
  481. package/dist/vscode/vs/workbench/services/textMate/browser/textMateTokenizationFeatureImpl.js +422 -0
  482. package/dist/vscode/vs/workbench/services/textMate/browser/tokenizationSupport/textMateTokenizationSupport.js +60 -0
  483. package/dist/vscode/vs/workbench/services/textMate/browser/tokenizationSupport/tokenizationSupportWithLineLimit.js +36 -0
  484. package/dist/vscode/vs/workbench/services/textMate/browser/workerHost/textMateWorkerHost.js +198 -0
  485. package/dist/vscode/vs/workbench/services/textMate/browser/workerHost/textMateWorkerTokenizerController.js +151 -0
  486. package/dist/vscode/vs/workbench/services/textMate/common/TMGrammarFactory.js +117 -0
  487. package/dist/vscode/vs/workbench/services/textMate/common/TMGrammars.js +93 -0
  488. package/dist/vscode/vs/workbench/services/textMate/common/TMScopeRegistry.js +24 -0
  489. package/dist/vscode/vs/workbench/services/textfile/browser/browserTextFileService.js +55 -0
  490. package/dist/vscode/vs/workbench/services/textfile/browser/textFileService.js +578 -0
  491. package/dist/vscode/vs/workbench/services/textfile/common/encoding.js +493 -0
  492. package/dist/vscode/vs/workbench/services/textfile/common/textEditorService.js +150 -0
  493. package/dist/vscode/vs/workbench/services/textfile/common/textFileEditorModel.js +711 -0
  494. package/dist/vscode/vs/workbench/services/textfile/common/textFileEditorModelManager.js +401 -0
  495. package/dist/vscode/vs/workbench/services/textfile/common/textFileSaveParticipant.js +54 -0
  496. package/dist/vscode/vs/workbench/services/textfile/common/textfiles.js +45 -0
  497. package/dist/vscode/vs/workbench/services/textmodelResolver/common/textModelResolverService.js +187 -0
  498. package/dist/vscode/vs/workbench/services/themes/browser/browserHostColorSchemeService.js +37 -0
  499. package/dist/vscode/vs/workbench/services/themes/browser/fileIconThemeData.js +353 -0
  500. package/dist/vscode/vs/workbench/services/themes/browser/productIconThemeData.js +291 -0
  501. package/dist/vscode/vs/workbench/services/themes/browser/workbenchThemeService.js +736 -0
  502. package/dist/vscode/vs/workbench/services/themes/common/colorExtensionPoint.js +171 -0
  503. package/dist/vscode/vs/workbench/services/themes/common/colorThemeData.js +864 -0
  504. package/dist/vscode/vs/workbench/services/themes/common/colorThemeSchema.js +265 -0
  505. package/dist/vscode/vs/workbench/services/themes/common/fileIconThemeSchema.js +303 -0
  506. package/dist/vscode/vs/workbench/services/themes/common/hostColorSchemeService.js +3 -0
  507. package/dist/vscode/vs/workbench/services/themes/common/plistParser.js +439 -0
  508. package/dist/vscode/vs/workbench/services/themes/common/productIconThemeSchema.js +94 -0
  509. package/dist/vscode/vs/workbench/services/themes/common/textMateScopeMatcher.js +120 -0
  510. package/dist/vscode/vs/workbench/services/themes/common/themeCompatibility.js +66 -0
  511. package/dist/vscode/vs/workbench/services/themes/common/themeConfiguration.js +374 -0
  512. package/dist/vscode/vs/workbench/services/themes/common/themeExtensionPoints.js +258 -0
  513. package/dist/vscode/vs/workbench/services/themes/common/tokenClassificationExtensionPoint.js +268 -0
  514. package/dist/vscode/vs/workbench/services/themes/common/workbenchThemeService.js +46 -0
  515. package/dist/vscode/vs/workbench/services/timer/browser/timerService.js +3 -0
  516. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorInput.js +122 -0
  517. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorModel.js +240 -0
  518. package/dist/vscode/vs/workbench/services/untitled/common/untitledTextEditorService.js +3 -0
  519. package/dist/vscode/vs/workbench/services/userData/browser/userDataInit.js +3 -0
  520. package/dist/vscode/vs/workbench/services/userDataProfile/common/userDataProfile.js +7 -0
  521. package/dist/vscode/vs/workbench/services/userDataProfile/common/userDataProfileService.js +52 -0
  522. package/dist/vscode/vs/workbench/services/workingCopy/common/storedFileWorkingCopySaveParticipant.js +55 -0
  523. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopy.js +2 -0
  524. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyBackup.js +3 -0
  525. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyBackupService.js +414 -0
  526. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyFileOperationParticipant.js +39 -0
  527. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService.js +181 -0
  528. package/dist/vscode/vs/workbench/services/workingCopy/common/workingCopyService.js +112 -0
  529. package/dist/vscode/vs/workbench/services/workspaces/browser/abstractWorkspaceEditingService.js +325 -0
  530. package/dist/vscode/vs/workbench/services/workspaces/browser/workspaces.js +11 -0
  531. package/dist/vscode/vs/workbench/services/workspaces/browser/workspacesService.js +154 -0
  532. package/dist/vscode/vs/workbench/services/workspaces/common/workspaceEditing.js +3 -0
  533. package/dist/vscode-default-extensions/bat/package.json.js +2 -0
  534. package/dist/vscode-default-extensions/clojure/package.json.js +2 -0
  535. package/dist/vscode-default-extensions/coffeescript/package.json.js +2 -0
  536. package/dist/vscode-default-extensions/cpp/package.json.js +2 -0
  537. package/dist/vscode-default-extensions/csharp/package.json.js +2 -0
  538. package/dist/vscode-default-extensions/css/package.json.js +2 -0
  539. package/dist/vscode-default-extensions/dart/package.json.js +2 -0
  540. package/dist/vscode-default-extensions/diff/package.json.js +2 -0
  541. package/dist/vscode-default-extensions/docker/package.json.js +2 -0
  542. package/dist/vscode-default-extensions/fsharp/package.json.js +2 -0
  543. package/dist/vscode-default-extensions/go/package.json.js +2 -0
  544. package/dist/vscode-default-extensions/groovy/package.json.js +2 -0
  545. package/dist/vscode-default-extensions/handlebars/package.json.js +2 -0
  546. package/dist/vscode-default-extensions/hlsl/package.json.js +2 -0
  547. package/dist/vscode-default-extensions/html/package.json.js +2 -0
  548. package/dist/vscode-default-extensions/ini/package.json.js +2 -0
  549. package/dist/vscode-default-extensions/java/package.json.js +2 -0
  550. package/dist/vscode-default-extensions/javascript/package.json.js +2 -0
  551. package/dist/vscode-default-extensions/json/package.json.js +2 -0
  552. package/dist/vscode-default-extensions/julia/package.json.js +2 -0
  553. package/dist/vscode-default-extensions/latex/package.json.js +2 -0
  554. package/dist/vscode-default-extensions/less/package.json.js +2 -0
  555. package/dist/vscode-default-extensions/log/package.json.js +2 -0
  556. package/dist/vscode-default-extensions/lua/package.json.js +2 -0
  557. package/dist/vscode-default-extensions/make/package.json.js +2 -0
  558. package/dist/vscode-default-extensions/markdown-basics/package.json.js +2 -0
  559. package/dist/vscode-default-extensions/objective-c/package.json.js +2 -0
  560. package/dist/vscode-default-extensions/perl/package.json.js +2 -0
  561. package/dist/vscode-default-extensions/php/package.json.js +2 -0
  562. package/dist/vscode-default-extensions/powershell/package.json.js +2 -0
  563. package/dist/vscode-default-extensions/pug/package.json.js +2 -0
  564. package/dist/vscode-default-extensions/python/package.json.js +2 -0
  565. package/dist/vscode-default-extensions/r/package.json.js +2 -0
  566. package/dist/vscode-default-extensions/razor/package.json.js +2 -0
  567. package/dist/vscode-default-extensions/ruby/package.json.js +2 -0
  568. package/dist/vscode-default-extensions/rust/package.json.js +2 -0
  569. package/dist/vscode-default-extensions/scss/package.json.js +2 -0
  570. package/dist/vscode-default-extensions/shaderlab/package.json.js +2 -0
  571. package/dist/vscode-default-extensions/shellscript/package.json.js +2 -0
  572. package/dist/vscode-default-extensions/sql/package.json.js +2 -0
  573. package/dist/vscode-default-extensions/swift/package.json.js +2 -0
  574. package/dist/vscode-default-extensions/theme-abyss/package.json.js +2 -0
  575. package/dist/vscode-default-extensions/theme-defaults/package.json.js +2 -0
  576. package/dist/vscode-default-extensions/theme-kimbie-dark/package.json.js +2 -0
  577. package/dist/vscode-default-extensions/theme-monokai/package.json.js +2 -0
  578. package/dist/vscode-default-extensions/theme-monokai-dimmed/package.json.js +2 -0
  579. package/dist/vscode-default-extensions/theme-quietlight/package.json.js +2 -0
  580. package/dist/vscode-default-extensions/theme-red/package.json.js +2 -0
  581. package/dist/vscode-default-extensions/theme-seti/package.json.js +2 -0
  582. package/dist/vscode-default-extensions/theme-solarized-dark/package.json.js +2 -0
  583. package/dist/vscode-default-extensions/theme-solarized-light/package.json.js +2 -0
  584. package/dist/vscode-default-extensions/theme-tomorrow-night-blue/package.json.js +2 -0
  585. package/dist/vscode-default-extensions/typescript-basics/package.json.js +2 -0
  586. package/dist/vscode-default-extensions/typescript-language-features/package.json.js +2 -0
  587. package/dist/vscode-default-extensions/vb/package.json.js +2 -0
  588. package/dist/vscode-default-extensions/xml/package.json.js +2 -0
  589. package/dist/vscode-default-extensions/yaml/package.json.js +2 -0
  590. package/dist/vscode-services/commands.js +37 -0
  591. package/dist/vscode-services/debug.js +74 -0
  592. package/dist/vscode-services/env.js +69 -0
  593. package/dist/vscode-services/extHost.js +385 -0
  594. package/dist/vscode-services/extensions.js +46 -0
  595. package/dist/vscode-services/languages.js +203 -0
  596. package/dist/vscode-services/missing-services.js +959 -0
  597. package/dist/vscode-services/window.js +189 -0
  598. package/dist/vscode-services/workspace.js +164 -0
  599. package/monaco-editor-treemending.patch +23574 -0
  600. package/monaco-treemending.js +3 -0
  601. package/package.json +57 -60
  602. package/dist/api2.js +0 -1294
  603. package/dist/audioCue.js +0 -805
  604. package/dist/button.js +0 -352
  605. package/dist/configuration.js +0 -4438
  606. package/dist/debug.js +0 -15673
  607. package/dist/dialogs.js +0 -752
  608. package/dist/dom.js +0 -101
  609. package/dist/files.js +0 -3167
  610. package/dist/keybindings.js +0 -4310
  611. package/dist/layout.contribution.darwin.js +0 -1994
  612. package/dist/layout.contribution.linux.js +0 -899
  613. package/dist/layout.contribution.win.js +0 -3551
  614. package/dist/modelEditor.js +0 -8893
  615. package/dist/notifications.js +0 -2302
  616. package/dist/platform.js +0 -105
  617. package/dist/polyfill.js +0 -55651
  618. package/dist/preferences.js +0 -2532
  619. package/dist/textmate.js +0 -1428
  620. package/dist/theme.js +0 -4116
  621. package/dist/utils.js +0 -345
  622. package/dist/webpack-loader.cjs +0 -18
  623. package/dist/webpack-loader.d.ts +0 -4
  624. package/dist/{iconv.js → override/iconv.js} +0 -0
  625. package/dist/{jschardet.js → override/jschardet.js} +0 -0
  626. package/dist/{audioCue.d.ts → service-override/audioCue.d.ts} +0 -0
  627. package/dist/{configuration.d.ts → service-override/configuration.d.ts} +0 -0
  628. package/dist/{debug.d.ts → service-override/debug.d.ts} +0 -0
  629. package/dist/{dialogs.d.ts → service-override/dialogs.d.ts} +0 -0
  630. package/dist/{files.d.ts → service-override/files.d.ts} +0 -0
  631. package/dist/{keybindings.d.ts → service-override/keybindings.d.ts} +0 -0
  632. package/dist/{languages.d.ts → service-override/languages.d.ts} +0 -0
  633. package/dist/{modelEditor.d.ts → service-override/modelEditor.d.ts} +0 -0
  634. package/dist/{notifications.d.ts → service-override/notifications.d.ts} +0 -0
  635. package/dist/{preferences.d.ts → service-override/preferences.d.ts} +0 -0
  636. package/dist/{snippets.d.ts → service-override/snippets.d.ts} +0 -0
  637. package/dist/{textmate.d.ts → service-override/textmate.d.ts} +0 -0
  638. package/dist/{theme.d.ts → service-override/theme.d.ts} +0 -0
  639. package/dist/{injection.js → tools/injection.js} +0 -0
  640. package/dist/{jsonErrorMessages.js → vscode/vs/base/common/jsonErrorMessages.js} +0 -0
  641. package/dist/{_.contribution.js → vscode/vs/workbench/services/keybinding/browser/keyboardLayouts/_.contribution.js} +0 -0
  642. package/dist/{unboundCommands.js → vscode/vs/workbench/services/keybinding/browser/unboundCommands.js} +2 -2
  643. /package/dist/{language-configuration.js → vscode-default-extensions/bat/language-configuration.json.js} +0 -0
  644. /package/dist/{batchfile.js → vscode-default-extensions/bat/snippets/batchfile.code-snippets.js} +0 -0
  645. /package/dist/{batchfile.tmLanguage.js → vscode-default-extensions/bat/syntaxes/batchfile.tmLanguage.json.js} +0 -0
  646. /package/dist/{language-configuration2.js → vscode-default-extensions/clojure/language-configuration.json.js} +0 -0
  647. /package/dist/{clojure.tmLanguage.js → vscode-default-extensions/clojure/syntaxes/clojure.tmLanguage.json.js} +0 -0
  648. /package/dist/{language-configuration3.js → vscode-default-extensions/coffeescript/language-configuration.json.js} +0 -0
  649. /package/dist/{coffeescript.js → vscode-default-extensions/coffeescript/snippets/coffeescript.code-snippets.js} +0 -0
  650. /package/dist/{coffeescript.tmLanguage.js → vscode-default-extensions/coffeescript/syntaxes/coffeescript.tmLanguage.json.js} +0 -0
  651. /package/dist/{language-configuration4.js → vscode-default-extensions/cpp/language-configuration.json.js} +0 -0
  652. /package/dist/{c.js → vscode-default-extensions/cpp/snippets/c.code-snippets.js} +0 -0
  653. /package/dist/{cpp.js → vscode-default-extensions/cpp/snippets/cpp.code-snippets.js} +0 -0
  654. /package/dist/{c.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/c.tmLanguage.json.js} +0 -0
  655. /package/dist/{cpp.embedded.macro.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/cpp.embedded.macro.tmLanguage.json.js} +0 -0
  656. /package/dist/{cpp.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/cpp.tmLanguage.json.js} +0 -0
  657. /package/dist/{cuda-cpp.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json.js} +0 -0
  658. /package/dist/{platform.tmLanguage.js → vscode-default-extensions/cpp/syntaxes/platform.tmLanguage.json.js} +0 -0
  659. /package/dist/{language-configuration5.js → vscode-default-extensions/csharp/language-configuration.json.js} +0 -0
  660. /package/dist/{csharp.js → vscode-default-extensions/csharp/snippets/csharp.code-snippets.js} +0 -0
  661. /package/dist/{csharp.tmLanguage.js → vscode-default-extensions/csharp/syntaxes/csharp.tmLanguage.json.js} +0 -0
  662. /package/dist/{language-configuration6.js → vscode-default-extensions/css/language-configuration.json.js} +0 -0
  663. /package/dist/{css.tmLanguage.js → vscode-default-extensions/css/syntaxes/css.tmLanguage.json.js} +0 -0
  664. /package/dist/{language-configuration7.js → vscode-default-extensions/dart/language-configuration.json.js} +0 -0
  665. /package/dist/{dart.tmLanguage.js → vscode-default-extensions/dart/syntaxes/dart.tmLanguage.json.js} +0 -0
  666. /package/dist/{language-configuration8.js → vscode-default-extensions/diff/language-configuration.json.js} +0 -0
  667. /package/dist/{diff.tmLanguage.js → vscode-default-extensions/diff/syntaxes/diff.tmLanguage.json.js} +0 -0
  668. /package/dist/{language-configuration9.js → vscode-default-extensions/docker/language-configuration.json.js} +0 -0
  669. /package/dist/{docker.tmLanguage.js → vscode-default-extensions/docker/syntaxes/docker.tmLanguage.json.js} +0 -0
  670. /package/dist/{language-configuration10.js → vscode-default-extensions/fsharp/language-configuration.json.js} +0 -0
  671. /package/dist/{fsharp.js → vscode-default-extensions/fsharp/snippets/fsharp.code-snippets.js} +0 -0
  672. /package/dist/{fsharp.tmLanguage.js → vscode-default-extensions/fsharp/syntaxes/fsharp.tmLanguage.json.js} +0 -0
  673. /package/dist/{language-configuration11.js → vscode-default-extensions/go/language-configuration.json.js} +0 -0
  674. /package/dist/{go.tmLanguage.js → vscode-default-extensions/go/syntaxes/go.tmLanguage.json.js} +0 -0
  675. /package/dist/{language-configuration12.js → vscode-default-extensions/groovy/language-configuration.json.js} +0 -0
  676. /package/dist/{groovy.js → vscode-default-extensions/groovy/snippets/groovy.code-snippets.js} +0 -0
  677. /package/dist/{groovy.tmLanguage.js → vscode-default-extensions/groovy/syntaxes/groovy.tmLanguage.json.js} +0 -0
  678. /package/dist/{language-configuration13.js → vscode-default-extensions/handlebars/language-configuration.json.js} +0 -0
  679. /package/dist/{Handlebars.tmLanguage.js → vscode-default-extensions/handlebars/syntaxes/Handlebars.tmLanguage.json.js} +0 -0
  680. /package/dist/{language-configuration14.js → vscode-default-extensions/hlsl/language-configuration.json.js} +0 -0
  681. /package/dist/{hlsl.tmLanguage.js → vscode-default-extensions/hlsl/syntaxes/hlsl.tmLanguage.json.js} +0 -0
  682. /package/dist/{language-configuration15.js → vscode-default-extensions/html/language-configuration.json.js} +0 -0
  683. /package/dist/{html.js → vscode-default-extensions/html/snippets/html.code-snippets.js} +0 -0
  684. /package/dist/{html-derivative.tmLanguage.js → vscode-default-extensions/html/syntaxes/html-derivative.tmLanguage.json.js} +0 -0
  685. /package/dist/{html.tmLanguage.js → vscode-default-extensions/html/syntaxes/html.tmLanguage.json.js} +0 -0
  686. /package/dist/{ini.language-configuration.js → vscode-default-extensions/ini/ini.language-configuration.json.js} +0 -0
  687. /package/dist/{properties.language-configuration.js → vscode-default-extensions/ini/properties.language-configuration.json.js} +0 -0
  688. /package/dist/{ini.tmLanguage.js → vscode-default-extensions/ini/syntaxes/ini.tmLanguage.json.js} +0 -0
  689. /package/dist/{language-configuration16.js → vscode-default-extensions/java/language-configuration.json.js} +0 -0
  690. /package/dist/{java.js → vscode-default-extensions/java/snippets/java.code-snippets.js} +0 -0
  691. /package/dist/{java.tmLanguage.js → vscode-default-extensions/java/syntaxes/java.tmLanguage.json.js} +0 -0
  692. /package/dist/{javascript-language-configuration.js → vscode-default-extensions/javascript/javascript-language-configuration.json.js} +0 -0
  693. /package/dist/{javascript.js → vscode-default-extensions/javascript/snippets/javascript.code-snippets.js} +0 -0
  694. /package/dist/{JavaScript.tmLanguage.js → vscode-default-extensions/javascript/syntaxes/JavaScript.tmLanguage.json.js} +0 -0
  695. /package/dist/{JavaScriptReact.tmLanguage.js → vscode-default-extensions/javascript/syntaxes/JavaScriptReact.tmLanguage.json.js} +0 -0
  696. /package/dist/{Regular Expressions (JavaScript).js → vscode-default-extensions/javascript/syntaxes/Regular Expressions (JavaScript).tmLanguage.js} +0 -0
  697. /package/dist/{tags-language-configuration.js → vscode-default-extensions/javascript/tags-language-configuration.json.js} +0 -0
  698. /package/dist/{language-configuration17.js → vscode-default-extensions/json/language-configuration.json.js} +0 -0
  699. /package/dist/{JSON.tmLanguage.js → vscode-default-extensions/json/syntaxes/JSON.tmLanguage.json.js} +0 -0
  700. /package/dist/{JSONC.tmLanguage.js → vscode-default-extensions/json/syntaxes/JSONC.tmLanguage.json.js} +0 -0
  701. /package/dist/{language-configuration18.js → vscode-default-extensions/julia/language-configuration.json.js} +0 -0
  702. /package/dist/{julia.tmLanguage.js → vscode-default-extensions/julia/syntaxes/julia.tmLanguage.json.js} +0 -0
  703. /package/dist/{latex-cpp-embedded-language-configuration.js → vscode-default-extensions/latex/latex-cpp-embedded-language-configuration.json.js} +0 -0
  704. /package/dist/{latex-language-configuration.js → vscode-default-extensions/latex/latex-language-configuration.json.js} +0 -0
  705. /package/dist/{markdown-latex-combined-language-configuration.js → vscode-default-extensions/latex/markdown-latex-combined-language-configuration.json.js} +0 -0
  706. /package/dist/{Bibtex.tmLanguage.js → vscode-default-extensions/latex/syntaxes/Bibtex.tmLanguage.json.js} +0 -0
  707. /package/dist/{LaTeX.tmLanguage.js → vscode-default-extensions/latex/syntaxes/LaTeX.tmLanguage.json.js} +0 -0
  708. /package/dist/{TeX.tmLanguage.js → vscode-default-extensions/latex/syntaxes/TeX.tmLanguage.json.js} +0 -0
  709. /package/dist/{cpp-grammar-bailout.tmLanguage.js → vscode-default-extensions/latex/syntaxes/cpp-grammar-bailout.tmLanguage.json.js} +0 -0
  710. /package/dist/{markdown-latex-combined.tmLanguage.js → vscode-default-extensions/latex/syntaxes/markdown-latex-combined.tmLanguage.json.js} +0 -0
  711. /package/dist/{language-configuration19.js → vscode-default-extensions/less/language-configuration.json.js} +0 -0
  712. /package/dist/{less.tmLanguage.js → vscode-default-extensions/less/syntaxes/less.tmLanguage.json.js} +0 -0
  713. /package/dist/{log.tmLanguage.js → vscode-default-extensions/log/syntaxes/log.tmLanguage.json.js} +0 -0
  714. /package/dist/{language-configuration20.js → vscode-default-extensions/lua/language-configuration.json.js} +0 -0
  715. /package/dist/{lua.tmLanguage.js → vscode-default-extensions/lua/syntaxes/lua.tmLanguage.json.js} +0 -0
  716. /package/dist/{language-configuration21.js → vscode-default-extensions/make/language-configuration.json.js} +0 -0
  717. /package/dist/{make.tmLanguage.js → vscode-default-extensions/make/syntaxes/make.tmLanguage.json.js} +0 -0
  718. /package/dist/{language-configuration22.js → vscode-default-extensions/markdown-basics/language-configuration.json.js} +0 -0
  719. /package/dist/{markdown.js → vscode-default-extensions/markdown-basics/snippets/markdown.code-snippets.js} +0 -0
  720. /package/dist/{markdown.tmLanguage.js → vscode-default-extensions/markdown-basics/syntaxes/markdown.tmLanguage.json.js} +0 -0
  721. /package/dist/{language-configuration23.js → vscode-default-extensions/objective-c/language-configuration.json.js} +0 -0
  722. /package/dist/{objective-c.tmLanguage.js → vscode-default-extensions/objective-c/syntaxes/objective-c.tmLanguage.json.js} +0 -0
  723. /package/dist/{objective-c__.tmLanguage.js → vscode-default-extensions/objective-c/syntaxes/objective-c__.tmLanguage.json.js} +0 -0
  724. /package/dist/{perl.language-configuration.js → vscode-default-extensions/perl/perl.language-configuration.json.js} +0 -0
  725. /package/dist/{perl6.language-configuration.js → vscode-default-extensions/perl/perl6.language-configuration.json.js} +0 -0
  726. /package/dist/{perl.tmLanguage.js → vscode-default-extensions/perl/syntaxes/perl.tmLanguage.json.js} +0 -0
  727. /package/dist/{perl6.tmLanguage.js → vscode-default-extensions/perl/syntaxes/perl6.tmLanguage.json.js} +0 -0
  728. /package/dist/{language-configuration24.js → vscode-default-extensions/php/language-configuration.json.js} +0 -0
  729. /package/dist/{php.js → vscode-default-extensions/php/snippets/php.code-snippets.js} +0 -0
  730. /package/dist/{html.tmLanguage2.js → vscode-default-extensions/php/syntaxes/html.tmLanguage.json.js} +0 -0
  731. /package/dist/{php.tmLanguage.js → vscode-default-extensions/php/syntaxes/php.tmLanguage.json.js} +0 -0
  732. /package/dist/{language-configuration25.js → vscode-default-extensions/powershell/language-configuration.json.js} +0 -0
  733. /package/dist/{powershell.tmLanguage.js → vscode-default-extensions/powershell/syntaxes/powershell.tmLanguage.json.js} +0 -0
  734. /package/dist/{language-configuration26.js → vscode-default-extensions/pug/language-configuration.json.js} +0 -0
  735. /package/dist/{pug.tmLanguage.js → vscode-default-extensions/pug/syntaxes/pug.tmLanguage.json.js} +0 -0
  736. /package/dist/{language-configuration27.js → vscode-default-extensions/python/language-configuration.json.js} +0 -0
  737. /package/dist/{MagicPython.tmLanguage.js → vscode-default-extensions/python/syntaxes/MagicPython.tmLanguage.json.js} +0 -0
  738. /package/dist/{MagicRegExp.tmLanguage.js → vscode-default-extensions/python/syntaxes/MagicRegExp.tmLanguage.json.js} +0 -0
  739. /package/dist/{language-configuration28.js → vscode-default-extensions/r/language-configuration.json.js} +0 -0
  740. /package/dist/{r.tmLanguage.js → vscode-default-extensions/r/syntaxes/r.tmLanguage.json.js} +0 -0
  741. /package/dist/{language-configuration29.js → vscode-default-extensions/razor/language-configuration.json.js} +0 -0
  742. /package/dist/{cshtml.tmLanguage.js → vscode-default-extensions/razor/syntaxes/cshtml.tmLanguage.json.js} +0 -0
  743. /package/dist/{language-configuration30.js → vscode-default-extensions/ruby/language-configuration.json.js} +0 -0
  744. /package/dist/{ruby.tmLanguage.js → vscode-default-extensions/ruby/syntaxes/ruby.tmLanguage.json.js} +0 -0
  745. /package/dist/{language-configuration31.js → vscode-default-extensions/rust/language-configuration.json.js} +0 -0
  746. /package/dist/{rust.tmLanguage.js → vscode-default-extensions/rust/syntaxes/rust.tmLanguage.json.js} +0 -0
  747. /package/dist/{language-configuration32.js → vscode-default-extensions/scss/language-configuration.json.js} +0 -0
  748. /package/dist/{sassdoc.tmLanguage.js → vscode-default-extensions/scss/syntaxes/sassdoc.tmLanguage.json.js} +0 -0
  749. /package/dist/{scss.tmLanguage.js → vscode-default-extensions/scss/syntaxes/scss.tmLanguage.json.js} +0 -0
  750. /package/dist/{language-configuration33.js → vscode-default-extensions/shaderlab/language-configuration.json.js} +0 -0
  751. /package/dist/{shaderlab.tmLanguage.js → vscode-default-extensions/shaderlab/syntaxes/shaderlab.tmLanguage.json.js} +0 -0
  752. /package/dist/{language-configuration34.js → vscode-default-extensions/shellscript/language-configuration.json.js} +0 -0
  753. /package/dist/{shell-unix-bash.tmLanguage.js → vscode-default-extensions/shellscript/syntaxes/shell-unix-bash.tmLanguage.json.js} +0 -0
  754. /package/dist/{language-configuration35.js → vscode-default-extensions/sql/language-configuration.json.js} +0 -0
  755. /package/dist/{sql.tmLanguage.js → vscode-default-extensions/sql/syntaxes/sql.tmLanguage.json.js} +0 -0
  756. /package/dist/{language-configuration36.js → vscode-default-extensions/swift/language-configuration.json.js} +0 -0
  757. /package/dist/{swift.js → vscode-default-extensions/swift/snippets/swift.code-snippets.js} +0 -0
  758. /package/dist/{swift.tmLanguage.js → vscode-default-extensions/swift/syntaxes/swift.tmLanguage.json.js} +0 -0
  759. /package/dist/{abyss-color-theme.js → vscode-default-extensions/theme-abyss/themes/abyss-color-theme.json.js} +0 -0
  760. /package/dist/{vs_minimal-icon-theme.js → vscode-default-extensions/theme-defaults/fileicons/vs_minimal-icon-theme.json.js} +0 -0
  761. /package/dist/{dark_plus.js → vscode-default-extensions/theme-defaults/themes/dark_plus.json.js} +0 -0
  762. /package/dist/{dark_plus_experimental.js → vscode-default-extensions/theme-defaults/themes/dark_plus_experimental.json.js} +0 -0
  763. /package/dist/{dark_vs.js → vscode-default-extensions/theme-defaults/themes/dark_vs.json.js} +0 -0
  764. /package/dist/{hc_black.js → vscode-default-extensions/theme-defaults/themes/hc_black.json.js} +0 -0
  765. /package/dist/{hc_light.js → vscode-default-extensions/theme-defaults/themes/hc_light.json.js} +0 -0
  766. /package/dist/{light_plus.js → vscode-default-extensions/theme-defaults/themes/light_plus.json.js} +0 -0
  767. /package/dist/{light_plus_experimental.js → vscode-default-extensions/theme-defaults/themes/light_plus_experimental.json.js} +0 -0
  768. /package/dist/{light_vs.js → vscode-default-extensions/theme-defaults/themes/light_vs.json.js} +0 -0
  769. /package/dist/{kimbie-dark-color-theme.js → vscode-default-extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json.js} +0 -0
  770. /package/dist/{monokai-color-theme.js → vscode-default-extensions/theme-monokai/themes/monokai-color-theme.json.js} +0 -0
  771. /package/dist/{dimmed-monokai-color-theme.js → vscode-default-extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json.js} +0 -0
  772. /package/dist/{quietlight-color-theme.js → vscode-default-extensions/theme-quietlight/themes/quietlight-color-theme.json.js} +0 -0
  773. /package/dist/{Red-color-theme.js → vscode-default-extensions/theme-red/themes/Red-color-theme.json.js} +0 -0
  774. /package/dist/{vs-seti-icon-theme.js → vscode-default-extensions/theme-seti/icons/vs-seti-icon-theme.json.js} +0 -0
  775. /package/dist/{solarized-dark-color-theme.js → vscode-default-extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json.js} +0 -0
  776. /package/dist/{solarized-light-color-theme.js → vscode-default-extensions/theme-solarized-light/themes/solarized-light-color-theme.json.js} +0 -0
  777. /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
  778. /package/dist/{language-configuration37.js → vscode-default-extensions/typescript-basics/language-configuration.json.js} +0 -0
  779. /package/dist/{typescript.js → vscode-default-extensions/typescript-basics/snippets/typescript.code-snippets.js} +0 -0
  780. /package/dist/{TypeScript.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/TypeScript.tmLanguage.json.js} +0 -0
  781. /package/dist/{TypeScriptReact.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/TypeScriptReact.tmLanguage.json.js} +0 -0
  782. /package/dist/{jsdoc.js.injection.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/jsdoc.js.injection.tmLanguage.json.js} +0 -0
  783. /package/dist/{jsdoc.ts.injection.tmLanguage.js → vscode-default-extensions/typescript-basics/syntaxes/jsdoc.ts.injection.tmLanguage.json.js} +0 -0
  784. /package/dist/{language-configuration38.js → vscode-default-extensions/vb/language-configuration.json.js} +0 -0
  785. /package/dist/{vb.js → vscode-default-extensions/vb/snippets/vb.code-snippets.js} +0 -0
  786. /package/dist/{asp-vb-net.tmlanguage.js → vscode-default-extensions/vb/syntaxes/asp-vb-net.tmlanguage.json.js} +0 -0
  787. /package/dist/{xml.tmLanguage.js → vscode-default-extensions/xml/syntaxes/xml.tmLanguage.json.js} +0 -0
  788. /package/dist/{xsl.tmLanguage.js → vscode-default-extensions/xml/syntaxes/xsl.tmLanguage.json.js} +0 -0
  789. /package/dist/{xml.language-configuration.js → vscode-default-extensions/xml/xml.language-configuration.json.js} +0 -0
  790. /package/dist/{xsl.language-configuration.js → vscode-default-extensions/xml/xsl.language-configuration.json.js} +0 -0
  791. /package/dist/{language-configuration39.js → vscode-default-extensions/yaml/language-configuration.json.js} +0 -0
  792. /package/dist/{yaml.tmLanguage.js → vscode-default-extensions/yaml/syntaxes/yaml.tmLanguage.json.js} +0 -0
@@ -0,0 +1,2038 @@
1
+ import { URI } from 'monaco-editor/esm/vs/base/common/uri.js';
2
+ import { mixin } from 'monaco-editor/esm/vs/base/common/objects.js';
3
+ import { DocumentSelector, DocumentSymbol as DocumentSymbol$1, SymbolKind, SymbolTag, Range, Position, Hover, EvaluatableExpression, InlineValueContext, InlineValue, DocumentHighlight, location, Selection as Selection$1, CodeActionTriggerKind, Diagnostic, WorkspaceEdit, DataTransfer, TextEdit, WorkspaceSymbol, CompletionContext, CompletionItemKind, CompletionItemTag, MarkdownString, SignatureHelp, InlayHintKind, DocumentLink, Color, ColorPresentation, FoldingRange, SelectionRange, CallHierarchyItem, TypeHierarchyItem, DefinitionLink } from './extHostTypeConverters.js';
4
+ import { Disposable, DocumentSymbol, Range as Range$2, CodeActionKind, SemanticTokens, SemanticTokensEdits, SemanticTokensEdit, SnippetString, Location, CompletionList, InlineCompletionTriggerKind } from './extHostTypes.js';
5
+ import * as languages from 'monaco-editor/esm/vs/editor/common/languages.js';
6
+ import { MainContext } from './extHost.protocol.js';
7
+ import { regExpFlags, regExpLeadsToEndlessLoop } from 'monaco-editor/esm/vs/base/common/strings.js';
8
+ import { Range as Range$1 } from 'monaco-editor/esm/vs/editor/common/core/range.js';
9
+ import { isFalsyOrEmpty, coalesce, isNonEmptyArray } from 'monaco-editor/esm/vs/base/common/arrays.js';
10
+ import { assertType, isObject } from 'monaco-editor/esm/vs/base/common/types.js';
11
+ import { Selection } from 'monaco-editor/esm/vs/editor/common/core/selection.js';
12
+ import { CancellationToken } from 'monaco-editor/esm/vs/base/common/cancellation.js';
13
+ import { DisposableStore } from 'monaco-editor/esm/vs/base/common/lifecycle.js';
14
+ import { encodeSemanticTokensDto } from 'monaco-editor/esm/vs/editor/common/services/semanticTokensDto.js';
15
+ import { IdGenerator } from 'monaco-editor/esm/vs/base/common/idGenerator.js';
16
+ import { Cache } from './cache.js';
17
+ import { StopWatch } from 'monaco-editor/esm/vs/base/common/stopwatch.js';
18
+ import { isCancellationError, NotImplementedError } from 'monaco-editor/esm/vs/base/common/errors.js';
19
+ import { raceCancellationError } from 'monaco-editor/esm/vs/base/common/async.js';
20
+ import { checkProposedApiEnabled, isProposedApiEnabled } from '../../services/extensions/common/extensions.js';
21
+ class DocumentSymbolAdapter {
22
+ constructor(_documents, _provider) {
23
+ this._documents = _documents;
24
+ this._provider = _provider;
25
+ }
26
+ async provideDocumentSymbols(resource, token) {
27
+ const doc = this._documents.getDocument(resource);
28
+ const value = await this._provider.provideDocumentSymbols(doc, token);
29
+ if (isFalsyOrEmpty(value)) {
30
+ return undefined;
31
+ }
32
+ else if (value[0] instanceof DocumentSymbol) {
33
+ return (
34
+ (value.map(DocumentSymbol$1.from))
35
+ );
36
+ }
37
+ else {
38
+ return DocumentSymbolAdapter._asDocumentSymbolTree(value);
39
+ }
40
+ }
41
+ static _asDocumentSymbolTree(infos) {
42
+ infos = infos.slice(0).sort((a, b) => {
43
+ let res = a.location.range.start.compareTo(b.location.range.start);
44
+ if (res === 0) {
45
+ res = b.location.range.end.compareTo(a.location.range.end);
46
+ }
47
+ return res;
48
+ });
49
+ const res = [];
50
+ const parentStack = [];
51
+ for (const info of infos) {
52
+ const element = {
53
+ name: info.name || '!!MISSING: name!!',
54
+ kind: SymbolKind.from(info.kind),
55
+ tags: info.tags?.map(SymbolTag.from) || [],
56
+ detail: '',
57
+ containerName: info.containerName,
58
+ range: Range.from(info.location.range),
59
+ selectionRange: Range.from(info.location.range),
60
+ children: []
61
+ };
62
+ while (true) {
63
+ if (parentStack.length === 0) {
64
+ parentStack.push(element);
65
+ res.push(element);
66
+ break;
67
+ }
68
+ const parent = parentStack[parentStack.length - 1];
69
+ if (Range$1.containsRange(parent.range, element.range) && !Range$1.equalsRange(parent.range, element.range)) {
70
+ parent.children?.push(element);
71
+ parentStack.push(element);
72
+ break;
73
+ }
74
+ parentStack.pop();
75
+ }
76
+ }
77
+ return res;
78
+ }
79
+ }
80
+ class CodeLensAdapter {
81
+ constructor(_documents, _commands, _provider) {
82
+ this._documents = _documents;
83
+ this._commands = _commands;
84
+ this._provider = _provider;
85
+ this._cache = ( (new Cache('CodeLens')));
86
+ this._disposables = ( (new Map()));
87
+ }
88
+ async provideCodeLenses(resource, token) {
89
+ const doc = this._documents.getDocument(resource);
90
+ const lenses = await this._provider.provideCodeLenses(doc, token);
91
+ if (!lenses || token.isCancellationRequested) {
92
+ return undefined;
93
+ }
94
+ const cacheId = this._cache.add(lenses);
95
+ const disposables = ( (new DisposableStore()));
96
+ this._disposables.set(cacheId, disposables);
97
+ const result = {
98
+ cacheId,
99
+ lenses: [],
100
+ };
101
+ for (let i = 0; i < lenses.length; i++) {
102
+ result.lenses.push({
103
+ cacheId: [cacheId, i],
104
+ range: Range.from(lenses[i].range),
105
+ command: this._commands.toInternal(lenses[i].command, disposables)
106
+ });
107
+ }
108
+ return result;
109
+ }
110
+ async resolveCodeLens(symbol, token) {
111
+ const lens = symbol.cacheId && this._cache.get(...symbol.cacheId);
112
+ if (!lens) {
113
+ return undefined;
114
+ }
115
+ let resolvedLens;
116
+ if (typeof this._provider.resolveCodeLens !== 'function' || lens.isResolved) {
117
+ resolvedLens = lens;
118
+ }
119
+ else {
120
+ resolvedLens = await this._provider.resolveCodeLens(lens, token);
121
+ }
122
+ if (!resolvedLens) {
123
+ resolvedLens = lens;
124
+ }
125
+ if (token.isCancellationRequested) {
126
+ return undefined;
127
+ }
128
+ const disposables = symbol.cacheId && this._disposables.get(symbol.cacheId[0]);
129
+ if (!disposables) {
130
+ return undefined;
131
+ }
132
+ symbol.command = this._commands.toInternal(resolvedLens.command ?? CodeLensAdapter._badCmd, disposables);
133
+ return symbol;
134
+ }
135
+ releaseCodeLenses(cachedId) {
136
+ this._disposables.get(cachedId)?.dispose();
137
+ this._disposables.delete(cachedId);
138
+ this._cache.delete(cachedId);
139
+ }
140
+ }
141
+ CodeLensAdapter._badCmd = { command: 'missing', title: '!!MISSING: command!!' };
142
+ function convertToLocationLinks(value) {
143
+ if (Array.isArray(value)) {
144
+ return (
145
+ (value.map(DefinitionLink.from))
146
+ );
147
+ }
148
+ else if (value) {
149
+ return [DefinitionLink.from(value)];
150
+ }
151
+ return [];
152
+ }
153
+ class DefinitionAdapter {
154
+ constructor(_documents, _provider) {
155
+ this._documents = _documents;
156
+ this._provider = _provider;
157
+ }
158
+ async provideDefinition(resource, position, token) {
159
+ const doc = this._documents.getDocument(resource);
160
+ const pos = Position.to(position);
161
+ const value = await this._provider.provideDefinition(doc, pos, token);
162
+ return convertToLocationLinks(value);
163
+ }
164
+ }
165
+ class DeclarationAdapter {
166
+ constructor(_documents, _provider) {
167
+ this._documents = _documents;
168
+ this._provider = _provider;
169
+ }
170
+ async provideDeclaration(resource, position, token) {
171
+ const doc = this._documents.getDocument(resource);
172
+ const pos = Position.to(position);
173
+ const value = await this._provider.provideDeclaration(doc, pos, token);
174
+ return convertToLocationLinks(value);
175
+ }
176
+ }
177
+ class ImplementationAdapter {
178
+ constructor(_documents, _provider) {
179
+ this._documents = _documents;
180
+ this._provider = _provider;
181
+ }
182
+ async provideImplementation(resource, position, token) {
183
+ const doc = this._documents.getDocument(resource);
184
+ const pos = Position.to(position);
185
+ const value = await this._provider.provideImplementation(doc, pos, token);
186
+ return convertToLocationLinks(value);
187
+ }
188
+ }
189
+ class TypeDefinitionAdapter {
190
+ constructor(_documents, _provider) {
191
+ this._documents = _documents;
192
+ this._provider = _provider;
193
+ }
194
+ async provideTypeDefinition(resource, position, token) {
195
+ const doc = this._documents.getDocument(resource);
196
+ const pos = Position.to(position);
197
+ const value = await this._provider.provideTypeDefinition(doc, pos, token);
198
+ return convertToLocationLinks(value);
199
+ }
200
+ }
201
+ class HoverAdapter {
202
+ constructor(_documents, _provider) {
203
+ this._documents = _documents;
204
+ this._provider = _provider;
205
+ }
206
+ async provideHover(resource, position, token) {
207
+ const doc = this._documents.getDocument(resource);
208
+ const pos = Position.to(position);
209
+ const value = await this._provider.provideHover(doc, pos, token);
210
+ if (!value || isFalsyOrEmpty(value.contents)) {
211
+ return undefined;
212
+ }
213
+ if (!value.range) {
214
+ value.range = doc.getWordRangeAtPosition(pos);
215
+ }
216
+ if (!value.range) {
217
+ value.range = ( (new Range$2(pos, pos)));
218
+ }
219
+ return Hover.from(value);
220
+ }
221
+ }
222
+ class EvaluatableExpressionAdapter {
223
+ constructor(_documents, _provider) {
224
+ this._documents = _documents;
225
+ this._provider = _provider;
226
+ }
227
+ async provideEvaluatableExpression(resource, position, token) {
228
+ const doc = this._documents.getDocument(resource);
229
+ const pos = Position.to(position);
230
+ const value = await this._provider.provideEvaluatableExpression(doc, pos, token);
231
+ if (value) {
232
+ return EvaluatableExpression.from(value);
233
+ }
234
+ return undefined;
235
+ }
236
+ }
237
+ class InlineValuesAdapter {
238
+ constructor(_documents, _provider) {
239
+ this._documents = _documents;
240
+ this._provider = _provider;
241
+ }
242
+ async provideInlineValues(resource, viewPort, context, token) {
243
+ const doc = this._documents.getDocument(resource);
244
+ const value = await this._provider.provideInlineValues(doc, Range.to(viewPort), InlineValueContext.to(context), token);
245
+ if (Array.isArray(value)) {
246
+ return (
247
+ (value.map(iv => InlineValue.from(iv)))
248
+ );
249
+ }
250
+ return undefined;
251
+ }
252
+ }
253
+ class DocumentHighlightAdapter {
254
+ constructor(_documents, _provider) {
255
+ this._documents = _documents;
256
+ this._provider = _provider;
257
+ }
258
+ async provideDocumentHighlights(resource, position, token) {
259
+ const doc = this._documents.getDocument(resource);
260
+ const pos = Position.to(position);
261
+ const value = await this._provider.provideDocumentHighlights(doc, pos, token);
262
+ if (Array.isArray(value)) {
263
+ return (
264
+ (value.map(DocumentHighlight.from))
265
+ );
266
+ }
267
+ return undefined;
268
+ }
269
+ }
270
+ class LinkedEditingRangeAdapter {
271
+ constructor(_documents, _provider) {
272
+ this._documents = _documents;
273
+ this._provider = _provider;
274
+ }
275
+ async provideLinkedEditingRanges(resource, position, token) {
276
+ const doc = this._documents.getDocument(resource);
277
+ const pos = Position.to(position);
278
+ const value = await this._provider.provideLinkedEditingRanges(doc, pos, token);
279
+ if (value && Array.isArray(value.ranges)) {
280
+ return {
281
+ ranges: coalesce(( (value.ranges.map(Range.from)))),
282
+ wordPattern: value.wordPattern
283
+ };
284
+ }
285
+ return undefined;
286
+ }
287
+ }
288
+ class ReferenceAdapter {
289
+ constructor(_documents, _provider) {
290
+ this._documents = _documents;
291
+ this._provider = _provider;
292
+ }
293
+ async provideReferences(resource, position, context, token) {
294
+ const doc = this._documents.getDocument(resource);
295
+ const pos = Position.to(position);
296
+ const value = await this._provider.provideReferences(doc, pos, context, token);
297
+ if (Array.isArray(value)) {
298
+ return (
299
+ (value.map(location.from))
300
+ );
301
+ }
302
+ return undefined;
303
+ }
304
+ }
305
+ class CodeActionAdapter {
306
+ constructor(_documents, _commands, _diagnostics, _provider, _logService, _extension, _apiDeprecation) {
307
+ this._documents = _documents;
308
+ this._commands = _commands;
309
+ this._diagnostics = _diagnostics;
310
+ this._provider = _provider;
311
+ this._logService = _logService;
312
+ this._extension = _extension;
313
+ this._apiDeprecation = _apiDeprecation;
314
+ this._cache = ( (new Cache('CodeAction')));
315
+ this._disposables = ( (new Map()));
316
+ }
317
+ async provideCodeActions(resource, rangeOrSelection, context, token) {
318
+ const doc = this._documents.getDocument(resource);
319
+ const ran = Selection.isISelection(rangeOrSelection)
320
+ ? Selection$1.to(rangeOrSelection)
321
+ : Range.to(rangeOrSelection);
322
+ const allDiagnostics = [];
323
+ for (const diagnostic of this._diagnostics.getDiagnostics(resource)) {
324
+ if (ran.intersection(diagnostic.range)) {
325
+ const newLen = allDiagnostics.push(diagnostic);
326
+ if (newLen > CodeActionAdapter._maxCodeActionsPerFile) {
327
+ break;
328
+ }
329
+ }
330
+ }
331
+ const codeActionContext = {
332
+ diagnostics: allDiagnostics,
333
+ only: context.only ? ( (new CodeActionKind(context.only))) : undefined,
334
+ triggerKind: CodeActionTriggerKind.to(context.trigger),
335
+ };
336
+ const commandsOrActions = await this._provider.provideCodeActions(doc, ran, codeActionContext, token);
337
+ if (!isNonEmptyArray(commandsOrActions) || token.isCancellationRequested) {
338
+ return undefined;
339
+ }
340
+ const cacheId = this._cache.add(commandsOrActions);
341
+ const disposables = ( (new DisposableStore()));
342
+ this._disposables.set(cacheId, disposables);
343
+ const actions = [];
344
+ for (let i = 0; i < commandsOrActions.length; i++) {
345
+ const candidate = commandsOrActions[i];
346
+ if (!candidate) {
347
+ continue;
348
+ }
349
+ if (CodeActionAdapter._isCommand(candidate)) {
350
+ this._apiDeprecation.report('CodeActionProvider.provideCodeActions - return commands', this._extension, `Return 'CodeAction' instances instead.`);
351
+ actions.push({
352
+ _isSynthetic: true,
353
+ title: candidate.title,
354
+ command: this._commands.toInternal(candidate, disposables),
355
+ });
356
+ }
357
+ else {
358
+ if (codeActionContext.only) {
359
+ if (!candidate.kind) {
360
+ this._logService.warn(`${this._extension.identifier.value} - Code actions of kind '${codeActionContext.only.value} 'requested but returned code action does not have a 'kind'. Code action will be dropped. Please set 'CodeAction.kind'.`);
361
+ }
362
+ else if (!codeActionContext.only.contains(candidate.kind)) {
363
+ this._logService.warn(`${this._extension.identifier.value} - Code actions of kind '${codeActionContext.only.value} 'requested but returned code action is of kind '${candidate.kind.value}'. Code action will be dropped. Please check 'CodeActionContext.only' to only return requested code actions.`);
364
+ }
365
+ }
366
+ actions.push({
367
+ cacheId: [cacheId, i],
368
+ title: candidate.title,
369
+ command: candidate.command && this._commands.toInternal(candidate.command, disposables),
370
+ diagnostics: candidate.diagnostics && ( (candidate.diagnostics.map(Diagnostic.from))),
371
+ edit: candidate.edit && WorkspaceEdit.from(candidate.edit, undefined),
372
+ kind: candidate.kind && candidate.kind.value,
373
+ isPreferred: candidate.isPreferred,
374
+ disabled: candidate.disabled?.reason
375
+ });
376
+ }
377
+ }
378
+ return { cacheId, actions };
379
+ }
380
+ async resolveCodeAction(id, token) {
381
+ const [sessionId, itemId] = id;
382
+ const item = this._cache.get(sessionId, itemId);
383
+ if (!item || CodeActionAdapter._isCommand(item)) {
384
+ return {};
385
+ }
386
+ if (!this._provider.resolveCodeAction) {
387
+ return {};
388
+ }
389
+ const resolvedItem = (await this._provider.resolveCodeAction(item, token)) ?? item;
390
+ let resolvedEdit;
391
+ if (resolvedItem.edit) {
392
+ resolvedEdit = WorkspaceEdit.from(resolvedItem.edit, undefined);
393
+ }
394
+ let resolvedCommand;
395
+ if (resolvedItem.command) {
396
+ const disposables = this._disposables.get(sessionId);
397
+ if (disposables) {
398
+ resolvedCommand = this._commands.toInternal(resolvedItem.command, disposables);
399
+ }
400
+ }
401
+ return { edit: resolvedEdit, command: resolvedCommand };
402
+ }
403
+ releaseCodeActions(cachedId) {
404
+ this._disposables.get(cachedId)?.dispose();
405
+ this._disposables.delete(cachedId);
406
+ this._cache.delete(cachedId);
407
+ }
408
+ static _isCommand(thing) {
409
+ return typeof thing.command === 'string' && typeof thing.title === 'string';
410
+ }
411
+ }
412
+ CodeActionAdapter._maxCodeActionsPerFile = 1000;
413
+ class DocumentPasteEditProvider {
414
+ constructor(_proxy, _documents, _provider, _handle) {
415
+ this._proxy = _proxy;
416
+ this._documents = _documents;
417
+ this._provider = _provider;
418
+ this._handle = _handle;
419
+ }
420
+ async prepareDocumentPaste(resource, ranges, dataTransferDto, token) {
421
+ if (!this._provider.prepareDocumentPaste) {
422
+ return undefined;
423
+ }
424
+ const doc = this._documents.getDocument(resource);
425
+ const vscodeRanges = ( (ranges.map(range => Range.to(range))));
426
+ const dataTransfer = DataTransfer.toDataTransfer(dataTransferDto, () => {
427
+ throw new NotImplementedError();
428
+ });
429
+ await this._provider.prepareDocumentPaste(doc, vscodeRanges, dataTransfer, token);
430
+ return DataTransfer.toDataTransferDTO(dataTransfer);
431
+ }
432
+ async providePasteEdits(requestId, resource, ranges, dataTransferDto, token) {
433
+ const doc = this._documents.getDocument(resource);
434
+ const vscodeRanges = ( (ranges.map(range => Range.to(range))));
435
+ const dataTransfer = DataTransfer.toDataTransfer(dataTransferDto, async (id) => {
436
+ return (await this._proxy.$resolvePasteFileData(this._handle, requestId, id)).buffer;
437
+ });
438
+ const edit = await this._provider.provideDocumentPasteEdits(doc, vscodeRanges, dataTransfer, token);
439
+ if (!edit) {
440
+ return;
441
+ }
442
+ return {
443
+ insertText: typeof edit.insertText === 'string' ? edit.insertText : { snippet: edit.insertText.value },
444
+ additionalEdit: edit.additionalEdit ? WorkspaceEdit.from(edit.additionalEdit, undefined) : undefined,
445
+ };
446
+ }
447
+ }
448
+ class DocumentFormattingAdapter {
449
+ constructor(_documents, _provider) {
450
+ this._documents = _documents;
451
+ this._provider = _provider;
452
+ }
453
+ async provideDocumentFormattingEdits(resource, options, token) {
454
+ const document = this._documents.getDocument(resource);
455
+ const value = await this._provider.provideDocumentFormattingEdits(document, options, token);
456
+ if (Array.isArray(value)) {
457
+ return (
458
+ (value.map(TextEdit.from))
459
+ );
460
+ }
461
+ return undefined;
462
+ }
463
+ }
464
+ class RangeFormattingAdapter {
465
+ constructor(_documents, _provider) {
466
+ this._documents = _documents;
467
+ this._provider = _provider;
468
+ }
469
+ async provideDocumentRangeFormattingEdits(resource, range, options, token) {
470
+ const document = this._documents.getDocument(resource);
471
+ const ran = Range.to(range);
472
+ const value = await this._provider.provideDocumentRangeFormattingEdits(document, ran, options, token);
473
+ if (Array.isArray(value)) {
474
+ return (
475
+ (value.map(TextEdit.from))
476
+ );
477
+ }
478
+ return undefined;
479
+ }
480
+ async provideDocumentRangesFormattingEdits(resource, ranges, options, token) {
481
+ assertType(typeof this._provider.provideDocumentRangesFormattingEdits === 'function', 'INVALID invocation of `provideDocumentRangesFormattingEdits`');
482
+ const document = this._documents.getDocument(resource);
483
+ const _ranges = ( (ranges.map(Range.to)));
484
+ const value = await this._provider.provideDocumentRangesFormattingEdits(document, _ranges, options, token);
485
+ if (Array.isArray(value)) {
486
+ return (
487
+ (value.map(TextEdit.from))
488
+ );
489
+ }
490
+ return undefined;
491
+ }
492
+ }
493
+ class OnTypeFormattingAdapter {
494
+ constructor(_documents, _provider) {
495
+ this._documents = _documents;
496
+ this._provider = _provider;
497
+ this.autoFormatTriggerCharacters = [];
498
+ }
499
+ async provideOnTypeFormattingEdits(resource, position, ch, options, token) {
500
+ const document = this._documents.getDocument(resource);
501
+ const pos = Position.to(position);
502
+ const value = await this._provider.provideOnTypeFormattingEdits(document, pos, ch, options, token);
503
+ if (Array.isArray(value)) {
504
+ return (
505
+ (value.map(TextEdit.from))
506
+ );
507
+ }
508
+ return undefined;
509
+ }
510
+ }
511
+ class NavigateTypeAdapter {
512
+ constructor(_provider, _logService) {
513
+ this._provider = _provider;
514
+ this._logService = _logService;
515
+ this._cache = ( (new Cache('WorkspaceSymbols')));
516
+ }
517
+ async provideWorkspaceSymbols(search, token) {
518
+ const value = await this._provider.provideWorkspaceSymbols(search, token);
519
+ if (!isNonEmptyArray(value)) {
520
+ return { symbols: [] };
521
+ }
522
+ const sid = this._cache.add(value);
523
+ const result = {
524
+ cacheId: sid,
525
+ symbols: []
526
+ };
527
+ for (let i = 0; i < value.length; i++) {
528
+ const item = value[i];
529
+ if (!item || !item.name) {
530
+ this._logService.warn('INVALID SymbolInformation', item);
531
+ continue;
532
+ }
533
+ result.symbols.push({
534
+ ...WorkspaceSymbol.from(item),
535
+ cacheId: [sid, i]
536
+ });
537
+ }
538
+ return result;
539
+ }
540
+ async resolveWorkspaceSymbol(symbol, token) {
541
+ if (typeof this._provider.resolveWorkspaceSymbol !== 'function') {
542
+ return symbol;
543
+ }
544
+ if (!symbol.cacheId) {
545
+ return symbol;
546
+ }
547
+ const item = this._cache.get(...symbol.cacheId);
548
+ if (item) {
549
+ const value = await this._provider.resolveWorkspaceSymbol(item, token);
550
+ return value && mixin(symbol, WorkspaceSymbol.from(value), true);
551
+ }
552
+ return undefined;
553
+ }
554
+ releaseWorkspaceSymbols(id) {
555
+ this._cache.delete(id);
556
+ }
557
+ }
558
+ class RenameAdapter {
559
+ static supportsResolving(provider) {
560
+ return typeof provider.prepareRename === 'function';
561
+ }
562
+ constructor(_documents, _provider, _logService) {
563
+ this._documents = _documents;
564
+ this._provider = _provider;
565
+ this._logService = _logService;
566
+ }
567
+ async provideRenameEdits(resource, position, newName, token) {
568
+ const doc = this._documents.getDocument(resource);
569
+ const pos = Position.to(position);
570
+ try {
571
+ const value = await this._provider.provideRenameEdits(doc, pos, newName, token);
572
+ if (!value) {
573
+ return undefined;
574
+ }
575
+ return WorkspaceEdit.from(value);
576
+ }
577
+ catch (err) {
578
+ const rejectReason = RenameAdapter._asMessage(err);
579
+ if (rejectReason) {
580
+ return { rejectReason, edits: undefined };
581
+ }
582
+ else {
583
+ return Promise.reject(err);
584
+ }
585
+ }
586
+ }
587
+ async resolveRenameLocation(resource, position, token) {
588
+ if (typeof this._provider.prepareRename !== 'function') {
589
+ return Promise.resolve(undefined);
590
+ }
591
+ const doc = this._documents.getDocument(resource);
592
+ const pos = Position.to(position);
593
+ try {
594
+ const rangeOrLocation = await this._provider.prepareRename(doc, pos, token);
595
+ let range;
596
+ let text;
597
+ if (Range$2.isRange(rangeOrLocation)) {
598
+ range = rangeOrLocation;
599
+ text = doc.getText(rangeOrLocation);
600
+ }
601
+ else if (isObject(rangeOrLocation)) {
602
+ range = rangeOrLocation.range;
603
+ text = rangeOrLocation.placeholder;
604
+ }
605
+ if (!range || !text) {
606
+ return undefined;
607
+ }
608
+ if (range.start.line > pos.line || range.end.line < pos.line) {
609
+ this._logService.warn('INVALID rename location: position line must be within range start/end lines');
610
+ return undefined;
611
+ }
612
+ return { range: Range.from(range), text };
613
+ }
614
+ catch (err) {
615
+ const rejectReason = RenameAdapter._asMessage(err);
616
+ if (rejectReason) {
617
+ return { rejectReason, range: undefined, text: undefined };
618
+ }
619
+ else {
620
+ return Promise.reject(err);
621
+ }
622
+ }
623
+ }
624
+ static _asMessage(err) {
625
+ if (typeof err === 'string') {
626
+ return err;
627
+ }
628
+ else if (err instanceof Error && typeof err.message === 'string') {
629
+ return err.message;
630
+ }
631
+ else {
632
+ return undefined;
633
+ }
634
+ }
635
+ }
636
+ class SemanticTokensPreviousResult {
637
+ constructor(resultId, tokens) {
638
+ this.resultId = resultId;
639
+ this.tokens = tokens;
640
+ }
641
+ }
642
+ class DocumentSemanticTokensAdapter {
643
+ constructor(_documents, _provider) {
644
+ this._documents = _documents;
645
+ this._provider = _provider;
646
+ this._nextResultId = 1;
647
+ this._previousResults = ( (new Map()));
648
+ }
649
+ async provideDocumentSemanticTokens(resource, previousResultId, token) {
650
+ const doc = this._documents.getDocument(resource);
651
+ const previousResult = (previousResultId !== 0 ? this._previousResults.get(previousResultId) : null);
652
+ let value = typeof previousResult?.resultId === 'string' && typeof this._provider.provideDocumentSemanticTokensEdits === 'function'
653
+ ? await this._provider.provideDocumentSemanticTokensEdits(doc, previousResult.resultId, token)
654
+ : await this._provider.provideDocumentSemanticTokens(doc, token);
655
+ if (previousResult) {
656
+ this._previousResults.delete(previousResultId);
657
+ }
658
+ if (!value) {
659
+ return null;
660
+ }
661
+ value = DocumentSemanticTokensAdapter._fixProvidedSemanticTokens(value);
662
+ return this._send(DocumentSemanticTokensAdapter._convertToEdits(previousResult, value), value);
663
+ }
664
+ async releaseDocumentSemanticColoring(semanticColoringResultId) {
665
+ this._previousResults.delete(semanticColoringResultId);
666
+ }
667
+ static _fixProvidedSemanticTokens(v) {
668
+ if (DocumentSemanticTokensAdapter._isSemanticTokens(v)) {
669
+ if (DocumentSemanticTokensAdapter._isCorrectSemanticTokens(v)) {
670
+ return v;
671
+ }
672
+ return (
673
+ (new SemanticTokens( (new Uint32Array(v.data)), v.resultId))
674
+ );
675
+ }
676
+ else if (DocumentSemanticTokensAdapter._isSemanticTokensEdits(v)) {
677
+ if (DocumentSemanticTokensAdapter._isCorrectSemanticTokensEdits(v)) {
678
+ return v;
679
+ }
680
+ return (
681
+ (new SemanticTokensEdits( (v.edits.map(edit => ( (new SemanticTokensEdit(
682
+ edit.start,
683
+ edit.deleteCount,
684
+ edit.data ? ( (new Uint32Array(edit.data))) : edit.data
685
+ ))))), v.resultId))
686
+ );
687
+ }
688
+ return v;
689
+ }
690
+ static _isSemanticTokens(v) {
691
+ return v && !!(v.data);
692
+ }
693
+ static _isCorrectSemanticTokens(v) {
694
+ return (v.data instanceof Uint32Array);
695
+ }
696
+ static _isSemanticTokensEdits(v) {
697
+ return v && Array.isArray(v.edits);
698
+ }
699
+ static _isCorrectSemanticTokensEdits(v) {
700
+ for (const edit of v.edits) {
701
+ if (!(edit.data instanceof Uint32Array)) {
702
+ return false;
703
+ }
704
+ }
705
+ return true;
706
+ }
707
+ static _convertToEdits(previousResult, newResult) {
708
+ if (!DocumentSemanticTokensAdapter._isSemanticTokens(newResult)) {
709
+ return newResult;
710
+ }
711
+ if (!previousResult || !previousResult.tokens) {
712
+ return newResult;
713
+ }
714
+ const oldData = previousResult.tokens;
715
+ const oldLength = oldData.length;
716
+ const newData = newResult.data;
717
+ const newLength = newData.length;
718
+ let commonPrefixLength = 0;
719
+ const maxCommonPrefixLength = Math.min(oldLength, newLength);
720
+ while (commonPrefixLength < maxCommonPrefixLength && oldData[commonPrefixLength] === newData[commonPrefixLength]) {
721
+ commonPrefixLength++;
722
+ }
723
+ if (commonPrefixLength === oldLength && commonPrefixLength === newLength) {
724
+ return (
725
+ (new SemanticTokensEdits([], newResult.resultId))
726
+ );
727
+ }
728
+ let commonSuffixLength = 0;
729
+ const maxCommonSuffixLength = maxCommonPrefixLength - commonPrefixLength;
730
+ while (commonSuffixLength < maxCommonSuffixLength && oldData[oldLength - commonSuffixLength - 1] === newData[newLength - commonSuffixLength - 1]) {
731
+ commonSuffixLength++;
732
+ }
733
+ return (
734
+ (new SemanticTokensEdits([{
735
+ start: commonPrefixLength,
736
+ deleteCount: (oldLength - commonPrefixLength - commonSuffixLength),
737
+ data: newData.subarray(commonPrefixLength, newLength - commonSuffixLength)
738
+ }], newResult.resultId))
739
+ );
740
+ }
741
+ _send(value, original) {
742
+ if (DocumentSemanticTokensAdapter._isSemanticTokens(value)) {
743
+ const myId = this._nextResultId++;
744
+ this._previousResults.set(myId, ( (new SemanticTokensPreviousResult(value.resultId, value.data))));
745
+ return encodeSemanticTokensDto({
746
+ id: myId,
747
+ type: 'full',
748
+ data: value.data
749
+ });
750
+ }
751
+ if (DocumentSemanticTokensAdapter._isSemanticTokensEdits(value)) {
752
+ const myId = this._nextResultId++;
753
+ if (DocumentSemanticTokensAdapter._isSemanticTokens(original)) {
754
+ this._previousResults.set(myId, ( (new SemanticTokensPreviousResult(original.resultId, original.data))));
755
+ }
756
+ else {
757
+ this._previousResults.set(myId, ( (new SemanticTokensPreviousResult(value.resultId))));
758
+ }
759
+ return encodeSemanticTokensDto({
760
+ id: myId,
761
+ type: 'delta',
762
+ deltas: ( ((value.edits || []).map(
763
+ edit => ({ start: edit.start, deleteCount: edit.deleteCount, data: edit.data })
764
+ )))
765
+ });
766
+ }
767
+ return null;
768
+ }
769
+ }
770
+ class DocumentRangeSemanticTokensAdapter {
771
+ constructor(_documents, _provider) {
772
+ this._documents = _documents;
773
+ this._provider = _provider;
774
+ }
775
+ async provideDocumentRangeSemanticTokens(resource, range, token) {
776
+ const doc = this._documents.getDocument(resource);
777
+ const value = await this._provider.provideDocumentRangeSemanticTokens(doc, Range.to(range), token);
778
+ if (!value) {
779
+ return null;
780
+ }
781
+ return this._send(value);
782
+ }
783
+ _send(value) {
784
+ return encodeSemanticTokensDto({
785
+ id: 0,
786
+ type: 'full',
787
+ data: value.data
788
+ });
789
+ }
790
+ }
791
+ class CompletionsAdapter {
792
+ static supportsResolving(provider) {
793
+ return typeof provider.resolveCompletionItem === 'function';
794
+ }
795
+ constructor(_documents, _commands, _provider, _apiDeprecation, _extension) {
796
+ this._documents = _documents;
797
+ this._commands = _commands;
798
+ this._provider = _provider;
799
+ this._apiDeprecation = _apiDeprecation;
800
+ this._extension = _extension;
801
+ this._cache = ( (new Cache('CompletionItem')));
802
+ this._disposables = ( (new Map()));
803
+ }
804
+ async provideCompletionItems(resource, position, context, token) {
805
+ const doc = this._documents.getDocument(resource);
806
+ const pos = Position.to(position);
807
+ const replaceRange = doc.getWordRangeAtPosition(pos) || ( (new Range$2(pos, pos)));
808
+ const insertRange = replaceRange.with({ end: pos });
809
+ const sw = ( (new StopWatch(true)));
810
+ const itemsOrList = await this._provider.provideCompletionItems(doc, pos, token, CompletionContext.to(context));
811
+ if (!itemsOrList) {
812
+ return undefined;
813
+ }
814
+ if (token.isCancellationRequested) {
815
+ return undefined;
816
+ }
817
+ const list = Array.isArray(itemsOrList) ? ( (new CompletionList(itemsOrList))) : itemsOrList;
818
+ const pid = CompletionsAdapter.supportsResolving(this._provider) ? this._cache.add(list.items) : this._cache.add([]);
819
+ const disposables = ( (new DisposableStore()));
820
+ this._disposables.set(pid, disposables);
821
+ const completions = [];
822
+ const result = {
823
+ x: pid,
824
+ ["b" ]: completions,
825
+ ["a" ]: { replace: Range.from(replaceRange), insert: Range.from(insertRange) },
826
+ ["c" ]: list.isIncomplete || undefined,
827
+ ["d" ]: sw.elapsed()
828
+ };
829
+ for (let i = 0; i < list.items.length; i++) {
830
+ const item = list.items[i];
831
+ const dto = this._convertCompletionItem(item, [pid, i], insertRange, replaceRange);
832
+ completions.push(dto);
833
+ }
834
+ return result;
835
+ }
836
+ async resolveCompletionItem(id, token) {
837
+ if (typeof this._provider.resolveCompletionItem !== 'function') {
838
+ return undefined;
839
+ }
840
+ const item = this._cache.get(...id);
841
+ if (!item) {
842
+ return undefined;
843
+ }
844
+ const resolvedItem = await this._provider.resolveCompletionItem(item, token);
845
+ if (!resolvedItem) {
846
+ return undefined;
847
+ }
848
+ return this._convertCompletionItem(resolvedItem, id);
849
+ }
850
+ releaseCompletionItems(id) {
851
+ this._disposables.get(id)?.dispose();
852
+ this._disposables.delete(id);
853
+ this._cache.delete(id);
854
+ }
855
+ _convertCompletionItem(item, id, defaultInsertRange, defaultReplaceRange) {
856
+ const disposables = this._disposables.get(id[0]);
857
+ if (!disposables) {
858
+ throw Error('DisposableStore is missing...');
859
+ }
860
+ const command = this._commands.toInternal(item.command, disposables);
861
+ const result = {
862
+ x: id,
863
+ ["a" ]: item.label,
864
+ ["b" ]: item.kind !== undefined ? CompletionItemKind.from(item.kind) : undefined,
865
+ ["m" ]: item.tags && ( (item.tags.map(CompletionItemTag.from))),
866
+ ["c" ]: item.detail,
867
+ ["d" ]: typeof item.documentation === 'undefined' ? undefined : MarkdownString.fromStrict(item.documentation),
868
+ ["e" ]: item.sortText !== item.label ? item.sortText : undefined,
869
+ ["f" ]: item.filterText !== item.label ? item.filterText : undefined,
870
+ ["g" ]: item.preselect || undefined,
871
+ ["i" ]: item.keepWhitespace ? 1 : 0 ,
872
+ ["k" ]: item.commitCharacters?.join(''),
873
+ ["l" ]: item.additionalTextEdits && ( (item.additionalTextEdits.map(TextEdit.from))),
874
+ ["n" ]: command?.$ident,
875
+ ["o" ]: command?.id,
876
+ ["p" ]: command?.$ident ? undefined : command?.arguments,
877
+ };
878
+ if (item.textEdit) {
879
+ this._apiDeprecation.report('CompletionItem.textEdit', this._extension, `Use 'CompletionItem.insertText' and 'CompletionItem.range' instead.`);
880
+ result["h" ] = item.textEdit.newText;
881
+ }
882
+ else if (typeof item.insertText === 'string') {
883
+ result["h" ] = item.insertText;
884
+ }
885
+ else if (item.insertText instanceof SnippetString) {
886
+ result["h" ] = item.insertText.value;
887
+ result["i" ] |= 4 ;
888
+ }
889
+ let range;
890
+ if (item.textEdit) {
891
+ range = item.textEdit.range;
892
+ }
893
+ else if (item.range) {
894
+ range = item.range;
895
+ }
896
+ if (Range$2.isRange(range)) {
897
+ result["j" ] = Range.from(range);
898
+ }
899
+ else if (range && (!defaultInsertRange?.isEqual(range.inserting) || !defaultReplaceRange?.isEqual(range.replacing))) {
900
+ result["j" ] = {
901
+ insert: Range.from(range.inserting),
902
+ replace: Range.from(range.replacing)
903
+ };
904
+ }
905
+ return result;
906
+ }
907
+ }
908
+ class InlineCompletionAdapterBase {
909
+ async provideInlineCompletions(resource, position, context, token) {
910
+ return undefined;
911
+ }
912
+ disposeCompletions(pid) { }
913
+ handleDidShowCompletionItem(pid, idx) { }
914
+ handlePartialAccept(pid, idx, acceptedCharacters) { }
915
+ }
916
+ class InlineCompletionAdapter extends InlineCompletionAdapterBase {
917
+ constructor(_extension, _documents, _provider, _commands) {
918
+ super();
919
+ this._extension = _extension;
920
+ this._documents = _documents;
921
+ this._provider = _provider;
922
+ this._commands = _commands;
923
+ this._references = ( (new ReferenceMap()));
924
+ this._isAdditionsProposedApiEnabled = isProposedApiEnabled(this._extension, 'inlineCompletionsAdditions');
925
+ this.languageTriggerKindToVSCodeTriggerKind = {
926
+ [languages.InlineCompletionTriggerKind.Automatic]: InlineCompletionTriggerKind.Automatic,
927
+ [languages.InlineCompletionTriggerKind.Explicit]: InlineCompletionTriggerKind.Invoke,
928
+ };
929
+ }
930
+ get supportsHandleEvents() {
931
+ return isProposedApiEnabled(this._extension, 'inlineCompletionsAdditions')
932
+ && (typeof this._provider.handleDidShowCompletionItem === 'function'
933
+ || typeof this._provider.handleDidPartiallyAcceptCompletionItem === 'function');
934
+ }
935
+ async provideInlineCompletions(resource, position, context, token) {
936
+ const doc = this._documents.getDocument(resource);
937
+ const pos = Position.to(position);
938
+ const result = await this._provider.provideInlineCompletionItems(doc, pos, {
939
+ selectedCompletionInfo: context.selectedSuggestionInfo
940
+ ? {
941
+ range: Range.to(context.selectedSuggestionInfo.range),
942
+ text: context.selectedSuggestionInfo.text
943
+ }
944
+ : undefined,
945
+ triggerKind: this.languageTriggerKindToVSCodeTriggerKind[context.triggerKind]
946
+ }, token);
947
+ if (!result) {
948
+ return undefined;
949
+ }
950
+ if (token.isCancellationRequested) {
951
+ return undefined;
952
+ }
953
+ const normalizedResult = Array.isArray(result) ? result : result.items;
954
+ const commands = this._isAdditionsProposedApiEnabled ? Array.isArray(result) ? [] : result.commands || [] : [];
955
+ let disposableStore = undefined;
956
+ const pid = this._references.createReferenceId({
957
+ dispose() {
958
+ disposableStore?.dispose();
959
+ },
960
+ items: normalizedResult
961
+ });
962
+ return {
963
+ pid,
964
+ items: ( (normalizedResult.map((item, idx) => {
965
+ let command = undefined;
966
+ if (item.command) {
967
+ if (!disposableStore) {
968
+ disposableStore = ( (new DisposableStore()));
969
+ }
970
+ command = this._commands.toInternal(item.command, disposableStore);
971
+ }
972
+ const insertText = item.insertText;
973
+ return ({
974
+ insertText: typeof insertText === 'string' ? insertText : { snippet: insertText.value },
975
+ filterText: item.filterText,
976
+ range: item.range ? Range.from(item.range) : undefined,
977
+ command,
978
+ idx: idx,
979
+ completeBracketPairs: this._isAdditionsProposedApiEnabled ? item.completeBracketPairs : false
980
+ });
981
+ }))),
982
+ commands: ( (commands.map(c => {
983
+ if (!disposableStore) {
984
+ disposableStore = ( (new DisposableStore()));
985
+ }
986
+ return this._commands.toInternal(c, disposableStore);
987
+ })))
988
+ };
989
+ }
990
+ disposeCompletions(pid) {
991
+ const data = this._references.disposeReferenceId(pid);
992
+ data?.dispose();
993
+ }
994
+ handleDidShowCompletionItem(pid, idx) {
995
+ const completionItem = this._references.get(pid)?.items[idx];
996
+ if (completionItem) {
997
+ if (this._provider.handleDidShowCompletionItem && this._isAdditionsProposedApiEnabled) {
998
+ this._provider.handleDidShowCompletionItem(completionItem);
999
+ }
1000
+ }
1001
+ }
1002
+ handlePartialAccept(pid, idx, acceptedCharacters) {
1003
+ const completionItem = this._references.get(pid)?.items[idx];
1004
+ if (completionItem) {
1005
+ if (this._provider.handleDidPartiallyAcceptCompletionItem && this._isAdditionsProposedApiEnabled) {
1006
+ this._provider.handleDidPartiallyAcceptCompletionItem(completionItem, acceptedCharacters);
1007
+ }
1008
+ }
1009
+ }
1010
+ }
1011
+ class ReferenceMap {
1012
+ constructor() {
1013
+ this._references = ( (new Map()));
1014
+ this._idPool = 1;
1015
+ }
1016
+ createReferenceId(value) {
1017
+ const id = this._idPool++;
1018
+ this._references.set(id, value);
1019
+ return id;
1020
+ }
1021
+ disposeReferenceId(referenceId) {
1022
+ const value = this._references.get(referenceId);
1023
+ this._references.delete(referenceId);
1024
+ return value;
1025
+ }
1026
+ get(referenceId) {
1027
+ return this._references.get(referenceId);
1028
+ }
1029
+ }
1030
+ class SignatureHelpAdapter {
1031
+ constructor(_documents, _provider) {
1032
+ this._documents = _documents;
1033
+ this._provider = _provider;
1034
+ this._cache = ( (new Cache('SignatureHelp')));
1035
+ }
1036
+ async provideSignatureHelp(resource, position, context, token) {
1037
+ const doc = this._documents.getDocument(resource);
1038
+ const pos = Position.to(position);
1039
+ const vscodeContext = this.reviveContext(context);
1040
+ const value = await this._provider.provideSignatureHelp(doc, pos, token, vscodeContext);
1041
+ if (value) {
1042
+ const id = this._cache.add([value]);
1043
+ return { ...SignatureHelp.from(value), id };
1044
+ }
1045
+ return undefined;
1046
+ }
1047
+ reviveContext(context) {
1048
+ let activeSignatureHelp = undefined;
1049
+ if (context.activeSignatureHelp) {
1050
+ const revivedSignatureHelp = SignatureHelp.to(context.activeSignatureHelp);
1051
+ const saved = this._cache.get(context.activeSignatureHelp.id, 0);
1052
+ if (saved) {
1053
+ activeSignatureHelp = saved;
1054
+ activeSignatureHelp.activeSignature = revivedSignatureHelp.activeSignature;
1055
+ activeSignatureHelp.activeParameter = revivedSignatureHelp.activeParameter;
1056
+ }
1057
+ else {
1058
+ activeSignatureHelp = revivedSignatureHelp;
1059
+ }
1060
+ }
1061
+ return { ...context, activeSignatureHelp };
1062
+ }
1063
+ releaseSignatureHelp(id) {
1064
+ this._cache.delete(id);
1065
+ }
1066
+ }
1067
+ class InlayHintsAdapter {
1068
+ constructor(_documents, _commands, _provider, _logService, _extension) {
1069
+ this._documents = _documents;
1070
+ this._commands = _commands;
1071
+ this._provider = _provider;
1072
+ this._logService = _logService;
1073
+ this._extension = _extension;
1074
+ this._cache = ( (new Cache('InlayHints')));
1075
+ this._disposables = ( (new Map()));
1076
+ }
1077
+ async provideInlayHints(resource, ran, token) {
1078
+ const doc = this._documents.getDocument(resource);
1079
+ const range = Range.to(ran);
1080
+ const hints = await this._provider.provideInlayHints(doc, range, token);
1081
+ if (!Array.isArray(hints) || hints.length === 0) {
1082
+ this._logService.trace(`[InlayHints] NO inlay hints from '${this._extension.identifier.value}' for ${ran}`);
1083
+ return undefined;
1084
+ }
1085
+ if (token.isCancellationRequested) {
1086
+ return undefined;
1087
+ }
1088
+ const pid = this._cache.add(hints);
1089
+ this._disposables.set(pid, ( (new DisposableStore())));
1090
+ const result = { hints: [], cacheId: pid };
1091
+ for (let i = 0; i < hints.length; i++) {
1092
+ if (this._isValidInlayHint(hints[i], range)) {
1093
+ result.hints.push(this._convertInlayHint(hints[i], [pid, i]));
1094
+ }
1095
+ }
1096
+ this._logService.trace(`[InlayHints] ${result.hints.length} inlay hints from '${this._extension.identifier.value}' for ${ran}`);
1097
+ return result;
1098
+ }
1099
+ async resolveInlayHint(id, token) {
1100
+ if (typeof this._provider.resolveInlayHint !== 'function') {
1101
+ return undefined;
1102
+ }
1103
+ const item = this._cache.get(...id);
1104
+ if (!item) {
1105
+ return undefined;
1106
+ }
1107
+ const hint = await this._provider.resolveInlayHint(item, token);
1108
+ if (!hint) {
1109
+ return undefined;
1110
+ }
1111
+ if (!this._isValidInlayHint(hint)) {
1112
+ return undefined;
1113
+ }
1114
+ return this._convertInlayHint(hint, id);
1115
+ }
1116
+ releaseHints(id) {
1117
+ this._disposables.get(id)?.dispose();
1118
+ this._disposables.delete(id);
1119
+ this._cache.delete(id);
1120
+ }
1121
+ _isValidInlayHint(hint, range) {
1122
+ if (hint.label.length === 0 || Array.isArray(hint.label) && hint.label.every(part => part.value.length === 0)) {
1123
+ console.log('INVALID inlay hint, empty label', hint);
1124
+ return false;
1125
+ }
1126
+ if (range && !range.contains(hint.position)) {
1127
+ return false;
1128
+ }
1129
+ return true;
1130
+ }
1131
+ _convertInlayHint(hint, id) {
1132
+ const disposables = this._disposables.get(id[0]);
1133
+ if (!disposables) {
1134
+ throw Error('DisposableStore is missing...');
1135
+ }
1136
+ const result = {
1137
+ label: '',
1138
+ cacheId: id,
1139
+ tooltip: MarkdownString.fromStrict(hint.tooltip),
1140
+ position: Position.from(hint.position),
1141
+ textEdits: hint.textEdits && ( (hint.textEdits.map(TextEdit.from))),
1142
+ kind: hint.kind && InlayHintKind.from(hint.kind),
1143
+ paddingLeft: hint.paddingLeft,
1144
+ paddingRight: hint.paddingRight,
1145
+ };
1146
+ if (typeof hint.label === 'string') {
1147
+ result.label = hint.label;
1148
+ }
1149
+ else {
1150
+ result.label = ( (hint.label.map(part => {
1151
+ const result = { label: part.value };
1152
+ result.tooltip = MarkdownString.fromStrict(part.tooltip);
1153
+ if (Location.isLocation(part.location)) {
1154
+ result.location = location.from(part.location);
1155
+ }
1156
+ if (part.command) {
1157
+ result.command = this._commands.toInternal(part.command, disposables);
1158
+ }
1159
+ return result;
1160
+ })));
1161
+ }
1162
+ return result;
1163
+ }
1164
+ }
1165
+ class LinkProviderAdapter {
1166
+ constructor(_documents, _provider) {
1167
+ this._documents = _documents;
1168
+ this._provider = _provider;
1169
+ this._cache = ( (new Cache('DocumentLink')));
1170
+ }
1171
+ async provideLinks(resource, token) {
1172
+ const doc = this._documents.getDocument(resource);
1173
+ const links = await this._provider.provideDocumentLinks(doc, token);
1174
+ if (!Array.isArray(links) || links.length === 0) {
1175
+ return undefined;
1176
+ }
1177
+ if (token.isCancellationRequested) {
1178
+ return undefined;
1179
+ }
1180
+ if (typeof this._provider.resolveDocumentLink !== 'function') {
1181
+ return { links: ( (links.filter(LinkProviderAdapter._validateLink).map(DocumentLink.from))) };
1182
+ }
1183
+ else {
1184
+ const pid = this._cache.add(links);
1185
+ const result = { links: [], cacheId: pid };
1186
+ for (let i = 0; i < links.length; i++) {
1187
+ if (!LinkProviderAdapter._validateLink(links[i])) {
1188
+ continue;
1189
+ }
1190
+ const dto = DocumentLink.from(links[i]);
1191
+ dto.cacheId = [pid, i];
1192
+ result.links.push(dto);
1193
+ }
1194
+ return result;
1195
+ }
1196
+ }
1197
+ static _validateLink(link) {
1198
+ if (link.target && link.target.path.length > 50000) {
1199
+ console.warn('DROPPING link because it is too long');
1200
+ return false;
1201
+ }
1202
+ return true;
1203
+ }
1204
+ async resolveLink(id, token) {
1205
+ if (typeof this._provider.resolveDocumentLink !== 'function') {
1206
+ return undefined;
1207
+ }
1208
+ const item = this._cache.get(...id);
1209
+ if (!item) {
1210
+ return undefined;
1211
+ }
1212
+ const link = await this._provider.resolveDocumentLink(item, token);
1213
+ if (!link || !LinkProviderAdapter._validateLink(link)) {
1214
+ return undefined;
1215
+ }
1216
+ return DocumentLink.from(link);
1217
+ }
1218
+ releaseLinks(id) {
1219
+ this._cache.delete(id);
1220
+ }
1221
+ }
1222
+ class ColorProviderAdapter {
1223
+ constructor(_documents, _provider) {
1224
+ this._documents = _documents;
1225
+ this._provider = _provider;
1226
+ }
1227
+ async provideColors(resource, token) {
1228
+ const doc = this._documents.getDocument(resource);
1229
+ const colors = await this._provider.provideDocumentColors(doc, token);
1230
+ if (!Array.isArray(colors)) {
1231
+ return [];
1232
+ }
1233
+ const colorInfos = ( (colors.map(ci => {
1234
+ return {
1235
+ color: Color.from(ci.color),
1236
+ range: Range.from(ci.range)
1237
+ };
1238
+ })));
1239
+ return colorInfos;
1240
+ }
1241
+ async provideColorPresentations(resource, raw, token) {
1242
+ const document = this._documents.getDocument(resource);
1243
+ const range = Range.to(raw.range);
1244
+ const color = Color.to(raw.color);
1245
+ const value = await this._provider.provideColorPresentations(color, { document, range }, token);
1246
+ if (!Array.isArray(value)) {
1247
+ return undefined;
1248
+ }
1249
+ return (
1250
+ (value.map(ColorPresentation.from))
1251
+ );
1252
+ }
1253
+ }
1254
+ class FoldingProviderAdapter {
1255
+ constructor(_documents, _provider) {
1256
+ this._documents = _documents;
1257
+ this._provider = _provider;
1258
+ }
1259
+ async provideFoldingRanges(resource, context, token) {
1260
+ const doc = this._documents.getDocument(resource);
1261
+ const ranges = await this._provider.provideFoldingRanges(doc, context, token);
1262
+ if (!Array.isArray(ranges)) {
1263
+ return undefined;
1264
+ }
1265
+ return (
1266
+ (ranges.map(FoldingRange.from))
1267
+ );
1268
+ }
1269
+ }
1270
+ class SelectionRangeAdapter {
1271
+ constructor(_documents, _provider, _logService) {
1272
+ this._documents = _documents;
1273
+ this._provider = _provider;
1274
+ this._logService = _logService;
1275
+ }
1276
+ async provideSelectionRanges(resource, pos, token) {
1277
+ const document = this._documents.getDocument(resource);
1278
+ const positions = ( (pos.map(Position.to)));
1279
+ const allProviderRanges = await this._provider.provideSelectionRanges(document, positions, token);
1280
+ if (!isNonEmptyArray(allProviderRanges)) {
1281
+ return [];
1282
+ }
1283
+ if (allProviderRanges.length !== positions.length) {
1284
+ this._logService.warn('BAD selection ranges, provider must return ranges for each position');
1285
+ return [];
1286
+ }
1287
+ const allResults = [];
1288
+ for (let i = 0; i < positions.length; i++) {
1289
+ const oneResult = [];
1290
+ allResults.push(oneResult);
1291
+ let last = positions[i];
1292
+ let selectionRange = allProviderRanges[i];
1293
+ while (true) {
1294
+ if (!selectionRange.range.contains(last)) {
1295
+ throw new Error('INVALID selection range, must contain the previous range');
1296
+ }
1297
+ oneResult.push(SelectionRange.from(selectionRange));
1298
+ if (!selectionRange.parent) {
1299
+ break;
1300
+ }
1301
+ last = selectionRange.range;
1302
+ selectionRange = selectionRange.parent;
1303
+ }
1304
+ }
1305
+ return allResults;
1306
+ }
1307
+ }
1308
+ class CallHierarchyAdapter {
1309
+ constructor(_documents, _provider) {
1310
+ this._documents = _documents;
1311
+ this._provider = _provider;
1312
+ this._idPool = ( (new IdGenerator('')));
1313
+ this._cache = ( (new Map()));
1314
+ }
1315
+ async prepareSession(uri, position, token) {
1316
+ const doc = this._documents.getDocument(uri);
1317
+ const pos = Position.to(position);
1318
+ const items = await this._provider.prepareCallHierarchy(doc, pos, token);
1319
+ if (!items) {
1320
+ return undefined;
1321
+ }
1322
+ const sessionId = this._idPool.nextId();
1323
+ this._cache.set(sessionId, ( (new Map())));
1324
+ if (Array.isArray(items)) {
1325
+ return (
1326
+ (items.map(item => this._cacheAndConvertItem(sessionId, item)))
1327
+ );
1328
+ }
1329
+ else {
1330
+ return [this._cacheAndConvertItem(sessionId, items)];
1331
+ }
1332
+ }
1333
+ async provideCallsTo(sessionId, itemId, token) {
1334
+ const item = this._itemFromCache(sessionId, itemId);
1335
+ if (!item) {
1336
+ throw new Error('missing call hierarchy item');
1337
+ }
1338
+ const calls = await this._provider.provideCallHierarchyIncomingCalls(item, token);
1339
+ if (!calls) {
1340
+ return undefined;
1341
+ }
1342
+ return (
1343
+ (calls.map(call => {
1344
+ return {
1345
+ from: this._cacheAndConvertItem(sessionId, call.from),
1346
+ fromRanges: ( (call.fromRanges.map(r => Range.from(r))))
1347
+ };
1348
+ }))
1349
+ );
1350
+ }
1351
+ async provideCallsFrom(sessionId, itemId, token) {
1352
+ const item = this._itemFromCache(sessionId, itemId);
1353
+ if (!item) {
1354
+ throw new Error('missing call hierarchy item');
1355
+ }
1356
+ const calls = await this._provider.provideCallHierarchyOutgoingCalls(item, token);
1357
+ if (!calls) {
1358
+ return undefined;
1359
+ }
1360
+ return (
1361
+ (calls.map(call => {
1362
+ return {
1363
+ to: this._cacheAndConvertItem(sessionId, call.to),
1364
+ fromRanges: ( (call.fromRanges.map(r => Range.from(r))))
1365
+ };
1366
+ }))
1367
+ );
1368
+ }
1369
+ releaseSession(sessionId) {
1370
+ this._cache.delete(sessionId);
1371
+ }
1372
+ _cacheAndConvertItem(sessionId, item) {
1373
+ const map = this._cache.get(sessionId);
1374
+ const dto = CallHierarchyItem.from(item, sessionId, ( (map.size.toString(36))));
1375
+ map.set(dto._itemId, item);
1376
+ return dto;
1377
+ }
1378
+ _itemFromCache(sessionId, itemId) {
1379
+ const map = this._cache.get(sessionId);
1380
+ return map?.get(itemId);
1381
+ }
1382
+ }
1383
+ class TypeHierarchyAdapter {
1384
+ constructor(_documents, _provider) {
1385
+ this._documents = _documents;
1386
+ this._provider = _provider;
1387
+ this._idPool = ( (new IdGenerator('')));
1388
+ this._cache = ( (new Map()));
1389
+ }
1390
+ async prepareSession(uri, position, token) {
1391
+ const doc = this._documents.getDocument(uri);
1392
+ const pos = Position.to(position);
1393
+ const items = await this._provider.prepareTypeHierarchy(doc, pos, token);
1394
+ if (!items) {
1395
+ return undefined;
1396
+ }
1397
+ const sessionId = this._idPool.nextId();
1398
+ this._cache.set(sessionId, ( (new Map())));
1399
+ if (Array.isArray(items)) {
1400
+ return (
1401
+ (items.map(item => this._cacheAndConvertItem(sessionId, item)))
1402
+ );
1403
+ }
1404
+ else {
1405
+ return [this._cacheAndConvertItem(sessionId, items)];
1406
+ }
1407
+ }
1408
+ async provideSupertypes(sessionId, itemId, token) {
1409
+ const item = this._itemFromCache(sessionId, itemId);
1410
+ if (!item) {
1411
+ throw new Error('missing type hierarchy item');
1412
+ }
1413
+ const supertypes = await this._provider.provideTypeHierarchySupertypes(item, token);
1414
+ if (!supertypes) {
1415
+ return undefined;
1416
+ }
1417
+ return (
1418
+ (supertypes.map(supertype => {
1419
+ return this._cacheAndConvertItem(sessionId, supertype);
1420
+ }))
1421
+ );
1422
+ }
1423
+ async provideSubtypes(sessionId, itemId, token) {
1424
+ const item = this._itemFromCache(sessionId, itemId);
1425
+ if (!item) {
1426
+ throw new Error('missing type hierarchy item');
1427
+ }
1428
+ const subtypes = await this._provider.provideTypeHierarchySubtypes(item, token);
1429
+ if (!subtypes) {
1430
+ return undefined;
1431
+ }
1432
+ return (
1433
+ (subtypes.map(subtype => {
1434
+ return this._cacheAndConvertItem(sessionId, subtype);
1435
+ }))
1436
+ );
1437
+ }
1438
+ releaseSession(sessionId) {
1439
+ this._cache.delete(sessionId);
1440
+ }
1441
+ _cacheAndConvertItem(sessionId, item) {
1442
+ const map = this._cache.get(sessionId);
1443
+ const dto = TypeHierarchyItem.from(item, sessionId, ( (map.size.toString(36))));
1444
+ map.set(dto._itemId, item);
1445
+ return dto;
1446
+ }
1447
+ _itemFromCache(sessionId, itemId) {
1448
+ const map = this._cache.get(sessionId);
1449
+ return map?.get(itemId);
1450
+ }
1451
+ }
1452
+ class DocumentOnDropEditAdapter {
1453
+ constructor(_proxy, _documents, _provider, _handle) {
1454
+ this._proxy = _proxy;
1455
+ this._documents = _documents;
1456
+ this._provider = _provider;
1457
+ this._handle = _handle;
1458
+ }
1459
+ async provideDocumentOnDropEdits(requestId, uri, position, dataTransferDto, token) {
1460
+ const doc = this._documents.getDocument(uri);
1461
+ const pos = Position.to(position);
1462
+ const dataTransfer = DataTransfer.toDataTransfer(dataTransferDto, async (id) => {
1463
+ return (await this._proxy.$resolveDocumentOnDropFileData(this._handle, requestId, id)).buffer;
1464
+ });
1465
+ const edit = await this._provider.provideDocumentDropEdits(doc, pos, dataTransfer, token);
1466
+ if (!edit) {
1467
+ return undefined;
1468
+ }
1469
+ return {
1470
+ insertText: typeof edit.insertText === 'string' ? edit.insertText : { snippet: edit.insertText.value },
1471
+ additionalEdit: edit.additionalEdit ? WorkspaceEdit.from(edit.additionalEdit, undefined) : undefined,
1472
+ };
1473
+ }
1474
+ }
1475
+ class AdapterData {
1476
+ constructor(adapter, extension) {
1477
+ this.adapter = adapter;
1478
+ this.extension = extension;
1479
+ }
1480
+ }
1481
+ class ExtHostLanguageFeatures {
1482
+ constructor(mainContext, _uriTransformer, _documents, _commands, _diagnostics, _logService, _apiDeprecation, _extensionTelemetry) {
1483
+ this._uriTransformer = _uriTransformer;
1484
+ this._documents = _documents;
1485
+ this._commands = _commands;
1486
+ this._diagnostics = _diagnostics;
1487
+ this._logService = _logService;
1488
+ this._apiDeprecation = _apiDeprecation;
1489
+ this._extensionTelemetry = _extensionTelemetry;
1490
+ this._adapter = ( (new Map()));
1491
+ this._proxy = ( (mainContext.getProxy(MainContext.MainThreadLanguageFeatures)));
1492
+ }
1493
+ _transformDocumentSelector(selector) {
1494
+ return DocumentSelector.from(selector, this._uriTransformer);
1495
+ }
1496
+ _createDisposable(handle) {
1497
+ return (
1498
+ (new Disposable(() => {
1499
+ this._adapter.delete(handle);
1500
+ this._proxy.$unregister(handle);
1501
+ }))
1502
+ );
1503
+ }
1504
+ _nextHandle() {
1505
+ return ExtHostLanguageFeatures._handlePool++;
1506
+ }
1507
+ async _withAdapter(handle, ctor, callback, fallbackValue, tokenToRaceAgainst, doNotLog = false) {
1508
+ const data = this._adapter.get(handle);
1509
+ if (!data || !(data.adapter instanceof ctor)) {
1510
+ return fallbackValue;
1511
+ }
1512
+ const t1 = Date.now();
1513
+ if (!doNotLog) {
1514
+ this._logService.trace(`[${data.extension.identifier.value}] INVOKE provider '${( ( callback.toString())).replace(/[\r\n]/g, '')}'`);
1515
+ }
1516
+ const result = callback(data.adapter, data.extension);
1517
+ Promise.resolve(result).catch(err => {
1518
+ if (!isCancellationError(err)) {
1519
+ this._logService.error(`[${data.extension.identifier.value}] provider FAILED`);
1520
+ this._logService.error(err);
1521
+ this._extensionTelemetry.onExtensionError(data.extension.identifier, err);
1522
+ }
1523
+ }).finally(() => {
1524
+ if (!doNotLog) {
1525
+ this._logService.trace(`[${data.extension.identifier.value}] provider DONE after ${Date.now() - t1}ms`);
1526
+ }
1527
+ });
1528
+ if (CancellationToken.isCancellationToken(tokenToRaceAgainst)) {
1529
+ return raceCancellationError(result, tokenToRaceAgainst);
1530
+ }
1531
+ return result;
1532
+ }
1533
+ _addNewAdapter(adapter, extension) {
1534
+ const handle = this._nextHandle();
1535
+ this._adapter.set(handle, ( (new AdapterData(adapter, extension))));
1536
+ return handle;
1537
+ }
1538
+ static _extLabel(ext) {
1539
+ return ext.displayName || ext.name;
1540
+ }
1541
+ registerDocumentSymbolProvider(extension, selector, provider, metadata) {
1542
+ const handle = this._addNewAdapter(( (new DocumentSymbolAdapter(this._documents, provider))), extension);
1543
+ const displayName = (metadata && metadata.label) || ExtHostLanguageFeatures._extLabel(extension);
1544
+ this._proxy.$registerDocumentSymbolProvider(handle, this._transformDocumentSelector(selector), displayName);
1545
+ return this._createDisposable(handle);
1546
+ }
1547
+ $provideDocumentSymbols(handle, resource, token) {
1548
+ return this._withAdapter(handle, DocumentSymbolAdapter, adapter => adapter.provideDocumentSymbols(URI.revive(resource), token), undefined, token);
1549
+ }
1550
+ registerCodeLensProvider(extension, selector, provider) {
1551
+ const handle = this._nextHandle();
1552
+ const eventHandle = typeof provider.onDidChangeCodeLenses === 'function' ? this._nextHandle() : undefined;
1553
+ this._adapter.set(handle, ( (new AdapterData(
1554
+ (new CodeLensAdapter(this._documents, this._commands.converter, provider)),
1555
+ extension
1556
+ ))));
1557
+ this._proxy.$registerCodeLensSupport(handle, this._transformDocumentSelector(selector), eventHandle);
1558
+ let result = this._createDisposable(handle);
1559
+ if (eventHandle !== undefined) {
1560
+ const subscription = provider.onDidChangeCodeLenses(_ => this._proxy.$emitCodeLensEvent(eventHandle));
1561
+ result = Disposable.from(result, subscription);
1562
+ }
1563
+ return result;
1564
+ }
1565
+ $provideCodeLenses(handle, resource, token) {
1566
+ return this._withAdapter(handle, CodeLensAdapter, adapter => adapter.provideCodeLenses(URI.revive(resource), token), undefined, token);
1567
+ }
1568
+ $resolveCodeLens(handle, symbol, token) {
1569
+ return this._withAdapter(handle, CodeLensAdapter, adapter => adapter.resolveCodeLens(symbol, token), undefined, undefined);
1570
+ }
1571
+ $releaseCodeLenses(handle, cacheId) {
1572
+ this._withAdapter(handle, CodeLensAdapter, adapter => Promise.resolve(adapter.releaseCodeLenses(cacheId)), undefined, undefined);
1573
+ }
1574
+ registerDefinitionProvider(extension, selector, provider) {
1575
+ const handle = this._addNewAdapter(( (new DefinitionAdapter(this._documents, provider))), extension);
1576
+ this._proxy.$registerDefinitionSupport(handle, this._transformDocumentSelector(selector));
1577
+ return this._createDisposable(handle);
1578
+ }
1579
+ $provideDefinition(handle, resource, position, token) {
1580
+ return this._withAdapter(handle, DefinitionAdapter, adapter => adapter.provideDefinition(URI.revive(resource), position, token), [], token);
1581
+ }
1582
+ registerDeclarationProvider(extension, selector, provider) {
1583
+ const handle = this._addNewAdapter(( (new DeclarationAdapter(this._documents, provider))), extension);
1584
+ this._proxy.$registerDeclarationSupport(handle, this._transformDocumentSelector(selector));
1585
+ return this._createDisposable(handle);
1586
+ }
1587
+ $provideDeclaration(handle, resource, position, token) {
1588
+ return this._withAdapter(handle, DeclarationAdapter, adapter => adapter.provideDeclaration(URI.revive(resource), position, token), [], token);
1589
+ }
1590
+ registerImplementationProvider(extension, selector, provider) {
1591
+ const handle = this._addNewAdapter(( (new ImplementationAdapter(this._documents, provider))), extension);
1592
+ this._proxy.$registerImplementationSupport(handle, this._transformDocumentSelector(selector));
1593
+ return this._createDisposable(handle);
1594
+ }
1595
+ $provideImplementation(handle, resource, position, token) {
1596
+ return this._withAdapter(handle, ImplementationAdapter, adapter => adapter.provideImplementation(URI.revive(resource), position, token), [], token);
1597
+ }
1598
+ registerTypeDefinitionProvider(extension, selector, provider) {
1599
+ const handle = this._addNewAdapter(( (new TypeDefinitionAdapter(this._documents, provider))), extension);
1600
+ this._proxy.$registerTypeDefinitionSupport(handle, this._transformDocumentSelector(selector));
1601
+ return this._createDisposable(handle);
1602
+ }
1603
+ $provideTypeDefinition(handle, resource, position, token) {
1604
+ return this._withAdapter(handle, TypeDefinitionAdapter, adapter => adapter.provideTypeDefinition(URI.revive(resource), position, token), [], token);
1605
+ }
1606
+ registerHoverProvider(extension, selector, provider, extensionId) {
1607
+ const handle = this._addNewAdapter(( (new HoverAdapter(this._documents, provider))), extension);
1608
+ this._proxy.$registerHoverProvider(handle, this._transformDocumentSelector(selector));
1609
+ return this._createDisposable(handle);
1610
+ }
1611
+ $provideHover(handle, resource, position, token) {
1612
+ return this._withAdapter(handle, HoverAdapter, adapter => adapter.provideHover(URI.revive(resource), position, token), undefined, token);
1613
+ }
1614
+ registerEvaluatableExpressionProvider(extension, selector, provider, extensionId) {
1615
+ const handle = this._addNewAdapter(( (new EvaluatableExpressionAdapter(this._documents, provider))), extension);
1616
+ this._proxy.$registerEvaluatableExpressionProvider(handle, this._transformDocumentSelector(selector));
1617
+ return this._createDisposable(handle);
1618
+ }
1619
+ $provideEvaluatableExpression(handle, resource, position, token) {
1620
+ return this._withAdapter(handle, EvaluatableExpressionAdapter, adapter => adapter.provideEvaluatableExpression(URI.revive(resource), position, token), undefined, token);
1621
+ }
1622
+ registerInlineValuesProvider(extension, selector, provider, extensionId) {
1623
+ const eventHandle = typeof provider.onDidChangeInlineValues === 'function' ? this._nextHandle() : undefined;
1624
+ const handle = this._addNewAdapter(( (new InlineValuesAdapter(this._documents, provider))), extension);
1625
+ this._proxy.$registerInlineValuesProvider(handle, this._transformDocumentSelector(selector), eventHandle);
1626
+ let result = this._createDisposable(handle);
1627
+ if (eventHandle !== undefined) {
1628
+ const subscription = provider.onDidChangeInlineValues(_ => this._proxy.$emitInlineValuesEvent(eventHandle));
1629
+ result = Disposable.from(result, subscription);
1630
+ }
1631
+ return result;
1632
+ }
1633
+ $provideInlineValues(handle, resource, range, context, token) {
1634
+ return this._withAdapter(handle, InlineValuesAdapter, adapter => adapter.provideInlineValues(URI.revive(resource), range, context, token), undefined, token);
1635
+ }
1636
+ registerDocumentHighlightProvider(extension, selector, provider) {
1637
+ const handle = this._addNewAdapter(( (new DocumentHighlightAdapter(this._documents, provider))), extension);
1638
+ this._proxy.$registerDocumentHighlightProvider(handle, this._transformDocumentSelector(selector));
1639
+ return this._createDisposable(handle);
1640
+ }
1641
+ $provideDocumentHighlights(handle, resource, position, token) {
1642
+ return this._withAdapter(handle, DocumentHighlightAdapter, adapter => adapter.provideDocumentHighlights(URI.revive(resource), position, token), undefined, token);
1643
+ }
1644
+ registerLinkedEditingRangeProvider(extension, selector, provider) {
1645
+ const handle = this._addNewAdapter(( (new LinkedEditingRangeAdapter(this._documents, provider))), extension);
1646
+ this._proxy.$registerLinkedEditingRangeProvider(handle, this._transformDocumentSelector(selector));
1647
+ return this._createDisposable(handle);
1648
+ }
1649
+ $provideLinkedEditingRanges(handle, resource, position, token) {
1650
+ return this._withAdapter(handle, LinkedEditingRangeAdapter, async (adapter) => {
1651
+ const res = await adapter.provideLinkedEditingRanges(URI.revive(resource), position, token);
1652
+ if (res) {
1653
+ return {
1654
+ ranges: res.ranges,
1655
+ wordPattern: res.wordPattern ? ExtHostLanguageFeatures._serializeRegExp(res.wordPattern) : undefined
1656
+ };
1657
+ }
1658
+ return undefined;
1659
+ }, undefined, token);
1660
+ }
1661
+ registerReferenceProvider(extension, selector, provider) {
1662
+ const handle = this._addNewAdapter(( (new ReferenceAdapter(this._documents, provider))), extension);
1663
+ this._proxy.$registerReferenceSupport(handle, this._transformDocumentSelector(selector));
1664
+ return this._createDisposable(handle);
1665
+ }
1666
+ $provideReferences(handle, resource, position, context, token) {
1667
+ return this._withAdapter(handle, ReferenceAdapter, adapter => adapter.provideReferences(URI.revive(resource), position, context, token), undefined, token);
1668
+ }
1669
+ registerCodeActionProvider(extension, selector, provider, metadata) {
1670
+ const store = ( (new DisposableStore()));
1671
+ const handle = this._addNewAdapter(( (new CodeActionAdapter(
1672
+ this._documents,
1673
+ this._commands.converter,
1674
+ this._diagnostics,
1675
+ provider,
1676
+ this._logService,
1677
+ extension,
1678
+ this._apiDeprecation
1679
+ ))), extension);
1680
+ this._proxy.$registerQuickFixSupport(handle, this._transformDocumentSelector(selector), {
1681
+ providedKinds: metadata?.providedCodeActionKinds?.map(kind => kind.value),
1682
+ documentation: metadata?.documentation?.map(x => ({
1683
+ kind: x.kind.value,
1684
+ command: this._commands.converter.toInternal(x.command, store),
1685
+ }))
1686
+ }, ExtHostLanguageFeatures._extLabel(extension), Boolean(provider.resolveCodeAction));
1687
+ store.add(this._createDisposable(handle));
1688
+ return store;
1689
+ }
1690
+ $provideCodeActions(handle, resource, rangeOrSelection, context, token) {
1691
+ return this._withAdapter(handle, CodeActionAdapter, adapter => adapter.provideCodeActions(URI.revive(resource), rangeOrSelection, context, token), undefined, token);
1692
+ }
1693
+ $resolveCodeAction(handle, id, token) {
1694
+ return this._withAdapter(handle, CodeActionAdapter, adapter => adapter.resolveCodeAction(id, token), {}, undefined);
1695
+ }
1696
+ $releaseCodeActions(handle, cacheId) {
1697
+ this._withAdapter(handle, CodeActionAdapter, adapter => Promise.resolve(adapter.releaseCodeActions(cacheId)), undefined, undefined);
1698
+ }
1699
+ registerDocumentFormattingEditProvider(extension, selector, provider) {
1700
+ const handle = this._addNewAdapter(( (new DocumentFormattingAdapter(this._documents, provider))), extension);
1701
+ this._proxy.$registerDocumentFormattingSupport(handle, this._transformDocumentSelector(selector), extension.identifier, extension.displayName || extension.name);
1702
+ return this._createDisposable(handle);
1703
+ }
1704
+ $provideDocumentFormattingEdits(handle, resource, options, token) {
1705
+ return this._withAdapter(handle, DocumentFormattingAdapter, adapter => adapter.provideDocumentFormattingEdits(URI.revive(resource), options, token), undefined, token);
1706
+ }
1707
+ registerDocumentRangeFormattingEditProvider(extension, selector, provider) {
1708
+ const canFormatMultipleRanges = typeof provider.provideDocumentRangesFormattingEdits === 'function';
1709
+ if (canFormatMultipleRanges) {
1710
+ checkProposedApiEnabled(extension, 'formatMultipleRanges');
1711
+ }
1712
+ const handle = this._addNewAdapter(( (new RangeFormattingAdapter(this._documents, provider))), extension);
1713
+ this._proxy.$registerRangeFormattingSupport(handle, this._transformDocumentSelector(selector), extension.identifier, extension.displayName || extension.name, canFormatMultipleRanges);
1714
+ return this._createDisposable(handle);
1715
+ }
1716
+ $provideDocumentRangeFormattingEdits(handle, resource, range, options, token) {
1717
+ return this._withAdapter(handle, RangeFormattingAdapter, adapter => adapter.provideDocumentRangeFormattingEdits(URI.revive(resource), range, options, token), undefined, token);
1718
+ }
1719
+ $provideDocumentRangesFormattingEdits(handle, resource, ranges, options, token) {
1720
+ return this._withAdapter(handle, RangeFormattingAdapter, adapter => adapter.provideDocumentRangesFormattingEdits(URI.revive(resource), ranges, options, token), undefined, token);
1721
+ }
1722
+ registerOnTypeFormattingEditProvider(extension, selector, provider, triggerCharacters) {
1723
+ const handle = this._addNewAdapter(( (new OnTypeFormattingAdapter(this._documents, provider))), extension);
1724
+ this._proxy.$registerOnTypeFormattingSupport(handle, this._transformDocumentSelector(selector), triggerCharacters, extension.identifier);
1725
+ return this._createDisposable(handle);
1726
+ }
1727
+ $provideOnTypeFormattingEdits(handle, resource, position, ch, options, token) {
1728
+ return this._withAdapter(handle, OnTypeFormattingAdapter, adapter => adapter.provideOnTypeFormattingEdits(URI.revive(resource), position, ch, options, token), undefined, token);
1729
+ }
1730
+ registerWorkspaceSymbolProvider(extension, provider) {
1731
+ const handle = this._addNewAdapter(( (new NavigateTypeAdapter(provider, this._logService))), extension);
1732
+ this._proxy.$registerNavigateTypeSupport(handle, typeof provider.resolveWorkspaceSymbol === 'function');
1733
+ return this._createDisposable(handle);
1734
+ }
1735
+ $provideWorkspaceSymbols(handle, search, token) {
1736
+ return this._withAdapter(handle, NavigateTypeAdapter, adapter => adapter.provideWorkspaceSymbols(search, token), { symbols: [] }, token);
1737
+ }
1738
+ $resolveWorkspaceSymbol(handle, symbol, token) {
1739
+ return this._withAdapter(handle, NavigateTypeAdapter, adapter => adapter.resolveWorkspaceSymbol(symbol, token), undefined, undefined);
1740
+ }
1741
+ $releaseWorkspaceSymbols(handle, id) {
1742
+ this._withAdapter(handle, NavigateTypeAdapter, adapter => adapter.releaseWorkspaceSymbols(id), undefined, undefined);
1743
+ }
1744
+ registerRenameProvider(extension, selector, provider) {
1745
+ const handle = this._addNewAdapter(( (new RenameAdapter(this._documents, provider, this._logService))), extension);
1746
+ this._proxy.$registerRenameSupport(handle, this._transformDocumentSelector(selector), RenameAdapter.supportsResolving(provider));
1747
+ return this._createDisposable(handle);
1748
+ }
1749
+ $provideRenameEdits(handle, resource, position, newName, token) {
1750
+ return this._withAdapter(handle, RenameAdapter, adapter => adapter.provideRenameEdits(URI.revive(resource), position, newName, token), undefined, token);
1751
+ }
1752
+ $resolveRenameLocation(handle, resource, position, token) {
1753
+ return this._withAdapter(handle, RenameAdapter, adapter => adapter.resolveRenameLocation(URI.revive(resource), position, token), undefined, token);
1754
+ }
1755
+ registerDocumentSemanticTokensProvider(extension, selector, provider, legend) {
1756
+ const handle = this._addNewAdapter(( (new DocumentSemanticTokensAdapter(this._documents, provider))), extension);
1757
+ const eventHandle = (typeof provider.onDidChangeSemanticTokens === 'function' ? this._nextHandle() : undefined);
1758
+ this._proxy.$registerDocumentSemanticTokensProvider(handle, this._transformDocumentSelector(selector), legend, eventHandle);
1759
+ let result = this._createDisposable(handle);
1760
+ if (eventHandle) {
1761
+ const subscription = provider.onDidChangeSemanticTokens(_ => this._proxy.$emitDocumentSemanticTokensEvent(eventHandle));
1762
+ result = Disposable.from(result, subscription);
1763
+ }
1764
+ return result;
1765
+ }
1766
+ $provideDocumentSemanticTokens(handle, resource, previousResultId, token) {
1767
+ return this._withAdapter(handle, DocumentSemanticTokensAdapter, adapter => adapter.provideDocumentSemanticTokens(URI.revive(resource), previousResultId, token), null, token);
1768
+ }
1769
+ $releaseDocumentSemanticTokens(handle, semanticColoringResultId) {
1770
+ this._withAdapter(handle, DocumentSemanticTokensAdapter, adapter => adapter.releaseDocumentSemanticColoring(semanticColoringResultId), undefined, undefined);
1771
+ }
1772
+ registerDocumentRangeSemanticTokensProvider(extension, selector, provider, legend) {
1773
+ const handle = this._addNewAdapter(( (new DocumentRangeSemanticTokensAdapter(this._documents, provider))), extension);
1774
+ this._proxy.$registerDocumentRangeSemanticTokensProvider(handle, this._transformDocumentSelector(selector), legend);
1775
+ return this._createDisposable(handle);
1776
+ }
1777
+ $provideDocumentRangeSemanticTokens(handle, resource, range, token) {
1778
+ return this._withAdapter(handle, DocumentRangeSemanticTokensAdapter, adapter => adapter.provideDocumentRangeSemanticTokens(URI.revive(resource), range, token), null, token);
1779
+ }
1780
+ registerCompletionItemProvider(extension, selector, provider, triggerCharacters) {
1781
+ const handle = this._addNewAdapter(( (new CompletionsAdapter(
1782
+ this._documents,
1783
+ this._commands.converter,
1784
+ provider,
1785
+ this._apiDeprecation,
1786
+ extension
1787
+ ))), extension);
1788
+ this._proxy.$registerCompletionsProvider(handle, this._transformDocumentSelector(selector), triggerCharacters, CompletionsAdapter.supportsResolving(provider), `${extension.identifier.value}(${triggerCharacters.join('')})`);
1789
+ return this._createDisposable(handle);
1790
+ }
1791
+ $provideCompletionItems(handle, resource, position, context, token) {
1792
+ return this._withAdapter(handle, CompletionsAdapter, adapter => adapter.provideCompletionItems(URI.revive(resource), position, context, token), undefined, token);
1793
+ }
1794
+ $resolveCompletionItem(handle, id, token) {
1795
+ return this._withAdapter(handle, CompletionsAdapter, adapter => adapter.resolveCompletionItem(id, token), undefined, token);
1796
+ }
1797
+ $releaseCompletionItems(handle, id) {
1798
+ this._withAdapter(handle, CompletionsAdapter, adapter => adapter.releaseCompletionItems(id), undefined, undefined);
1799
+ }
1800
+ registerInlineCompletionsProvider(extension, selector, provider) {
1801
+ const adapter = ( (new InlineCompletionAdapter(extension, this._documents, provider, this._commands.converter)));
1802
+ const handle = this._addNewAdapter(adapter, extension);
1803
+ this._proxy.$registerInlineCompletionsSupport(handle, this._transformDocumentSelector(selector), adapter.supportsHandleEvents);
1804
+ return this._createDisposable(handle);
1805
+ }
1806
+ $provideInlineCompletions(handle, resource, position, context, token) {
1807
+ return this._withAdapter(handle, InlineCompletionAdapterBase, adapter => adapter.provideInlineCompletions(URI.revive(resource), position, context, token), undefined, token);
1808
+ }
1809
+ $handleInlineCompletionDidShow(handle, pid, idx) {
1810
+ this._withAdapter(handle, InlineCompletionAdapterBase, async (adapter) => {
1811
+ adapter.handleDidShowCompletionItem(pid, idx);
1812
+ }, undefined, undefined);
1813
+ }
1814
+ $handleInlineCompletionPartialAccept(handle, pid, idx, acceptedCharacters) {
1815
+ this._withAdapter(handle, InlineCompletionAdapterBase, async (adapter) => {
1816
+ adapter.handlePartialAccept(pid, idx, acceptedCharacters);
1817
+ }, undefined, undefined);
1818
+ }
1819
+ $freeInlineCompletionsList(handle, pid) {
1820
+ this._withAdapter(handle, InlineCompletionAdapterBase, async (adapter) => { adapter.disposeCompletions(pid); }, undefined, undefined);
1821
+ }
1822
+ registerSignatureHelpProvider(extension, selector, provider, metadataOrTriggerChars) {
1823
+ const metadata = Array.isArray(metadataOrTriggerChars)
1824
+ ? { triggerCharacters: metadataOrTriggerChars, retriggerCharacters: [] }
1825
+ : metadataOrTriggerChars;
1826
+ const handle = this._addNewAdapter(( (new SignatureHelpAdapter(this._documents, provider))), extension);
1827
+ this._proxy.$registerSignatureHelpProvider(handle, this._transformDocumentSelector(selector), metadata);
1828
+ return this._createDisposable(handle);
1829
+ }
1830
+ $provideSignatureHelp(handle, resource, position, context, token) {
1831
+ return this._withAdapter(handle, SignatureHelpAdapter, adapter => adapter.provideSignatureHelp(URI.revive(resource), position, context, token), undefined, token);
1832
+ }
1833
+ $releaseSignatureHelp(handle, id) {
1834
+ this._withAdapter(handle, SignatureHelpAdapter, adapter => adapter.releaseSignatureHelp(id), undefined, undefined);
1835
+ }
1836
+ registerInlayHintsProvider(extension, selector, provider) {
1837
+ const eventHandle = typeof provider.onDidChangeInlayHints === 'function' ? this._nextHandle() : undefined;
1838
+ const handle = this._addNewAdapter(( (new InlayHintsAdapter(
1839
+ this._documents,
1840
+ this._commands.converter,
1841
+ provider,
1842
+ this._logService,
1843
+ extension
1844
+ ))), extension);
1845
+ this._proxy.$registerInlayHintsProvider(handle, this._transformDocumentSelector(selector), typeof provider.resolveInlayHint === 'function', eventHandle, ExtHostLanguageFeatures._extLabel(extension));
1846
+ let result = this._createDisposable(handle);
1847
+ if (eventHandle !== undefined) {
1848
+ const subscription = provider.onDidChangeInlayHints(uri => this._proxy.$emitInlayHintsEvent(eventHandle));
1849
+ result = Disposable.from(result, subscription);
1850
+ }
1851
+ return result;
1852
+ }
1853
+ $provideInlayHints(handle, resource, range, token) {
1854
+ return this._withAdapter(handle, InlayHintsAdapter, adapter => adapter.provideInlayHints(URI.revive(resource), range, token), undefined, token);
1855
+ }
1856
+ $resolveInlayHint(handle, id, token) {
1857
+ return this._withAdapter(handle, InlayHintsAdapter, adapter => adapter.resolveInlayHint(id, token), undefined, token);
1858
+ }
1859
+ $releaseInlayHints(handle, id) {
1860
+ this._withAdapter(handle, InlayHintsAdapter, adapter => adapter.releaseHints(id), undefined, undefined);
1861
+ }
1862
+ registerDocumentLinkProvider(extension, selector, provider) {
1863
+ const handle = this._addNewAdapter(( (new LinkProviderAdapter(this._documents, provider))), extension);
1864
+ this._proxy.$registerDocumentLinkProvider(handle, this._transformDocumentSelector(selector), typeof provider.resolveDocumentLink === 'function');
1865
+ return this._createDisposable(handle);
1866
+ }
1867
+ $provideDocumentLinks(handle, resource, token) {
1868
+ return this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.provideLinks(URI.revive(resource), token), undefined, token, resource.scheme === 'output');
1869
+ }
1870
+ $resolveDocumentLink(handle, id, token) {
1871
+ return this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.resolveLink(id, token), undefined, undefined, true);
1872
+ }
1873
+ $releaseDocumentLinks(handle, id) {
1874
+ this._withAdapter(handle, LinkProviderAdapter, adapter => adapter.releaseLinks(id), undefined, undefined, true);
1875
+ }
1876
+ registerColorProvider(extension, selector, provider) {
1877
+ const handle = this._addNewAdapter(( (new ColorProviderAdapter(this._documents, provider))), extension);
1878
+ this._proxy.$registerDocumentColorProvider(handle, this._transformDocumentSelector(selector));
1879
+ return this._createDisposable(handle);
1880
+ }
1881
+ $provideDocumentColors(handle, resource, token) {
1882
+ return this._withAdapter(handle, ColorProviderAdapter, adapter => adapter.provideColors(URI.revive(resource), token), [], token);
1883
+ }
1884
+ $provideColorPresentations(handle, resource, colorInfo, token) {
1885
+ return this._withAdapter(handle, ColorProviderAdapter, adapter => adapter.provideColorPresentations(URI.revive(resource), colorInfo, token), undefined, token);
1886
+ }
1887
+ registerFoldingRangeProvider(extension, selector, provider) {
1888
+ const handle = this._nextHandle();
1889
+ const eventHandle = typeof provider.onDidChangeFoldingRanges === 'function' ? this._nextHandle() : undefined;
1890
+ this._adapter.set(handle, ( (new AdapterData(
1891
+ (new FoldingProviderAdapter(this._documents, provider)),
1892
+ extension
1893
+ ))));
1894
+ this._proxy.$registerFoldingRangeProvider(handle, this._transformDocumentSelector(selector), extension.identifier, eventHandle);
1895
+ let result = this._createDisposable(handle);
1896
+ if (eventHandle !== undefined) {
1897
+ const subscription = provider.onDidChangeFoldingRanges(() => this._proxy.$emitFoldingRangeEvent(eventHandle));
1898
+ result = Disposable.from(result, subscription);
1899
+ }
1900
+ return result;
1901
+ }
1902
+ $provideFoldingRanges(handle, resource, context, token) {
1903
+ return this._withAdapter(handle, FoldingProviderAdapter, adapter => adapter.provideFoldingRanges(URI.revive(resource), context, token), undefined, token);
1904
+ }
1905
+ registerSelectionRangeProvider(extension, selector, provider) {
1906
+ const handle = this._addNewAdapter(( (new SelectionRangeAdapter(this._documents, provider, this._logService))), extension);
1907
+ this._proxy.$registerSelectionRangeProvider(handle, this._transformDocumentSelector(selector));
1908
+ return this._createDisposable(handle);
1909
+ }
1910
+ $provideSelectionRanges(handle, resource, positions, token) {
1911
+ return this._withAdapter(handle, SelectionRangeAdapter, adapter => adapter.provideSelectionRanges(URI.revive(resource), positions, token), [], token);
1912
+ }
1913
+ registerCallHierarchyProvider(extension, selector, provider) {
1914
+ const handle = this._addNewAdapter(( (new CallHierarchyAdapter(this._documents, provider))), extension);
1915
+ this._proxy.$registerCallHierarchyProvider(handle, this._transformDocumentSelector(selector));
1916
+ return this._createDisposable(handle);
1917
+ }
1918
+ $prepareCallHierarchy(handle, resource, position, token) {
1919
+ return this._withAdapter(handle, CallHierarchyAdapter, adapter => Promise.resolve(adapter.prepareSession(URI.revive(resource), position, token)), undefined, token);
1920
+ }
1921
+ $provideCallHierarchyIncomingCalls(handle, sessionId, itemId, token) {
1922
+ return this._withAdapter(handle, CallHierarchyAdapter, adapter => adapter.provideCallsTo(sessionId, itemId, token), undefined, token);
1923
+ }
1924
+ $provideCallHierarchyOutgoingCalls(handle, sessionId, itemId, token) {
1925
+ return this._withAdapter(handle, CallHierarchyAdapter, adapter => adapter.provideCallsFrom(sessionId, itemId, token), undefined, token);
1926
+ }
1927
+ $releaseCallHierarchy(handle, sessionId) {
1928
+ this._withAdapter(handle, CallHierarchyAdapter, adapter => Promise.resolve(adapter.releaseSession(sessionId)), undefined, undefined);
1929
+ }
1930
+ registerTypeHierarchyProvider(extension, selector, provider) {
1931
+ const handle = this._addNewAdapter(( (new TypeHierarchyAdapter(this._documents, provider))), extension);
1932
+ this._proxy.$registerTypeHierarchyProvider(handle, this._transformDocumentSelector(selector));
1933
+ return this._createDisposable(handle);
1934
+ }
1935
+ $prepareTypeHierarchy(handle, resource, position, token) {
1936
+ return this._withAdapter(handle, TypeHierarchyAdapter, adapter => Promise.resolve(adapter.prepareSession(URI.revive(resource), position, token)), undefined, token);
1937
+ }
1938
+ $provideTypeHierarchySupertypes(handle, sessionId, itemId, token) {
1939
+ return this._withAdapter(handle, TypeHierarchyAdapter, adapter => adapter.provideSupertypes(sessionId, itemId, token), undefined, token);
1940
+ }
1941
+ $provideTypeHierarchySubtypes(handle, sessionId, itemId, token) {
1942
+ return this._withAdapter(handle, TypeHierarchyAdapter, adapter => adapter.provideSubtypes(sessionId, itemId, token), undefined, token);
1943
+ }
1944
+ $releaseTypeHierarchy(handle, sessionId) {
1945
+ this._withAdapter(handle, TypeHierarchyAdapter, adapter => Promise.resolve(adapter.releaseSession(sessionId)), undefined, undefined);
1946
+ }
1947
+ registerDocumentOnDropEditProvider(extension, selector, provider) {
1948
+ const handle = this._nextHandle();
1949
+ this._adapter.set(handle, ( (new AdapterData(
1950
+ (new DocumentOnDropEditAdapter(this._proxy, this._documents, provider, handle)),
1951
+ extension
1952
+ ))));
1953
+ this._proxy.$registerDocumentOnDropEditProvider(handle, this._transformDocumentSelector(selector));
1954
+ return this._createDisposable(handle);
1955
+ }
1956
+ $provideDocumentOnDropEdits(handle, requestId, resource, position, dataTransferDto, token) {
1957
+ return this._withAdapter(handle, DocumentOnDropEditAdapter, adapter => Promise.resolve(adapter.provideDocumentOnDropEdits(requestId, URI.revive(resource), position, dataTransferDto, token)), undefined, undefined);
1958
+ }
1959
+ registerDocumentPasteEditProvider(extension, selector, provider, metadata) {
1960
+ const handle = this._nextHandle();
1961
+ this._adapter.set(handle, ( (new AdapterData(
1962
+ (new DocumentPasteEditProvider(this._proxy, this._documents, provider, handle)),
1963
+ extension
1964
+ ))));
1965
+ this._proxy.$registerPasteEditProvider(handle, this._transformDocumentSelector(selector), !!provider.prepareDocumentPaste, metadata.pasteMimeTypes);
1966
+ return this._createDisposable(handle);
1967
+ }
1968
+ $prepareDocumentPaste(handle, resource, ranges, dataTransfer, token) {
1969
+ return this._withAdapter(handle, DocumentPasteEditProvider, adapter => adapter.prepareDocumentPaste(URI.revive(resource), ranges, dataTransfer, token), undefined, token);
1970
+ }
1971
+ $providePasteEdits(handle, requestId, resource, ranges, dataTransferDto, token) {
1972
+ return this._withAdapter(handle, DocumentPasteEditProvider, adapter => adapter.providePasteEdits(requestId, URI.revive(resource), ranges, dataTransferDto, token), undefined, token);
1973
+ }
1974
+ static _serializeRegExp(regExp) {
1975
+ return {
1976
+ pattern: regExp.source,
1977
+ flags: regExpFlags(regExp),
1978
+ };
1979
+ }
1980
+ static _serializeIndentationRule(indentationRule) {
1981
+ return {
1982
+ decreaseIndentPattern: ExtHostLanguageFeatures._serializeRegExp(indentationRule.decreaseIndentPattern),
1983
+ increaseIndentPattern: ExtHostLanguageFeatures._serializeRegExp(indentationRule.increaseIndentPattern),
1984
+ indentNextLinePattern: indentationRule.indentNextLinePattern ? ExtHostLanguageFeatures._serializeRegExp(indentationRule.indentNextLinePattern) : undefined,
1985
+ unIndentedLinePattern: indentationRule.unIndentedLinePattern ? ExtHostLanguageFeatures._serializeRegExp(indentationRule.unIndentedLinePattern) : undefined,
1986
+ };
1987
+ }
1988
+ static _serializeOnEnterRule(onEnterRule) {
1989
+ return {
1990
+ beforeText: ExtHostLanguageFeatures._serializeRegExp(onEnterRule.beforeText),
1991
+ afterText: onEnterRule.afterText ? ExtHostLanguageFeatures._serializeRegExp(onEnterRule.afterText) : undefined,
1992
+ previousLineText: onEnterRule.previousLineText ? ExtHostLanguageFeatures._serializeRegExp(onEnterRule.previousLineText) : undefined,
1993
+ action: onEnterRule.action
1994
+ };
1995
+ }
1996
+ static _serializeOnEnterRules(onEnterRules) {
1997
+ return (
1998
+ (onEnterRules.map(ExtHostLanguageFeatures._serializeOnEnterRule))
1999
+ );
2000
+ }
2001
+ setLanguageConfiguration(extension, languageId, configuration) {
2002
+ const { wordPattern } = configuration;
2003
+ if (wordPattern && regExpLeadsToEndlessLoop(wordPattern)) {
2004
+ throw new Error(`Invalid language configuration: wordPattern '${wordPattern}' is not allowed to match the empty string.`);
2005
+ }
2006
+ if (wordPattern) {
2007
+ this._documents.setWordDefinitionFor(languageId, wordPattern);
2008
+ }
2009
+ else {
2010
+ this._documents.setWordDefinitionFor(languageId, undefined);
2011
+ }
2012
+ if (configuration.__electricCharacterSupport) {
2013
+ this._apiDeprecation.report('LanguageConfiguration.__electricCharacterSupport', extension, `Do not use.`);
2014
+ }
2015
+ if (configuration.__characterPairSupport) {
2016
+ this._apiDeprecation.report('LanguageConfiguration.__characterPairSupport', extension, `Do not use.`);
2017
+ }
2018
+ const handle = this._nextHandle();
2019
+ const serializedConfiguration = {
2020
+ comments: configuration.comments,
2021
+ brackets: configuration.brackets,
2022
+ wordPattern: configuration.wordPattern ? ExtHostLanguageFeatures._serializeRegExp(configuration.wordPattern) : undefined,
2023
+ indentationRules: configuration.indentationRules ? ExtHostLanguageFeatures._serializeIndentationRule(configuration.indentationRules) : undefined,
2024
+ onEnterRules: configuration.onEnterRules ? ExtHostLanguageFeatures._serializeOnEnterRules(configuration.onEnterRules) : undefined,
2025
+ __electricCharacterSupport: configuration.__electricCharacterSupport,
2026
+ __characterPairSupport: configuration.__characterPairSupport,
2027
+ };
2028
+ this._proxy.$setLanguageConfiguration(handle, languageId, serializedConfiguration);
2029
+ return this._createDisposable(handle);
2030
+ }
2031
+ $setWordDefinitions(wordDefinitions) {
2032
+ for (const wordDefinition of wordDefinitions) {
2033
+ this._documents.setWordDefinitionFor(wordDefinition.languageId, ( (new RegExp(wordDefinition.regexSource, wordDefinition.regexFlags))));
2034
+ }
2035
+ }
2036
+ }
2037
+ ExtHostLanguageFeatures._handlePool = 0;
2038
+ export { ExtHostLanguageFeatures };