@theia/plugin-ext 1.47.0-next.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/lib/common/index.js +4 -13
  2. package/lib/common/index.js.map +1 -1
  3. package/lib/common/plugin-api-rpc-model.d.ts +1 -1
  4. package/lib/common/plugin-api-rpc-model.d.ts.map +1 -1
  5. package/lib/common/plugin-api-rpc.d.ts +41 -20
  6. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  7. package/lib/common/plugin-api-rpc.js +1 -1
  8. package/lib/common/plugin-api-rpc.js.map +1 -1
  9. package/lib/common/plugin-protocol.d.ts +10 -0
  10. package/lib/common/plugin-protocol.d.ts.map +1 -1
  11. package/lib/common/plugin-protocol.js.map +1 -1
  12. package/lib/common/uri-components.d.ts +1 -2
  13. package/lib/common/uri-components.d.ts.map +1 -1
  14. package/lib/common/uri-components.js +1 -5
  15. package/lib/common/uri-components.js.map +1 -1
  16. package/lib/hosted/browser/hosted-plugin-watcher.js +2 -7
  17. package/lib/hosted/browser/hosted-plugin-watcher.js.map +1 -1
  18. package/lib/hosted/browser/hosted-plugin.js +59 -67
  19. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  20. package/lib/hosted/browser/plugin-worker.js +3 -11
  21. package/lib/hosted/browser/plugin-worker.js.map +1 -1
  22. package/lib/hosted/browser/worker/worker-env-ext.js +3 -11
  23. package/lib/hosted/browser/worker/worker-env-ext.js.map +1 -1
  24. package/lib/hosted/common/hosted-plugin.js +21 -29
  25. package/lib/hosted/common/hosted-plugin.js.map +1 -1
  26. package/lib/hosted/node/hosted-plugin-cli-contribution.js +2 -7
  27. package/lib/hosted/node/hosted-plugin-cli-contribution.js.map +1 -1
  28. package/lib/hosted/node/hosted-plugin-deployer-handler.js +14 -22
  29. package/lib/hosted/node/hosted-plugin-deployer-handler.js.map +1 -1
  30. package/lib/hosted/node/hosted-plugin-localization-service.js +8 -16
  31. package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
  32. package/lib/hosted/node/hosted-plugin-process.js +14 -22
  33. package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
  34. package/lib/hosted/node/hosted-plugin.js +12 -20
  35. package/lib/hosted/node/hosted-plugin.js.map +1 -1
  36. package/lib/hosted/node/metadata-scanner.js +6 -17
  37. package/lib/hosted/node/metadata-scanner.js.map +1 -1
  38. package/lib/hosted/node/plugin-host-rpc.js +42 -53
  39. package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
  40. package/lib/hosted/node/plugin-language-pack-service.js +2 -7
  41. package/lib/hosted/node/plugin-language-pack-service.js.map +1 -1
  42. package/lib/hosted/node/plugin-reader.js +8 -16
  43. package/lib/hosted/node/plugin-reader.js.map +1 -1
  44. package/lib/hosted/node/plugin-service.js +22 -33
  45. package/lib/hosted/node/plugin-service.js.map +1 -1
  46. package/lib/hosted/node/scanners/file-plugin-uri-factory.js +2 -7
  47. package/lib/hosted/node/scanners/file-plugin-uri-factory.js.map +1 -1
  48. package/lib/hosted/node/scanners/grammars-reader.js +2 -7
  49. package/lib/hosted/node/scanners/grammars-reader.js.map +1 -1
  50. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  51. package/lib/hosted/node/scanners/scanner-theia.js +17 -19
  52. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  53. package/lib/hosted/node-electron/scanner-theia-electron.js +2 -7
  54. package/lib/hosted/node-electron/scanner-theia-electron.js.map +1 -1
  55. package/lib/main/browser/command-registry-main.d.ts +1 -0
  56. package/lib/main/browser/command-registry-main.d.ts.map +1 -1
  57. package/lib/main/browser/command-registry-main.js +6 -1
  58. package/lib/main/browser/command-registry-main.js.map +1 -1
  59. package/lib/main/browser/commands.js +5 -16
  60. package/lib/main/browser/commands.js.map +1 -1
  61. package/lib/main/browser/comments/comments-context-key-service.js +8 -16
  62. package/lib/main/browser/comments/comments-context-key-service.js.map +1 -1
  63. package/lib/main/browser/comments/comments-contribution.d.ts.map +1 -1
  64. package/lib/main/browser/comments/comments-contribution.js +17 -25
  65. package/lib/main/browser/comments/comments-contribution.js.map +1 -1
  66. package/lib/main/browser/comments/comments-decorator.js +3 -11
  67. package/lib/main/browser/comments/comments-decorator.js.map +1 -1
  68. package/lib/main/browser/comments/comments-main.js +2 -2
  69. package/lib/main/browser/comments/comments-main.js.map +1 -1
  70. package/lib/main/browser/comments/comments-service.js +2 -7
  71. package/lib/main/browser/comments/comments-service.js.map +1 -1
  72. package/lib/main/browser/custom-editors/custom-editor-contribution.js +4 -12
  73. package/lib/main/browser/custom-editors/custom-editor-contribution.js.map +1 -1
  74. package/lib/main/browser/custom-editors/custom-editor-opener.js +7 -18
  75. package/lib/main/browser/custom-editors/custom-editor-opener.js.map +1 -1
  76. package/lib/main/browser/custom-editors/custom-editor-service.js +2 -7
  77. package/lib/main/browser/custom-editors/custom-editor-service.js.map +1 -1
  78. package/lib/main/browser/custom-editors/custom-editor-widget.d.ts.map +1 -1
  79. package/lib/main/browser/custom-editors/custom-editor-widget.js +15 -21
  80. package/lib/main/browser/custom-editors/custom-editor-widget.js.map +1 -1
  81. package/lib/main/browser/custom-editors/custom-editors-main.js +1 -1
  82. package/lib/main/browser/custom-editors/custom-editors-main.js.map +1 -1
  83. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js +18 -26
  84. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js.map +1 -1
  85. package/lib/main/browser/data-transfer/data-transfer-type-converters.d.ts +2 -2
  86. package/lib/main/browser/data-transfer/data-transfer-type-converters.d.ts.map +1 -1
  87. package/lib/main/browser/data-transfer/data-transfer-type-converters.js +2 -4
  88. package/lib/main/browser/data-transfer/data-transfer-type-converters.js.map +1 -1
  89. package/lib/main/browser/debug/plugin-debug-service.js +10 -18
  90. package/lib/main/browser/debug/plugin-debug-service.js.map +1 -1
  91. package/lib/main/browser/debug/plugin-debug-session-contribution-registry.js +8 -16
  92. package/lib/main/browser/debug/plugin-debug-session-contribution-registry.js.map +1 -1
  93. package/lib/main/browser/dialogs/modal-notification.js +3 -11
  94. package/lib/main/browser/dialogs/modal-notification.js.map +1 -1
  95. package/lib/main/browser/editors-and-documents-main.d.ts +5 -1
  96. package/lib/main/browser/editors-and-documents-main.d.ts.map +1 -1
  97. package/lib/main/browser/editors-and-documents-main.js +22 -3
  98. package/lib/main/browser/editors-and-documents-main.js.map +1 -1
  99. package/lib/main/browser/file-system-main-impl.d.ts +2 -1
  100. package/lib/main/browser/file-system-main-impl.d.ts.map +1 -1
  101. package/lib/main/browser/file-system-main-impl.js +5 -3
  102. package/lib/main/browser/file-system-main-impl.js.map +1 -1
  103. package/lib/main/browser/keybindings/keybindings-contribution-handler.js +4 -12
  104. package/lib/main/browser/keybindings/keybindings-contribution-handler.js.map +1 -1
  105. package/lib/main/browser/languages-main.d.ts +2 -2
  106. package/lib/main/browser/languages-main.d.ts.map +1 -1
  107. package/lib/main/browser/languages-main.js +19 -27
  108. package/lib/main/browser/languages-main.js.map +1 -1
  109. package/lib/main/browser/main-context.d.ts.map +1 -1
  110. package/lib/main/browser/main-context.js +1 -3
  111. package/lib/main/browser/main-context.js.map +1 -1
  112. package/lib/main/browser/menus/menus-contribution-handler.js +23 -31
  113. package/lib/main/browser/menus/menus-contribution-handler.js.map +1 -1
  114. package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts.map +1 -1
  115. package/lib/main/browser/menus/plugin-menu-command-adapter.js +20 -25
  116. package/lib/main/browser/menus/plugin-menu-command-adapter.js.map +1 -1
  117. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +2 -2
  118. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts.map +1 -1
  119. package/lib/main/browser/menus/vscode-theia-menu-mappings.js +11 -9
  120. package/lib/main/browser/menus/vscode-theia-menu-mappings.js.map +1 -1
  121. package/lib/main/browser/notebooks/notebook-kernels-main.d.ts +1 -0
  122. package/lib/main/browser/notebooks/notebook-kernels-main.d.ts.map +1 -1
  123. package/lib/main/browser/notebooks/notebook-kernels-main.js +41 -4
  124. package/lib/main/browser/notebooks/notebook-kernels-main.js.map +1 -1
  125. package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts +7 -2
  126. package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts.map +1 -1
  127. package/lib/main/browser/notebooks/renderers/cell-output-webview.js +79 -45
  128. package/lib/main/browser/notebooks/renderers/cell-output-webview.js.map +1 -1
  129. package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts +1 -0
  130. package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
  131. package/lib/main/browser/notebooks/renderers/output-webview-internal.js +74 -1
  132. package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
  133. package/lib/main/browser/notebooks/renderers/webview-communication.d.ts +10 -2
  134. package/lib/main/browser/notebooks/renderers/webview-communication.d.ts.map +1 -1
  135. package/lib/main/browser/output-channel-registry-main.js +4 -12
  136. package/lib/main/browser/output-channel-registry-main.js.map +1 -1
  137. package/lib/main/browser/plugin-authentication-service.js +3 -11
  138. package/lib/main/browser/plugin-authentication-service.js.map +1 -1
  139. package/lib/main/browser/plugin-contribution-handler.d.ts.map +1 -1
  140. package/lib/main/browser/plugin-contribution-handler.js +66 -69
  141. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  142. package/lib/main/browser/plugin-ext-frontend-module.d.ts.map +1 -1
  143. package/lib/main/browser/plugin-ext-frontend-module.js +3 -1
  144. package/lib/main/browser/plugin-ext-frontend-module.js.map +1 -1
  145. package/lib/main/browser/plugin-ext-widget.js +11 -19
  146. package/lib/main/browser/plugin-ext-widget.js.map +1 -1
  147. package/lib/main/browser/plugin-frontend-contribution.js +4 -12
  148. package/lib/main/browser/plugin-frontend-contribution.js.map +1 -1
  149. package/lib/main/browser/plugin-frontend-view-contribution.js +3 -11
  150. package/lib/main/browser/plugin-frontend-view-contribution.js.map +1 -1
  151. package/lib/main/browser/plugin-icon-service.d.ts +2 -5
  152. package/lib/main/browser/plugin-icon-service.d.ts.map +1 -1
  153. package/lib/main/browser/plugin-icon-service.js +10 -77
  154. package/lib/main/browser/plugin-icon-service.js.map +1 -1
  155. package/lib/main/browser/plugin-icon-theme-service.js +22 -30
  156. package/lib/main/browser/plugin-icon-theme-service.js.map +1 -1
  157. package/lib/main/browser/plugin-shared-style.js +8 -16
  158. package/lib/main/browser/plugin-shared-style.js.map +1 -1
  159. package/lib/main/browser/plugin-terminal-registry.js +2 -7
  160. package/lib/main/browser/plugin-terminal-registry.js.map +1 -1
  161. package/lib/main/browser/quick-open-main.d.ts +8 -7
  162. package/lib/main/browser/quick-open-main.d.ts.map +1 -1
  163. package/lib/main/browser/quick-open-main.js +51 -14
  164. package/lib/main/browser/quick-open-main.js.map +1 -1
  165. package/lib/main/browser/scm-main.js +3 -3
  166. package/lib/main/browser/scm-main.js.map +1 -1
  167. package/lib/main/browser/selection-provider-command.d.ts.map +1 -1
  168. package/lib/main/browser/selection-provider-command.js +5 -14
  169. package/lib/main/browser/selection-provider-command.js.map +1 -1
  170. package/lib/main/browser/test-main.d.ts +3 -1
  171. package/lib/main/browser/test-main.d.ts.map +1 -1
  172. package/lib/main/browser/test-main.js +29 -30
  173. package/lib/main/browser/test-main.js.map +1 -1
  174. package/lib/main/browser/text-editor-model-service.js +5 -16
  175. package/lib/main/browser/text-editor-model-service.js.map +1 -1
  176. package/lib/main/browser/text-editors-main.d.ts +4 -5
  177. package/lib/main/browser/text-editors-main.d.ts.map +1 -1
  178. package/lib/main/browser/text-editors-main.js +15 -9
  179. package/lib/main/browser/text-editors-main.js.map +1 -1
  180. package/lib/main/browser/theme-icon-override.js +13 -19
  181. package/lib/main/browser/theme-icon-override.js.map +1 -1
  182. package/lib/main/browser/view/dnd-file-content-store.js +2 -7
  183. package/lib/main/browser/view/dnd-file-content-store.js.map +1 -1
  184. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +8 -16
  185. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js.map +1 -1
  186. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  187. package/lib/main/browser/view/plugin-view-registry.js +33 -41
  188. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  189. package/lib/main/browser/view/plugin-view-widget.d.ts.map +1 -1
  190. package/lib/main/browser/view/plugin-view-widget.js +16 -25
  191. package/lib/main/browser/view/plugin-view-widget.js.map +1 -1
  192. package/lib/main/browser/view/tree-view-decorator-service.js +6 -17
  193. package/lib/main/browser/view/tree-view-decorator-service.js.map +1 -1
  194. package/lib/main/browser/view/tree-view-widget.d.ts.map +1 -1
  195. package/lib/main/browser/view/tree-view-widget.js +41 -50
  196. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  197. package/lib/main/browser/view/view-context-key-service.js +8 -16
  198. package/lib/main/browser/view/view-context-key-service.js.map +1 -1
  199. package/lib/main/browser/view-column-service.js +4 -15
  200. package/lib/main/browser/view-column-service.js.map +1 -1
  201. package/lib/main/browser/webview/webview-context-keys.js +10 -18
  202. package/lib/main/browser/webview/webview-context-keys.js.map +1 -1
  203. package/lib/main/browser/webview/webview-environment.js +8 -16
  204. package/lib/main/browser/webview/webview-environment.js.map +1 -1
  205. package/lib/main/browser/webview/webview-frontend-security-warnings.js +8 -16
  206. package/lib/main/browser/webview/webview-frontend-security-warnings.js.map +1 -1
  207. package/lib/main/browser/webview/webview-resource-cache.js +3 -11
  208. package/lib/main/browser/webview/webview-resource-cache.js.map +1 -1
  209. package/lib/main/browser/webview/webview-theme-data-provider.js +14 -22
  210. package/lib/main/browser/webview/webview-theme-data-provider.js.map +1 -1
  211. package/lib/main/browser/webview/webview.js +37 -45
  212. package/lib/main/browser/webview/webview.js.map +1 -1
  213. package/lib/main/browser/webview-views/webview-views-main.js +3 -11
  214. package/lib/main/browser/webview-views/webview-views-main.js.map +1 -1
  215. package/lib/main/browser/workspace-main.js +2 -7
  216. package/lib/main/browser/workspace-main.js.map +1 -1
  217. package/lib/main/common/plugin-theia-environment.js +4 -12
  218. package/lib/main/common/plugin-theia-environment.js.map +1 -1
  219. package/lib/main/node/errors.spec.js +2 -2
  220. package/lib/main/node/errors.spec.js.map +1 -1
  221. package/lib/main/node/handlers/plugin-theia-directory-handler.js +6 -14
  222. package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
  223. package/lib/main/node/handlers/plugin-theia-file-handler.js +5 -13
  224. package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
  225. package/lib/main/node/paths/plugin-paths-service.js +10 -18
  226. package/lib/main/node/paths/plugin-paths-service.js.map +1 -1
  227. package/lib/main/node/plugin-cli-contribution.js +2 -7
  228. package/lib/main/node/plugin-cli-contribution.js.map +1 -1
  229. package/lib/main/node/plugin-deployer-contribution.js +6 -14
  230. package/lib/main/node/plugin-deployer-contribution.js.map +1 -1
  231. package/lib/main/node/plugin-deployer-impl.js +18 -26
  232. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  233. package/lib/main/node/plugin-deployer-proxy-entry-impl.js +3 -11
  234. package/lib/main/node/plugin-deployer-proxy-entry-impl.js.map +1 -1
  235. package/lib/main/node/plugin-github-resolver.js +5 -13
  236. package/lib/main/node/plugin-github-resolver.js.map +1 -1
  237. package/lib/main/node/plugin-http-resolver.js +5 -13
  238. package/lib/main/node/plugin-http-resolver.js.map +1 -1
  239. package/lib/main/node/plugin-localization-server.js +4 -12
  240. package/lib/main/node/plugin-localization-server.js.map +1 -1
  241. package/lib/main/node/plugin-mgmt-cli-contribution.js +4 -12
  242. package/lib/main/node/plugin-mgmt-cli-contribution.js.map +1 -1
  243. package/lib/main/node/plugin-server-handler.js +6 -14
  244. package/lib/main/node/plugin-server-handler.js.map +1 -1
  245. package/lib/main/node/plugin-service.js +10 -18
  246. package/lib/main/node/plugin-service.js.map +1 -1
  247. package/lib/main/node/plugin-theia-deployer-participant.js +4 -12
  248. package/lib/main/node/plugin-theia-deployer-participant.js.map +1 -1
  249. package/lib/main/node/plugin-uninstallation-manager.js +2 -7
  250. package/lib/main/node/plugin-uninstallation-manager.js.map +1 -1
  251. package/lib/main/node/plugins-key-value-storage.js +12 -20
  252. package/lib/main/node/plugins-key-value-storage.js.map +1 -1
  253. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js +2 -7
  254. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js.map +1 -1
  255. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js +2 -7
  256. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js.map +1 -1
  257. package/lib/main/node/webview-backend-security-warnings.js +2 -7
  258. package/lib/main/node/webview-backend-security-warnings.js.map +1 -1
  259. package/lib/plugin/clipboard-ext.js +8 -16
  260. package/lib/plugin/clipboard-ext.js.map +1 -1
  261. package/lib/plugin/debug/debug-ext.js +11 -19
  262. package/lib/plugin/debug/debug-ext.js.map +1 -1
  263. package/lib/plugin/editors-and-documents.js +4 -12
  264. package/lib/plugin/editors-and-documents.js.map +1 -1
  265. package/lib/plugin/env.js +12 -20
  266. package/lib/plugin/env.js.map +1 -1
  267. package/lib/plugin/file-system-ext-impl.d.ts +2 -1
  268. package/lib/plugin/file-system-ext-impl.d.ts.map +1 -1
  269. package/lib/plugin/file-system-ext-impl.js +13 -1
  270. package/lib/plugin/file-system-ext-impl.js.map +1 -1
  271. package/lib/plugin/known-commands.d.ts.map +1 -1
  272. package/lib/plugin/known-commands.js +1 -0
  273. package/lib/plugin/known-commands.js.map +1 -1
  274. package/lib/plugin/languages/diagnostics.js +2 -2
  275. package/lib/plugin/languages/diagnostics.js.map +1 -1
  276. package/lib/plugin/languages/link-provider.d.ts.map +1 -1
  277. package/lib/plugin/languages/link-provider.js +3 -1
  278. package/lib/plugin/languages/link-provider.js.map +1 -1
  279. package/lib/plugin/localization-ext.js +8 -16
  280. package/lib/plugin/localization-ext.js.map +1 -1
  281. package/lib/plugin/markdown-string.d.ts +3 -3
  282. package/lib/plugin/markdown-string.d.ts.map +1 -1
  283. package/lib/plugin/markdown-string.js +17 -36
  284. package/lib/plugin/markdown-string.js.map +1 -1
  285. package/lib/plugin/message-registry.js +8 -16
  286. package/lib/plugin/message-registry.js.map +1 -1
  287. package/lib/plugin/node/env-node-ext.js +5 -13
  288. package/lib/plugin/node/env-node-ext.js.map +1 -1
  289. package/lib/plugin/notebook/notebook-kernels.d.ts +4 -5
  290. package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
  291. package/lib/plugin/notebook/notebook-kernels.js +20 -19
  292. package/lib/plugin/notebook/notebook-kernels.js.map +1 -1
  293. package/lib/plugin/notebook/notebook-renderers.d.ts.map +1 -1
  294. package/lib/plugin/notebook/notebook-renderers.js.map +1 -1
  295. package/lib/plugin/plugin-context.d.ts.map +1 -1
  296. package/lib/plugin/plugin-context.js +16 -20
  297. package/lib/plugin/plugin-context.js.map +1 -1
  298. package/lib/plugin/plugin-manager.js +23 -31
  299. package/lib/plugin/plugin-manager.js.map +1 -1
  300. package/lib/plugin/plugin-storage.js +4 -15
  301. package/lib/plugin/plugin-storage.js.map +1 -1
  302. package/lib/plugin/preference-registry.js +12 -20
  303. package/lib/plugin/preference-registry.js.map +1 -1
  304. package/lib/plugin/quick-open.d.ts +2 -9
  305. package/lib/plugin/quick-open.d.ts.map +1 -1
  306. package/lib/plugin/quick-open.js +6 -22
  307. package/lib/plugin/quick-open.js.map +1 -1
  308. package/lib/plugin/secrets-ext.js +4 -15
  309. package/lib/plugin/secrets-ext.js.map +1 -1
  310. package/lib/plugin/terminal-ext.js +6 -17
  311. package/lib/plugin/terminal-ext.js.map +1 -1
  312. package/lib/plugin/test-item.js +17 -25
  313. package/lib/plugin/test-item.js.map +1 -1
  314. package/lib/plugin/tests.d.ts +8 -1
  315. package/lib/plugin/tests.d.ts.map +1 -1
  316. package/lib/plugin/tests.js +35 -21
  317. package/lib/plugin/tests.js.map +1 -1
  318. package/lib/plugin/text-editors.d.ts +2 -0
  319. package/lib/plugin/text-editors.d.ts.map +1 -1
  320. package/lib/plugin/text-editors.js +6 -0
  321. package/lib/plugin/text-editors.js.map +1 -1
  322. package/lib/plugin/type-converters.d.ts +10 -1
  323. package/lib/plugin/type-converters.d.ts.map +1 -1
  324. package/lib/plugin/type-converters.js +49 -10
  325. package/lib/plugin/type-converters.js.map +1 -1
  326. package/lib/plugin/types-impl.d.ts +2 -2
  327. package/lib/plugin/types-impl.d.ts.map +1 -1
  328. package/lib/plugin/types-impl.js +167 -180
  329. package/lib/plugin/types-impl.js.map +1 -1
  330. package/lib/plugin/webviews.d.ts +1 -0
  331. package/lib/plugin/webviews.d.ts.map +1 -1
  332. package/lib/plugin/webviews.js +18 -23
  333. package/lib/plugin/webviews.js.map +1 -1
  334. package/lib/plugin/workspace.js +12 -20
  335. package/lib/plugin/workspace.js.map +1 -1
  336. package/package.json +31 -31
  337. package/src/common/plugin-api-rpc-model.ts +1 -1
  338. package/src/common/plugin-api-rpc.ts +36 -20
  339. package/src/common/plugin-protocol.ts +12 -1
  340. package/src/common/uri-components.ts +1 -5
  341. package/src/hosted/browser/hosted-plugin.ts +2 -2
  342. package/src/hosted/node/hosted-plugin-deployer-handler.ts +2 -2
  343. package/src/hosted/node/scanners/scanner-theia.ts +8 -2
  344. package/src/main/browser/command-registry-main.ts +7 -0
  345. package/src/main/browser/comments/comments-contribution.ts +7 -3
  346. package/src/main/browser/comments/comments-main.ts +2 -2
  347. package/src/main/browser/custom-editors/custom-editor-opener.tsx +2 -2
  348. package/src/main/browser/custom-editors/custom-editor-widget.ts +3 -1
  349. package/src/main/browser/custom-editors/custom-editors-main.ts +1 -1
  350. package/src/main/browser/data-transfer/data-transfer-type-converters.ts +4 -6
  351. package/src/main/browser/editors-and-documents-main.ts +27 -5
  352. package/src/main/browser/file-system-main-impl.ts +9 -5
  353. package/src/main/browser/languages-main.ts +9 -5
  354. package/src/main/browser/main-context.ts +1 -3
  355. package/src/main/browser/menus/menus-contribution-handler.ts +1 -1
  356. package/src/main/browser/menus/plugin-menu-command-adapter.ts +4 -1
  357. package/src/main/browser/menus/vscode-theia-menu-mappings.ts +10 -2
  358. package/src/main/browser/notebooks/notebook-kernels-main.ts +46 -5
  359. package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +72 -21
  360. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +93 -2
  361. package/src/main/browser/notebooks/renderers/webview-communication.ts +12 -2
  362. package/src/main/browser/plugin-contribution-handler.ts +9 -1
  363. package/src/main/browser/plugin-ext-frontend-module.ts +6 -2
  364. package/src/main/browser/plugin-icon-service.ts +8 -72
  365. package/src/main/browser/quick-open-main.ts +77 -28
  366. package/src/main/browser/scm-main.ts +1 -1
  367. package/src/main/browser/selection-provider-command.ts +1 -2
  368. package/src/main/browser/test-main.ts +11 -2
  369. package/src/main/browser/text-editors-main.ts +18 -10
  370. package/src/main/browser/theme-icon-override.ts +13 -19
  371. package/src/main/browser/view/plugin-tree-view-node-label-provider.ts +1 -1
  372. package/src/main/browser/view/plugin-view-registry.ts +3 -3
  373. package/src/main/browser/view/plugin-view-widget.ts +0 -1
  374. package/src/main/browser/view/tree-view-widget.tsx +2 -3
  375. package/src/main/node/errors.spec.ts +2 -2
  376. package/src/plugin/debug/debug-ext.ts +2 -2
  377. package/src/plugin/env.ts +3 -3
  378. package/src/plugin/file-system-ext-impl.ts +15 -2
  379. package/src/plugin/known-commands.ts +1 -0
  380. package/src/plugin/languages/diagnostics.ts +2 -2
  381. package/src/plugin/languages/link-provider.ts +3 -1
  382. package/src/plugin/markdown-string.ts +3 -3
  383. package/src/plugin/node/env-node-ext.ts +2 -2
  384. package/src/plugin/notebook/notebook-kernels.ts +25 -25
  385. package/src/plugin/notebook/notebook-renderers.ts +0 -1
  386. package/src/plugin/plugin-context.ts +10 -2
  387. package/src/plugin/preference-registry.ts +2 -2
  388. package/src/plugin/quick-open.ts +10 -24
  389. package/src/plugin/terminal-ext.ts +1 -1
  390. package/src/plugin/tests.ts +33 -4
  391. package/src/plugin/text-editors.ts +9 -2
  392. package/src/plugin/type-converters.ts +45 -9
  393. package/src/plugin/types-impl.ts +4 -4
  394. package/src/plugin/webviews.ts +6 -3
@@ -16,7 +16,7 @@
16
16
  /* eslint-disable @typescript-eslint/no-explicit-any */
17
17
  import {
18
18
  QuickOpenExt, PLUGIN_RPC_CONTEXT as Ext, QuickOpenMain, TransferInputBox, Plugin,
19
- Item, TransferQuickInputButton, TransferQuickPickItems, TransferQuickInput
19
+ TransferQuickInputButton, TransferQuickInput, TransferQuickPickItem
20
20
  } from '../common/plugin-api-rpc';
21
21
  import * as theia from '@theia/plugin';
22
22
  import { CancellationToken } from '@theia/core/lib/common/cancellation';
@@ -31,7 +31,7 @@ import { PluginPackage } from '../common/plugin-protocol';
31
31
  import { QuickInputButtonHandle } from '@theia/core/lib/browser';
32
32
  import { MaybePromise } from '@theia/core/lib/common/types';
33
33
  import Severity from '@theia/monaco-editor-core/esm/vs/base/common/severity';
34
- import { ThemeIcon as MonacoThemeIcon } from '@theia/monaco-editor-core/esm/vs/platform/theme/common/themeService';
34
+ import { ThemeIcon as MonacoThemeIcon } from '@theia/monaco-editor-core/esm/vs/base/common/themables';
35
35
 
36
36
  const canceledName = 'Canceled';
37
37
  /**
@@ -63,21 +63,7 @@ export function getDarkIconUri(iconPath: URI | { light: URI; dark: URI; }): URI
63
63
  return typeof iconPath === 'object' && 'dark' in iconPath ? iconPath.dark : iconPath;
64
64
  }
65
65
 
66
- export function getIconPathOrClass(button: theia.QuickInputButton): { iconPath: { dark: URI; light?: URI | undefined; } | undefined; iconClass: string | undefined; } {
67
- const iconPathOrIconClass = getIconUris(button.iconPath);
68
- let iconPath: { dark: URI; light?: URI | undefined } | undefined;
69
- let iconClass: string | undefined;
70
- if ('id' in iconPathOrIconClass) {
71
- iconClass = MonacoThemeIcon.asClassName(iconPathOrIconClass);
72
- } else {
73
- iconPath = iconPathOrIconClass;
74
- }
75
-
76
- return {
77
- iconPath,
78
- iconClass
79
- };
80
- }
66
+ type Item = theia.QuickPickItem | string;
81
67
 
82
68
  export class QuickOpenExtImpl implements QuickOpenExt {
83
69
  private proxy: QuickOpenMain;
@@ -91,13 +77,13 @@ export class QuickOpenExtImpl implements QuickOpenExt {
91
77
  }
92
78
 
93
79
  /* eslint-disable max-len */
94
- showQuickPick(itemsOrItemsPromise: Array<theia.QuickPickItem> | Promise<Array<theia.QuickPickItem>>, options: theia.QuickPickOptions & { canPickMany: true; }, token?: theia.CancellationToken): Promise<Array<theia.QuickPickItem> | undefined>;
80
+ showQuickPick(itemsOrItemsPromise: theia.QuickPickItem[] | Promise<theia.QuickPickItem[]>, options: theia.QuickPickOptions & { canPickMany: true; }, token?: theia.CancellationToken): Promise<Array<theia.QuickPickItem> | undefined>;
95
81
  showQuickPick(itemsOrItemsPromise: string[] | Promise<string[]>, options?: theia.QuickPickOptions, token?: theia.CancellationToken): Promise<string | undefined>;
96
- showQuickPick(itemsOrItemsPromise: Array<theia.QuickPickItem> | Promise<Array<theia.QuickPickItem>>, options?: theia.QuickPickOptions, token?: theia.CancellationToken): Promise<theia.QuickPickItem | undefined>;
82
+ showQuickPick(itemsOrItemsPromise: theia.QuickPickItem[] | Promise<theia.QuickPickItem[]>, options?: theia.QuickPickOptions, token?: theia.CancellationToken): Promise<theia.QuickPickItem | undefined>;
97
83
  showQuickPick(itemsOrItemsPromise: Item[] | Promise<Item[]>, options?: theia.QuickPickOptions, token: theia.CancellationToken = CancellationToken.None): Promise<Item | Item[] | undefined> {
98
84
  this.onDidSelectItem = undefined;
99
85
 
100
- const itemsPromise = <Promise<Item[]>>Promise.resolve(itemsOrItemsPromise);
86
+ const itemsPromise = Promise.resolve(itemsOrItemsPromise);
101
87
 
102
88
  const instance = ++this._instances;
103
89
 
@@ -118,7 +104,7 @@ export class QuickOpenExtImpl implements QuickOpenExt {
118
104
  return undefined;
119
105
  }
120
106
  return itemsPromise.then(async items => {
121
- const pickItems: Array<TransferQuickPickItems> = convertToTransferQuickPickItems(items);
107
+ const pickItems = convertToTransferQuickPickItems(items);
122
108
 
123
109
  if (options && typeof options.onDidSelectItem === 'function') {
124
110
  this.onDidSelectItem = handle => {
@@ -646,14 +632,14 @@ export class QuickPickExt<T extends theia.QuickPickItem> extends QuickInputExt i
646
632
  this._itemsToHandles.set(item, i);
647
633
  });
648
634
 
649
- const pickItems: TransferQuickPickItems[] = [];
635
+ const pickItems: TransferQuickPickItem[] = [];
650
636
  for (let handle = 0; handle < items.length; handle++) {
651
637
  const item = items[handle];
652
638
  if (item.kind === QuickPickItemKind.Separator) {
653
- pickItems.push({ type: 'separator', label: item.label, handle });
639
+ pickItems.push({ kind: 'separator', label: item.label, handle });
654
640
  } else {
655
641
  pickItems.push({
656
- kind: item.kind,
642
+ kind: 'item',
657
643
  label: item.label,
658
644
  iconPath: item.iconPath ? getIconUris(item.iconPath) : undefined,
659
645
  description: item.description,
@@ -26,7 +26,7 @@ import * as Converter from './type-converters';
26
26
  import { Disposable, EnvironmentVariableMutatorType, TerminalExitReason, ThemeIcon } from './types-impl';
27
27
  import { NO_ROOT_URI, SerializableEnvironmentVariableCollection } from '@theia/terminal/lib/common/shell-terminal-protocol';
28
28
  import { ProvidedTerminalLink } from '../common/plugin-api-rpc-model';
29
- import { ThemeIcon as MonacoThemeIcon } from '@theia/monaco-editor-core/esm/vs/platform/theme/common/themeService';
29
+ import { ThemeIcon as MonacoThemeIcon } from '@theia/monaco-editor-core/esm/vs/base/common/themables';
30
30
 
31
31
  export function getIconUris(iconPath: theia.TerminalOptions['iconPath']): { id: string } | undefined {
32
32
  if (ThemeIcon.is(iconPath)) {
@@ -34,7 +34,7 @@ import { isDefined } from '@theia/core/lib/common/types';
34
34
  import { TestingExt, PLUGIN_RPC_CONTEXT, TestingMain } from '../common/plugin-api-rpc';
35
35
  import { CommandRegistryImpl } from './command-registry';
36
36
  import { RPCProtocol } from '../common/rpc-protocol';
37
- import { v4 as uuidv4 } from 'uuid';
37
+ import { generateUuid } from '@theia/core/lib/common/uuid';
38
38
  import * as Convert from './type-converters';
39
39
  import { TestItemImpl, TestItemCollection } from './test-item';
40
40
  import { AccumulatingTreeDeltaEmitter, TreeDelta } from '@theia/test/lib/common/tree-delta';
@@ -257,7 +257,7 @@ class TestRun implements theia.TestRun {
257
257
  readonly name: string,
258
258
  readonly isPersisted: boolean,
259
259
  isRunning: boolean) {
260
- this.id = uuidv4();
260
+ this.id = generateUuid();
261
261
 
262
262
  this.tokenSource = new CancellationTokenSource();
263
263
  this.token = this.tokenSource.token;
@@ -416,6 +416,14 @@ export class TestingExtImpl implements TestingExt {
416
416
  this.controllersById.get(controllerId)?.getProfile(profileId)?.configureHandler?.();
417
417
  }
418
418
 
419
+ /** @inheritdoc */
420
+ $onDidChangeDefault(controllerId: string, profileId: string, isDefault: boolean): void {
421
+ const profile = this.controllersById.get(controllerId)?.getProfile(profileId);
422
+ if (profile) {
423
+ profile.doSetDefault(isDefault);
424
+ }
425
+ }
426
+
419
427
  /** @inheritdoc */
420
428
  async $refreshTests(controllerId: string, token: CancellationToken): Promise<void> {
421
429
  await this.withController(controllerId).refreshHandler?.(token);
@@ -483,8 +491,29 @@ export class TestRunProfile implements theia.TestRunProfile {
483
491
  @observableProperty('notifyPropertyChange')
484
492
  label: string;
485
493
 
486
- @observableProperty('notifyPropertyChange')
487
- isDefault: boolean;
494
+ _isDefault: boolean;
495
+
496
+ get isDefault(): boolean {
497
+ return this._isDefault;
498
+ }
499
+
500
+ set isDefault(isDefault: boolean) {
501
+ if (this.doSetDefault(isDefault)) {
502
+ this.proxy.$updateTestRunProfile(this.controllerId, this.profileId, { isDefault: isDefault });
503
+ }
504
+ }
505
+
506
+ doSetDefault(isDefault: boolean): boolean {
507
+ if (this._isDefault !== isDefault) {
508
+ this._isDefault = isDefault;
509
+ this.onDidChangeDefaultEmitter.fire(isDefault);
510
+ return true;
511
+ }
512
+ return false;
513
+ }
514
+
515
+ private onDidChangeDefaultEmitter = new Emitter<boolean>();
516
+ onDidChangeDefault = this.onDidChangeDefaultEmitter.event;
488
517
 
489
518
  @observableProperty('notifyTagChange')
490
519
  tag: theia.TestTag | undefined;
@@ -21,11 +21,10 @@ import { Emitter, Event } from '@theia/core/lib/common/event';
21
21
  import { EditorsAndDocumentsExtImpl } from './editors-and-documents';
22
22
  import { TextEditorExt } from './text-editor';
23
23
  import * as Converters from './type-converters';
24
- import { TextEditorSelectionChangeKind } from './types-impl';
24
+ import { TextEditorSelectionChangeKind, URI } from './types-impl';
25
25
  import { IdGenerator } from '../common/id-generator';
26
26
 
27
27
  export class TextEditorsExtImpl implements TextEditorsExt {
28
-
29
28
  private readonly _onDidChangeTextEditorSelection = new Emitter<theia.TextEditorSelectionChangeEvent>();
30
29
  private readonly _onDidChangeTextEditorOptions = new Emitter<theia.TextEditorOptionsChangeEvent>();
31
30
  private readonly _onDidChangeTextEditorVisibleRanges = new Emitter<theia.TextEditorVisibleRangesChangeEvent>();
@@ -124,6 +123,14 @@ export class TextEditorsExtImpl implements TextEditorsExt {
124
123
  return this.proxy.$tryApplyWorkspaceEdit(dto, metadata);
125
124
  }
126
125
 
126
+ save(uri: theia.Uri): PromiseLike<theia.Uri | undefined> {
127
+ return this.proxy.$save(uri).then(components => URI.revive(components));
128
+ }
129
+
130
+ saveAs(uri: theia.Uri): PromiseLike<theia.Uri | undefined> {
131
+ return this.proxy.$saveAs(uri).then(components => URI.revive(components));
132
+ }
133
+
127
134
  saveAll(includeUntitled?: boolean): PromiseLike<boolean> {
128
135
  return this.proxy.$saveAll(includeUntitled);
129
136
  }
@@ -35,6 +35,7 @@ import { CellRange, isTextStreamMime } from '@theia/notebook/lib/common';
35
35
  import { MarkdownString as MarkdownStringDTO } from '@theia/core/lib/common/markdown-rendering';
36
36
 
37
37
  import { TestItemDTO, TestMessageDTO } from '../common/test-types';
38
+ import { ThemeIcon } from '@theia/monaco-editor-core/esm/vs/base/common/themables';
38
39
 
39
40
  const SIDE_GROUP = -2;
40
41
  const ACTIVE_GROUP = -1;
@@ -747,9 +748,10 @@ export function isModelRange(arg: unknown): arg is model.Range {
747
748
  export function isUriComponents(arg: unknown): arg is UriComponents {
748
749
  return isObject<UriComponents>(arg) &&
749
750
  typeof arg.scheme === 'string' &&
751
+ (arg['$mid'] === 1 || (
750
752
  typeof arg.path === 'string' &&
751
753
  typeof arg.query === 'string' &&
752
- typeof arg.fragment === 'string';
754
+ typeof arg.fragment === 'string'));
753
755
  }
754
756
 
755
757
  export function isModelCallHierarchyItem(arg: unknown): arg is model.CallHierarchyItem {
@@ -1212,23 +1214,57 @@ export function fromColorPresentation(colorPresentation: theia.ColorPresentation
1212
1214
  };
1213
1215
  }
1214
1216
 
1215
- export function convertToTransferQuickPickItems(items: rpc.Item[]): rpc.TransferQuickPickItems[] {
1216
- return items.map<rpc.TransferQuickPickItems>((item, index) => {
1217
+ export function convertIconPath(iconPath: types.URI | { light: types.URI; dark: types.URI } | theia.ThemeIcon | undefined):
1218
+ UriComponents | { light: UriComponents; dark: UriComponents } | ThemeIcon | undefined {
1219
+ if (!iconPath) {
1220
+ return undefined;
1221
+ }
1222
+ if (iconPath instanceof types.URI) {
1223
+ return iconPath.toJSON();
1224
+ } else if ('dark' in iconPath) {
1225
+ return {
1226
+ dark: iconPath.dark.toJSON(),
1227
+ light: iconPath.light?.toJSON()
1228
+ };
1229
+ } else if (ThemeIcon.isThemeIcon(iconPath)) {
1230
+ return {
1231
+ id: iconPath.id,
1232
+ color: iconPath.color ? { id: iconPath.color.id } : undefined
1233
+ };
1234
+ } else {
1235
+ return undefined;
1236
+ }
1237
+ }
1238
+
1239
+ export function convertQuickInputButton(button: theia.QuickInputButton, index: number): rpc.TransferQuickInputButton {
1240
+ const iconPath = convertIconPath(button.iconPath);
1241
+ if (!iconPath) {
1242
+ throw new Error(`Could not convert icon path: '${button.iconPath}'`);
1243
+ }
1244
+ return {
1245
+ handle: index,
1246
+ iconPath: iconPath,
1247
+ tooltip: button.tooltip
1248
+ };
1249
+ }
1250
+
1251
+ export function convertToTransferQuickPickItems(items: (theia.QuickPickItem | string)[]): rpc.TransferQuickPickItem[] {
1252
+ return items.map((item, index) => {
1217
1253
  if (typeof item === 'string') {
1218
- return { type: 'item', label: item, handle: index };
1254
+ return { kind: 'item', label: item, handle: index };
1219
1255
  } else if (item.kind === QuickPickItemKind.Separator) {
1220
- return { type: 'separator', label: item.label, handle: index };
1256
+ return { kind: 'separator', label: item.label, handle: index };
1221
1257
  } else {
1222
1258
  const { label, description, iconPath, detail, picked, alwaysShow, buttons } = item;
1223
1259
  return {
1224
- type: 'item',
1260
+ kind: 'item',
1225
1261
  label,
1226
1262
  description,
1227
- iconPath,
1263
+ iconPath: convertIconPath(iconPath),
1228
1264
  detail,
1229
1265
  picked,
1230
1266
  alwaysShow,
1231
- buttons,
1267
+ buttons: buttons ? buttons.map(convertQuickInputButton) : undefined,
1232
1268
  handle: index,
1233
1269
  };
1234
1270
  }
@@ -1403,7 +1439,7 @@ export namespace DataTransferItem {
1403
1439
  return {
1404
1440
  name: file.name,
1405
1441
  uri: URI.revive(file.uri),
1406
- data: () => resolveFileData(item.id),
1442
+ data: () => resolveFileData(file.id),
1407
1443
  };
1408
1444
  }
1409
1445
  }('');
@@ -1869,13 +1869,13 @@ export class WorkspaceEdit implements theia.WorkspaceEdit {
1869
1869
  }
1870
1870
 
1871
1871
  set(uri: URI, edits: ReadonlyArray<TextEdit | SnippetTextEdit>): void;
1872
- set(uri: URI, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, theia.WorkspaceEditEntryMetadata]>): void;
1872
+ set(uri: URI, edits: ReadonlyArray<[TextEdit | SnippetTextEdit, theia.WorkspaceEditEntryMetadata | undefined]>): void;
1873
1873
  set(uri: URI, edits: ReadonlyArray<NotebookEdit>): void;
1874
- set(uri: URI, edits: ReadonlyArray<[NotebookEdit, theia.WorkspaceEditEntryMetadata]>): void;
1874
+ set(uri: URI, edits: ReadonlyArray<[NotebookEdit, theia.WorkspaceEditEntryMetadata | undefined]>): void;
1875
1875
 
1876
1876
  set(uri: URI, edits: ReadonlyArray<TextEdit | SnippetTextEdit
1877
- | NotebookEdit | [NotebookEdit, theia.WorkspaceEditEntryMetadata]
1878
- | [TextEdit | SnippetTextEdit, theia.WorkspaceEditEntryMetadata]>): void {
1877
+ | NotebookEdit | [NotebookEdit, theia.WorkspaceEditEntryMetadata | undefined]
1878
+ | [TextEdit | SnippetTextEdit, theia.WorkspaceEditEntryMetadata | undefined]>): void {
1879
1879
  if (!edits) {
1880
1880
  // remove all text edits for `uri`
1881
1881
  for (let i = 0; i < this._edits.length; i++) {
@@ -14,7 +14,7 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { v4 } from 'uuid';
17
+ import { generateUuid, hashValue } from '@theia/core/lib/common/uuid';
18
18
  import { inject, injectable, postConstruct } from '@theia/core/shared/inversify';
19
19
  import { Plugin, WebviewsExt, WebviewPanelViewState, WebviewsMain, PLUGIN_RPC_CONTEXT, WebviewInitData, /* WebviewsMain, PLUGIN_RPC_CONTEXT */ } from '../common/plugin-api-rpc';
20
20
  import * as theia from '@theia/plugin';
@@ -24,7 +24,6 @@ import { fromViewColumn, toViewColumn, toWebviewPanelShowOptions } from './type-
24
24
  import { Disposable, WebviewPanelTargetArea, URI } from './types-impl';
25
25
  import { WorkspaceExtImpl } from './workspace';
26
26
  import { PluginIconPath } from './plugin-icon-path';
27
- import { hashValue } from '@theia/core/lib/common/uuid';
28
27
 
29
28
  @injectable()
30
29
  export class WebviewsExtImpl implements WebviewsExt {
@@ -118,7 +117,7 @@ export class WebviewsExtImpl implements WebviewsExt {
118
117
  options: theia.WebviewPanelOptions & theia.WebviewOptions,
119
118
  plugin: Plugin
120
119
  ): theia.WebviewPanel {
121
- const viewId = v4();
120
+ const viewId = generateUuid();
122
121
  const webviewShowOptions = toWebviewPanelShowOptions(showOptions);
123
122
  const webviewOptions = WebviewImpl.toWebviewOptions(options, this.workspace, plugin);
124
123
  this.proxy.$createWebviewPanel(viewId, viewType, title, webviewShowOptions, webviewOptions);
@@ -204,6 +203,10 @@ export class WebviewsExtImpl implements WebviewsExt {
204
203
  public getWebview(handle: string): WebviewImpl | undefined {
205
204
  return this.webviews.get(handle);
206
205
  }
206
+
207
+ public getResourceRoot(): string | undefined {
208
+ return this.initData?.webviewResourceRoot;
209
+ }
207
210
  }
208
211
 
209
212
  export class WebviewImpl implements theia.Webview {