@theia/plugin-ext 1.77.0-next.49 → 1.77.0-next.57

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 (354) hide show
  1. package/lib/common/character-classifier.js.map +1 -1
  2. package/lib/common/plugin-api-rpc.d.ts +2 -0
  3. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  4. package/lib/common/plugin-api-rpc.js.map +1 -1
  5. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  6. package/lib/hosted/browser/hosted-plugin.js +4 -2
  7. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  8. package/lib/hosted/browser/hosted-plugin.spec.d.ts +2 -0
  9. package/lib/hosted/browser/hosted-plugin.spec.d.ts.map +1 -0
  10. package/lib/hosted/browser/hosted-plugin.spec.js +59 -0
  11. package/lib/hosted/browser/hosted-plugin.spec.js.map +1 -0
  12. package/lib/hosted/browser/worker/worker-main.js +2 -1
  13. package/lib/hosted/browser/worker/worker-main.js.map +1 -1
  14. package/lib/hosted/browser-only/browser-only-plugin-paths-service.js +1 -1
  15. package/lib/hosted/browser-only/browser-only-plugin-paths-service.js.map +1 -1
  16. package/lib/hosted/browser-only/browser-only-plugin-paths-service.spec.js +2 -1
  17. package/lib/hosted/browser-only/browser-only-plugin-paths-service.spec.js.map +1 -1
  18. package/lib/hosted/node/hosted-plugin-localization-service.js +2 -2
  19. package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
  20. package/lib/hosted/node/hosted-plugin-process.js +1 -1
  21. package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
  22. package/lib/hosted/node/plugin-deployer-handler-impl.js +1 -1
  23. package/lib/hosted/node/plugin-deployer-handler-impl.js.map +1 -1
  24. package/lib/hosted/node/plugin-ext-hosted-backend-module.js +2 -1
  25. package/lib/hosted/node/plugin-ext-hosted-backend-module.js.map +1 -1
  26. package/lib/hosted/node/plugin-host-proxy.d.ts.map +1 -1
  27. package/lib/hosted/node/plugin-host-proxy.js +10 -6
  28. package/lib/hosted/node/plugin-host-proxy.js.map +1 -1
  29. package/lib/hosted/node/plugin-host-rpc.js +1 -1
  30. package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
  31. package/lib/hosted/node/plugin-host.js +2 -1
  32. package/lib/hosted/node/plugin-host.js.map +1 -1
  33. package/lib/hosted/node/plugin-reader.js +6 -6
  34. package/lib/hosted/node/plugin-reader.js.map +1 -1
  35. package/lib/hosted/node/plugin-reader.spec.js +4 -3
  36. package/lib/hosted/node/plugin-reader.spec.js.map +1 -1
  37. package/lib/hosted/node/plugin-require-override.d.ts.map +1 -1
  38. package/lib/hosted/node/plugin-require-override.js +3 -1
  39. package/lib/hosted/node/plugin-require-override.js.map +1 -1
  40. package/lib/hosted/node/plugin-require-override.spec.d.ts +2 -0
  41. package/lib/hosted/node/plugin-require-override.spec.d.ts.map +1 -0
  42. package/lib/hosted/node/plugin-require-override.spec.js +40 -0
  43. package/lib/hosted/node/plugin-require-override.spec.js.map +1 -0
  44. package/lib/hosted/node/scanners/file-plugin-uri-factory.js +1 -1
  45. package/lib/hosted/node/scanners/file-plugin-uri-factory.js.map +1 -1
  46. package/lib/hosted/node/scanners/scanner-theia.js +2 -2
  47. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  48. package/lib/hosted/node/scanners/scanner-theia.spec.js +5 -4
  49. package/lib/hosted/node/scanners/scanner-theia.spec.js.map +1 -1
  50. package/lib/hosted/node-electron/scanner-theia-electron.js +1 -1
  51. package/lib/hosted/node-electron/scanner-theia-electron.js.map +1 -1
  52. package/lib/main/browser/commands.js +1 -1
  53. package/lib/main/browser/commands.js.map +1 -1
  54. package/lib/main/browser/comments/comment-thread-widget.js +3 -2
  55. package/lib/main/browser/comments/comment-thread-widget.js.map +1 -1
  56. package/lib/main/browser/comments/comments-contribution.js +1 -1
  57. package/lib/main/browser/comments/comments-contribution.js.map +1 -1
  58. package/lib/main/browser/custom-editors/custom-editor-opener.spec.js +3 -2
  59. package/lib/main/browser/custom-editors/custom-editor-opener.spec.js.map +1 -1
  60. package/lib/main/browser/custom-editors/custom-editor-widget.js +1 -1
  61. package/lib/main/browser/custom-editors/custom-editor-widget.js.map +1 -1
  62. package/lib/main/browser/custom-editors/custom-editors-main.js +2 -1
  63. package/lib/main/browser/custom-editors/custom-editors-main.js.map +1 -1
  64. package/lib/main/browser/decorations/decorations-main.js +2 -1
  65. package/lib/main/browser/decorations/decorations-main.js.map +1 -1
  66. package/lib/main/browser/dialogs-main.js +2 -1
  67. package/lib/main/browser/dialogs-main.js.map +1 -1
  68. package/lib/main/browser/documents-main.js +3 -2
  69. package/lib/main/browser/documents-main.js.map +1 -1
  70. package/lib/main/browser/file-system-main-impl.js +3 -2
  71. package/lib/main/browser/file-system-main-impl.js.map +1 -1
  72. package/lib/main/browser/hierarchy/hierarchy-types-converters.js +3 -2
  73. package/lib/main/browser/hierarchy/hierarchy-types-converters.js.map +1 -1
  74. package/lib/main/browser/languages-main.js +3 -3
  75. package/lib/main/browser/languages-main.js.map +1 -1
  76. package/lib/main/browser/languages-main.spec.js +2 -1
  77. package/lib/main/browser/languages-main.spec.js.map +1 -1
  78. package/lib/main/browser/main-file-system-event-service.spec.js +2 -1
  79. package/lib/main/browser/main-file-system-event-service.spec.js.map +1 -1
  80. package/lib/main/browser/menus/menus-contribution-handler.d.ts.map +1 -1
  81. package/lib/main/browser/menus/menus-contribution-handler.js +1 -12
  82. package/lib/main/browser/menus/menus-contribution-handler.js.map +1 -1
  83. package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
  84. package/lib/main/browser/notebooks/renderers/output-webview-internal.js +3 -2
  85. package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
  86. package/lib/main/browser/plugin-contribution-handler.js +1 -1
  87. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  88. package/lib/main/browser/plugin-ext-widget.js +1 -1
  89. package/lib/main/browser/plugin-ext-widget.js.map +1 -1
  90. package/lib/main/browser/plugin-icon-service.js +1 -1
  91. package/lib/main/browser/plugin-icon-service.js.map +1 -1
  92. package/lib/main/browser/plugin-icon-theme-service.d.ts +2 -2
  93. package/lib/main/browser/plugin-icon-theme-service.d.ts.map +1 -1
  94. package/lib/main/browser/plugin-icon-theme-service.js +2 -2
  95. package/lib/main/browser/plugin-icon-theme-service.js.map +1 -1
  96. package/lib/main/browser/plugin-icon-theme-service.spec.js +2 -1
  97. package/lib/main/browser/plugin-icon-theme-service.spec.js.map +1 -1
  98. package/lib/main/browser/plugin-shared-style.js.map +1 -1
  99. package/lib/main/browser/scm-main.d.ts +3 -1
  100. package/lib/main/browser/scm-main.d.ts.map +1 -1
  101. package/lib/main/browser/scm-main.js +6 -3
  102. package/lib/main/browser/scm-main.js.map +1 -1
  103. package/lib/main/browser/scm-main.spec.js +31 -0
  104. package/lib/main/browser/scm-main.spec.js.map +1 -1
  105. package/lib/main/browser/status-bar-message-registry-main.js +2 -1
  106. package/lib/main/browser/status-bar-message-registry-main.js.map +1 -1
  107. package/lib/main/browser/text-editor-main.js +2 -1
  108. package/lib/main/browser/text-editor-main.js.map +1 -1
  109. package/lib/main/browser/text-editors-main.js +2 -1
  110. package/lib/main/browser/text-editors-main.js.map +1 -1
  111. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +1 -1
  112. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js.map +1 -1
  113. package/lib/main/browser/view/plugin-view-registry.d.ts +7 -2
  114. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  115. package/lib/main/browser/view/plugin-view-registry.js +19 -3
  116. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  117. package/lib/main/browser/view/plugin-view-registry.spec.js +82 -1
  118. package/lib/main/browser/view/plugin-view-registry.spec.js.map +1 -1
  119. package/lib/main/browser/view/tree-view-decorator-service.js +1 -1
  120. package/lib/main/browser/view/tree-view-decorator-service.js.map +1 -1
  121. package/lib/main/browser/view/tree-view-widget.js +2 -2
  122. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  123. package/lib/main/browser/webview/pre/main.spec.d.ts +2 -0
  124. package/lib/main/browser/webview/pre/main.spec.d.ts.map +1 -0
  125. package/lib/main/browser/webview/pre/main.spec.js +45 -0
  126. package/lib/main/browser/webview/pre/main.spec.js.map +1 -0
  127. package/lib/main/browser/webview/webview-theme-data-provider.d.ts +1 -1
  128. package/lib/main/browser/webview/webview-theme-data-provider.d.ts.map +1 -1
  129. package/lib/main/browser/webview/webview.d.ts.map +1 -1
  130. package/lib/main/browser/webview/webview.js +6 -3
  131. package/lib/main/browser/webview/webview.js.map +1 -1
  132. package/lib/main/browser/window-state-main.js +2 -1
  133. package/lib/main/browser/window-state-main.js.map +1 -1
  134. package/lib/main/browser/workspace-main.js +1 -1
  135. package/lib/main/browser/workspace-main.js.map +1 -1
  136. package/lib/main/common/plugin-theia-environment.js +1 -1
  137. package/lib/main/common/plugin-theia-environment.js.map +1 -1
  138. package/lib/main/node/handlers/plugin-theia-directory-handler.js +4 -4
  139. package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
  140. package/lib/main/node/handlers/plugin-theia-file-handler.js +3 -3
  141. package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
  142. package/lib/main/node/paths/plugin-paths-service.js +4 -4
  143. package/lib/main/node/paths/plugin-paths-service.js.map +1 -1
  144. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js +2 -1
  145. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js.map +1 -1
  146. package/lib/main/node/plugin-deployer-file-handler-context-impl.js +3 -2
  147. package/lib/main/node/plugin-deployer-file-handler-context-impl.js.map +1 -1
  148. package/lib/main/node/plugin-deployer-impl.js +1 -1
  149. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  150. package/lib/main/node/plugin-github-resolver.js +1 -1
  151. package/lib/main/node/plugin-github-resolver.js.map +1 -1
  152. package/lib/main/node/plugin-http-resolver.js +1 -1
  153. package/lib/main/node/plugin-http-resolver.js.map +1 -1
  154. package/lib/main/node/plugin-service.d.ts +1 -1
  155. package/lib/main/node/plugin-service.d.ts.map +1 -1
  156. package/lib/main/node/plugin-service.js +4 -4
  157. package/lib/main/node/plugin-service.js.map +1 -1
  158. package/lib/main/node/plugins-key-value-storage.js +2 -2
  159. package/lib/main/node/plugins-key-value-storage.js.map +1 -1
  160. package/lib/main/node/plugins-key-value-storage.spec.js +2 -1
  161. package/lib/main/node/plugins-key-value-storage.spec.js.map +1 -1
  162. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js +2 -2
  163. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js.map +1 -1
  164. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.spec.js +4 -3
  165. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.spec.js.map +1 -1
  166. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js +3 -3
  167. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js.map +1 -1
  168. package/lib/main/node/temp-dir-util.js +3 -2
  169. package/lib/main/node/temp-dir-util.js.map +1 -1
  170. package/lib/plugin/comments.d.ts +1 -1
  171. package/lib/plugin/comments.d.ts.map +1 -1
  172. package/lib/plugin/custom-editors.js +2 -1
  173. package/lib/plugin/custom-editors.js.map +1 -1
  174. package/lib/plugin/decorations.spec.js +2 -1
  175. package/lib/plugin/decorations.spec.js.map +1 -1
  176. package/lib/plugin/document-data.d.ts.map +1 -1
  177. package/lib/plugin/document-data.js +0 -1
  178. package/lib/plugin/document-data.js.map +1 -1
  179. package/lib/plugin/documents.js +2 -1
  180. package/lib/plugin/documents.js.map +1 -1
  181. package/lib/plugin/editors-and-documents.js +1 -1
  182. package/lib/plugin/editors-and-documents.js.map +1 -1
  183. package/lib/plugin/file-system-event-service-ext-impl.d.ts +1 -1
  184. package/lib/plugin/file-system-event-service-ext-impl.d.ts.map +1 -1
  185. package/lib/plugin/file-system-event-service-ext-impl.js +3 -2
  186. package/lib/plugin/file-system-event-service-ext-impl.js.map +1 -1
  187. package/lib/plugin/file-system-ext-impl.js +5 -4
  188. package/lib/plugin/file-system-ext-impl.js.map +1 -1
  189. package/lib/plugin/file-system-watcher.spec.js +2 -1
  190. package/lib/plugin/file-system-watcher.spec.js.map +1 -1
  191. package/lib/plugin/known-commands.js +5 -5
  192. package/lib/plugin/known-commands.js.map +1 -1
  193. package/lib/plugin/known-commands.spec.js +2 -1
  194. package/lib/plugin/known-commands.spec.js.map +1 -1
  195. package/lib/plugin/languages/call-hierarchy.js +2 -1
  196. package/lib/plugin/languages/call-hierarchy.js.map +1 -1
  197. package/lib/plugin/languages/code-action.js +2 -1
  198. package/lib/plugin/languages/code-action.js.map +1 -1
  199. package/lib/plugin/languages/color.js +2 -1
  200. package/lib/plugin/languages/color.js.map +1 -1
  201. package/lib/plugin/languages/completion.js +2 -1
  202. package/lib/plugin/languages/completion.js.map +1 -1
  203. package/lib/plugin/languages/declaration.js +3 -2
  204. package/lib/plugin/languages/declaration.js.map +1 -1
  205. package/lib/plugin/languages/definition.js +3 -2
  206. package/lib/plugin/languages/definition.js.map +1 -1
  207. package/lib/plugin/languages/document-drop-edit.js +4 -3
  208. package/lib/plugin/languages/document-drop-edit.js.map +1 -1
  209. package/lib/plugin/languages/document-formatting.js +2 -1
  210. package/lib/plugin/languages/document-formatting.js.map +1 -1
  211. package/lib/plugin/languages/document-highlight.js +3 -2
  212. package/lib/plugin/languages/document-highlight.js.map +1 -1
  213. package/lib/plugin/languages/evaluatable-expression.js +2 -1
  214. package/lib/plugin/languages/evaluatable-expression.js.map +1 -1
  215. package/lib/plugin/languages/folding.js +2 -1
  216. package/lib/plugin/languages/folding.js.map +1 -1
  217. package/lib/plugin/languages/hover.js +2 -1
  218. package/lib/plugin/languages/hover.js.map +1 -1
  219. package/lib/plugin/languages/implementation.js +3 -2
  220. package/lib/plugin/languages/implementation.js.map +1 -1
  221. package/lib/plugin/languages/inlay-hints.js +2 -1
  222. package/lib/plugin/languages/inlay-hints.js.map +1 -1
  223. package/lib/plugin/languages/inline-completion.js +2 -1
  224. package/lib/plugin/languages/inline-completion.js.map +1 -1
  225. package/lib/plugin/languages/inline-values.js +2 -1
  226. package/lib/plugin/languages/inline-values.js.map +1 -1
  227. package/lib/plugin/languages/lens.js +2 -1
  228. package/lib/plugin/languages/lens.js.map +1 -1
  229. package/lib/plugin/languages/link-provider.js +2 -1
  230. package/lib/plugin/languages/link-provider.js.map +1 -1
  231. package/lib/plugin/languages/multi-document-highlight.js +3 -2
  232. package/lib/plugin/languages/multi-document-highlight.js.map +1 -1
  233. package/lib/plugin/languages/on-type-formatting.js +2 -1
  234. package/lib/plugin/languages/on-type-formatting.js.map +1 -1
  235. package/lib/plugin/languages/outline.js +3 -2
  236. package/lib/plugin/languages/outline.js.map +1 -1
  237. package/lib/plugin/languages/range-formatting.js +2 -1
  238. package/lib/plugin/languages/range-formatting.js.map +1 -1
  239. package/lib/plugin/languages/reference.js +2 -1
  240. package/lib/plugin/languages/reference.js.map +1 -1
  241. package/lib/plugin/languages/rename.js +2 -1
  242. package/lib/plugin/languages/rename.js.map +1 -1
  243. package/lib/plugin/languages/selection-range.js +2 -1
  244. package/lib/plugin/languages/selection-range.js.map +1 -1
  245. package/lib/plugin/languages/signature.js +2 -1
  246. package/lib/plugin/languages/signature.js.map +1 -1
  247. package/lib/plugin/languages/type-definition.js +3 -2
  248. package/lib/plugin/languages/type-definition.js.map +1 -1
  249. package/lib/plugin/languages/type-hierarchy.js +2 -1
  250. package/lib/plugin/languages/type-hierarchy.js.map +1 -1
  251. package/lib/plugin/languages/util.js +2 -1
  252. package/lib/plugin/languages/util.js.map +1 -1
  253. package/lib/plugin/languages/workspace-symbol.js +2 -1
  254. package/lib/plugin/languages/workspace-symbol.js.map +1 -1
  255. package/lib/plugin/node/debug/debug.spec.js +2 -1
  256. package/lib/plugin/node/debug/debug.spec.js.map +1 -1
  257. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js +3 -2
  258. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js.map +1 -1
  259. package/lib/plugin/node/env-node-ext.js +1 -1
  260. package/lib/plugin/node/env-node-ext.js.map +1 -1
  261. package/lib/plugin/notebook/notebook-document.js +3 -2
  262. package/lib/plugin/notebook/notebook-document.js.map +1 -1
  263. package/lib/plugin/notebook/notebook-editors.js +2 -1
  264. package/lib/plugin/notebook/notebook-editors.js.map +1 -1
  265. package/lib/plugin/notebook/notebooks.js +2 -1
  266. package/lib/plugin/notebook/notebooks.js.map +1 -1
  267. package/lib/plugin/path.spec.js +2 -1
  268. package/lib/plugin/path.spec.js.map +1 -1
  269. package/lib/plugin/plugin-context.js.map +1 -1
  270. package/lib/plugin/plugin-icon-path.js +2 -1
  271. package/lib/plugin/plugin-icon-path.js.map +1 -1
  272. package/lib/plugin/plugin-manager.js +1 -1
  273. package/lib/plugin/plugin-manager.js.map +1 -1
  274. package/lib/plugin/preference-registry.spec.js +2 -1
  275. package/lib/plugin/preference-registry.spec.js.map +1 -1
  276. package/lib/plugin/quick-open.js +2 -1
  277. package/lib/plugin/quick-open.js.map +1 -1
  278. package/lib/plugin/relative-pattern.spec.js +3 -2
  279. package/lib/plugin/relative-pattern.spec.js.map +1 -1
  280. package/lib/plugin/scm.d.ts.map +1 -1
  281. package/lib/plugin/scm.js +14 -1
  282. package/lib/plugin/scm.js.map +1 -1
  283. package/lib/plugin/scm.spec.js +56 -1
  284. package/lib/plugin/scm.spec.js.map +1 -1
  285. package/lib/plugin/tasks/task-provider.js +2 -1
  286. package/lib/plugin/tasks/task-provider.js.map +1 -1
  287. package/lib/plugin/tasks/tasks.js +2 -1
  288. package/lib/plugin/tasks/tasks.js.map +1 -1
  289. package/lib/plugin/telemetry-ext.spec.js +2 -1
  290. package/lib/plugin/telemetry-ext.spec.js.map +1 -1
  291. package/lib/plugin/terminal-ext.js +1 -1
  292. package/lib/plugin/terminal-ext.js.map +1 -1
  293. package/lib/plugin/terminal-ext.spec.js +2 -1
  294. package/lib/plugin/terminal-ext.spec.js.map +1 -1
  295. package/lib/plugin/tests.js +1 -1
  296. package/lib/plugin/tests.js.map +1 -1
  297. package/lib/plugin/text-editor.js +2 -1
  298. package/lib/plugin/text-editor.js.map +1 -1
  299. package/lib/plugin/text-editors.js +2 -1
  300. package/lib/plugin/text-editors.js.map +1 -1
  301. package/lib/plugin/tree/tree-views.d.ts.map +1 -1
  302. package/lib/plugin/tree/tree-views.js +2 -1
  303. package/lib/plugin/tree/tree-views.js.map +1 -1
  304. package/lib/plugin/type-converters.js +6 -5
  305. package/lib/plugin/type-converters.js.map +1 -1
  306. package/lib/plugin/type-converters.spec.js +5 -4
  307. package/lib/plugin/type-converters.spec.js.map +1 -1
  308. package/lib/plugin/types-impl.js +1 -1
  309. package/lib/plugin/types-impl.js.map +1 -1
  310. package/lib/plugin/types-impl.spec.js +3 -2
  311. package/lib/plugin/types-impl.spec.js.map +1 -1
  312. package/lib/plugin/workspace.js +2 -2
  313. package/lib/plugin/workspace.js.map +1 -1
  314. package/lib/plugin/workspace.spec.js +2 -1
  315. package/lib/plugin/workspace.spec.js.map +1 -1
  316. package/lib/plugin-ext-frontend-electron-module.js +2 -1
  317. package/lib/plugin-ext-frontend-electron-module.js.map +1 -1
  318. package/lib/plugin-ext-frontend-module.js +2 -1
  319. package/lib/plugin-ext-frontend-module.js.map +1 -1
  320. package/package.json +32 -32
  321. package/src/common/character-classifier.ts +1 -1
  322. package/src/common/plugin-api-rpc.ts +2 -0
  323. package/src/hosted/browser/hosted-plugin.spec.ts +66 -0
  324. package/src/hosted/browser/hosted-plugin.ts +3 -1
  325. package/src/hosted/node/plugin-host-proxy.ts +6 -3
  326. package/src/hosted/node/plugin-reader.ts +1 -1
  327. package/src/hosted/node/plugin-require-override.spec.ts +44 -0
  328. package/src/hosted/node/plugin-require-override.ts +1 -0
  329. package/src/main/browser/file-system-main-impl.ts +1 -1
  330. package/src/main/browser/menus/menus-contribution-handler.ts +6 -13
  331. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +6 -3
  332. package/src/main/browser/plugin-shared-style.ts +2 -2
  333. package/src/main/browser/scm-main.spec.ts +32 -0
  334. package/src/main/browser/scm-main.ts +6 -2
  335. package/src/main/browser/view/plugin-view-registry.spec.ts +134 -3
  336. package/src/main/browser/view/plugin-view-registry.ts +20 -3
  337. package/src/main/browser/view/tree-view-widget.tsx +1 -1
  338. package/src/main/browser/webview/pre/main.js +19 -10
  339. package/src/main/browser/webview/pre/main.spec.ts +46 -0
  340. package/src/main/browser/webview/webview.ts +7 -3
  341. package/src/main/node/handlers/plugin-theia-directory-handler.ts +1 -1
  342. package/src/main/node/handlers/plugin-theia-file-handler.ts +1 -1
  343. package/src/main/node/plugin-deployer-file-handler-context-impl.ts +1 -1
  344. package/src/main/node/plugin-service.ts +1 -1
  345. package/src/plugin/document-data.ts +0 -1
  346. package/src/plugin/file-system-event-service-ext-impl.ts +1 -1
  347. package/src/plugin/file-system-ext-impl.ts +2 -2
  348. package/src/plugin/known-commands.ts +5 -5
  349. package/src/plugin/plugin-context.ts +3 -3
  350. package/src/plugin/scm.spec.ts +67 -1
  351. package/src/plugin/scm.ts +18 -1
  352. package/src/plugin/tests.ts +2 -2
  353. package/src/plugin/tree/tree-views.ts +2 -1
  354. package/src/plugin/type-converters.spec.ts +1 -1
@@ -160,6 +160,7 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
160
160
 
161
161
  this.updateFocusedView();
162
162
  this.shell.onDidChangeActiveWidget(() => this.updateFocusedView());
163
+ this.onDidExpandView(viewId => this.prepareWelcomeOnlyView(viewId).catch(e => this.logger.error(e)));
163
164
 
164
165
  this.widgetManager.onWillCreateWidget(({ factoryId, widget, waitUntil }) => {
165
166
  if (factoryId === EXPLORER_VIEW_CONTAINER_ID && widget instanceof ViewContainerWidget) {
@@ -786,7 +787,8 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
786
787
  const currentDataWidget = widget.widgets[0];
787
788
  const webviewId = currentDataWidget instanceof WebviewWidget ? currentDataWidget.identifier?.id : undefined;
788
789
  const viewDataWidget = await this.createViewDataWidget(view.id, webviewId);
789
- if (widget.isDisposed) {
790
+ // `onDidInitializeLayout` can dispose the data widget before it is added here.
791
+ if (widget.isDisposed || viewDataWidget?.isDisposed) {
790
792
  viewDataWidget?.dispose();
791
793
  return;
792
794
  }
@@ -1029,8 +1031,8 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
1029
1031
  }
1030
1032
 
1031
1033
  /**
1032
- * retrieve restored layout state from previous user session but close widgets
1033
- * widgets should be opened only when view data providers are registered
1034
+ * Retrieves the restored state of the data widgets and disposes them: a view gets a new data widget
1035
+ * once its data provider registers or, for a view with only welcome content, once it is expanded.
1034
1036
  */
1035
1037
  onDidInitializeLayout(): void {
1036
1038
  const widgets = this.widgetManager.getWidgets(PLUGIN_VIEW_DATA_FACTORY_ID);
@@ -1108,6 +1110,21 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
1108
1110
  return widget;
1109
1111
  }
1110
1112
 
1113
+ /**
1114
+ * Gives an expanded view that has `viewsWelcome` content but neither a data provider nor a
1115
+ * content widget its welcome widget, which `onDidInitializeLayout` disposes when it was restored.
1116
+ */
1117
+ protected async prepareWelcomeOnlyView(viewId: string): Promise<void> {
1118
+ if (this.views.get(viewId)?.[1]?.type === PluginViewType.Webview
1119
+ || this.viewDataProviders.has(viewId) || !this.getViewWelcomes(viewId).length) {
1120
+ return;
1121
+ }
1122
+ const view = await this.getView(viewId);
1123
+ if (view && !view.widgets.length) {
1124
+ await this.prepareView(view);
1125
+ }
1126
+ }
1127
+
1111
1128
  protected async createViewWelcomeWidget(viewId: string): Promise<TreeViewWidget> {
1112
1129
  const widget = await this.widgetManager.getOrCreateWidget<TreeViewWidget>(PLUGIN_VIEW_DATA_FACTORY_ID, { id: viewId });
1113
1130
  if (!widget.model.root) {
@@ -811,7 +811,7 @@ export class TreeViewWidget extends TreeViewWelcomeWidget {
811
811
  }
812
812
  const className = [TREE_NODE_SEGMENT_CLASS, TREE_NODE_TAIL_CLASS, actionMenuNode.icon, ACTION_ITEM, 'theia-tree-view-inline-action'].join(' ');
813
813
  const tabIndex = tabbable ? 0 : undefined;
814
- const titleString = actionMenuNode.label + (AcceleratorSource.is(actionMenuNode) ? actionMenuNode.getAccelerator(undefined).join('+') : '');
814
+ const titleString = actionMenuNode.label + (AcceleratorSource.is(actionMenuNode) ? actionMenuNode.getAccelerator(undefined, 'logical').join('+') : '');
815
815
 
816
816
  return <div key={index} className={className} title={titleString} tabIndex={tabIndex} onClick={e => {
817
817
  e.stopPropagation();
@@ -34,6 +34,23 @@
34
34
  (function () {
35
35
  'use strict';
36
36
 
37
+ /**
38
+ * @param {KeyboardEvent} event
39
+ */
40
+ const toNormalizedKeyboardInput = event => ({
41
+ key: event.key,
42
+ keyCode: event.keyCode,
43
+ code: event.code,
44
+ shiftKey: event.shiftKey,
45
+ altKey: event.altKey,
46
+ ctrlKey: event.ctrlKey,
47
+ metaKey: event.metaKey,
48
+ altGraph: event.getModifierState('AltGraph'),
49
+ repeat: event.repeat,
50
+ isComposing: event.isComposing,
51
+ location: event.location
52
+ });
53
+
37
54
  /**
38
55
  * Use polling to track focus of main webview and iframes within the webview
39
56
  *
@@ -300,16 +317,7 @@ window.frameElement = null;
300
317
  const handleInnerKeydown = (e) => {
301
318
  preventDefaultBrowserHotkeys(e);
302
319
 
303
- host.postMessage('did-keydown', {
304
- key: e.key,
305
- keyCode: e.keyCode,
306
- code: e.code,
307
- shiftKey: e.shiftKey,
308
- altKey: e.altKey,
309
- ctrlKey: e.ctrlKey,
310
- metaKey: e.metaKey,
311
- repeat: e.repeat
312
- });
320
+ host.postMessage('did-keydown', toNormalizedKeyboardInput(e));
313
321
  };
314
322
 
315
323
  /**
@@ -678,6 +686,7 @@ window.frameElement = null;
678
686
 
679
687
  if (typeof module !== 'undefined') {
680
688
  module.exports = createWebviewManager;
689
+ module.exports.toNormalizedKeyboardInput = toNormalizedKeyboardInput;
681
690
  } else {
682
691
  window.createWebviewManager = createWebviewManager;
683
692
  }
@@ -0,0 +1,46 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 EclipseSource and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // https://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
9
+ // *****************************************************************************
10
+
11
+ import { expect } from 'chai';
12
+
13
+ const { toNormalizedKeyboardInput } = require('../../../../../src/main/browser/webview/pre/main.js');
14
+
15
+ describe('webview keyboard transport', () => {
16
+ it('serializes explicit AltGraph and normalized keyboard fields', () => {
17
+ const input = toNormalizedKeyboardInput({
18
+ key: '[',
19
+ keyCode: 56,
20
+ code: 'Digit8',
21
+ shiftKey: false,
22
+ altKey: false,
23
+ ctrlKey: true,
24
+ metaKey: false,
25
+ repeat: true,
26
+ isComposing: false,
27
+ location: 2,
28
+ getModifierState: (modifier: string) => modifier === 'AltGraph'
29
+ });
30
+
31
+ expect(input).to.deep.equal({
32
+ key: '[',
33
+ keyCode: 56,
34
+ code: 'Digit8',
35
+ shiftKey: false,
36
+ altKey: false,
37
+ ctrlKey: true,
38
+ metaKey: false,
39
+ altGraph: true,
40
+ repeat: true,
41
+ isComposing: false,
42
+ location: 2
43
+ });
44
+ expect(input).not.to.have.property('getModifierState');
45
+ });
46
+ });
@@ -54,6 +54,7 @@ import { ContextMenuRenderer } from '@theia/core/lib/browser';
54
54
  import { ContextKeyService } from '@theia/core/lib/browser/context-key-service';
55
55
  import { PluginViewWidget } from '../view/plugin-view-widget';
56
56
  import { WebviewPreferences } from '../../common/webview-preferences';
57
+ import { NormalizedKeyboardInput } from '@theia/core/lib/browser/keyboard/keys';
57
58
 
58
59
  // Style from core
59
60
  const TRANSPARENT_OVERLAY_STYLE = 'theia-transparent-overlay';
@@ -325,11 +326,14 @@ export class WebviewWidget extends BaseWidget implements StatefulWidget, Extract
325
326
  this.toHide.push(this.on(WebviewMessageChannels.loadLocalhost, (entry: any) =>
326
327
  this.loadLocalhost(entry.origin)
327
328
  ));
328
- this.toHide.push(this.on(WebviewMessageChannels.didKeydown, (data: KeyboardEvent) => {
329
+ this.toHide.push(this.on(WebviewMessageChannels.didKeydown, (data: NormalizedKeyboardInput) => {
329
330
  // Electron: workaround for https://github.com/electron/electron/issues/14258
330
331
  // We have to detect keyboard events in the <webview> and dispatch them to our
331
332
  // keybinding service because these events do not bubble to the parent window anymore.
332
- this.keybindings.dispatchKeyDown(data, this.element);
333
+ this.keybindings.dispatchNormalizedKeyDown(data, this.element);
334
+ // DOM capture listeners must still observe the emulated event. Mark it as already handled so the registry's
335
+ // capture listener does not execute the keybinding a second time.
336
+ this.keybindings.dispatchKeyDown(data, this.element, true);
333
337
  }));
334
338
  this.toHide.push(this.on(WebviewMessageChannels.didMouseDown, (data: MouseEvent) => {
335
339
  // We have to dispatch mousedown events so menus will be closed when clicking inside webviews.
@@ -415,7 +419,7 @@ export class WebviewWidget extends BaseWidget implements StatefulWidget, Extract
415
419
  }
416
420
 
417
421
  setContentOptions(contentOptions: WebviewContentOptions): void {
418
- if (JSONExt.deepEqual(<any>this.contentOptions, <any>contentOptions)) {
422
+ if (JSONExt.deepEqual(this.contentOptions as any, contentOptions as any)) {
419
423
  return;
420
424
  }
421
425
  this._contentOptions = contentOptions;
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import * as path from 'path';
18
- import * as filenamify from 'filenamify';
18
+ import filenamify from 'filenamify';
19
19
  import * as fs from '@theia/core/shared/fs-extra';
20
20
  import { URI, ILogger } from '@theia/core';
21
21
  import { inject, injectable, named } from '@theia/core/shared/inversify';
@@ -20,7 +20,7 @@ import { inject, injectable, named } from '@theia/core/shared/inversify';
20
20
  import { Deferred } from '@theia/core/lib/common/promise-util';
21
21
  import { getTempDirPathAsync } from '../temp-dir-util';
22
22
  import * as fs from '@theia/core/shared/fs-extra';
23
- import * as filenamify from 'filenamify';
23
+ import filenamify from 'filenamify';
24
24
  import { FileUri } from '@theia/core/lib/common/file-uri';
25
25
  import { PluginTheiaEnvironment } from '../../common/plugin-theia-environment';
26
26
 
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { PluginDeployerEntry, PluginDeployerFileHandlerContext } from '../../common/plugin-protocol';
18
- import * as decompress from 'decompress';
18
+ import decompress from 'decompress';
19
19
 
20
20
  export class PluginDeployerFileHandlerContextImpl implements PluginDeployerFileHandlerContext {
21
21
 
@@ -17,7 +17,7 @@
17
17
  import * as http from 'http';
18
18
  import * as path from 'path';
19
19
  const vhost = require('vhost');
20
- import * as express from '@theia/core/shared/express';
20
+ import express from '@theia/core/shared/express';
21
21
  import { BackendApplicationContribution } from '@theia/core/lib/node/backend-application';
22
22
  import { inject, injectable, postConstruct, named } from '@theia/core/shared/inversify';
23
23
  import { WebviewExternalEndpoint } from '../common/webview-protocol';
@@ -59,7 +59,6 @@ export class DocumentDataExt {
59
59
 
60
60
  // Update my lines
61
61
  const changes = e.changes;
62
- // tslint:disable-next-line:one-variable-per-declaration
63
62
  for (let i = 0, len = changes.length; i < len; i++) {
64
63
  const change = changes[i];
65
64
  this.acceptDeleteRange(change.range);
@@ -26,7 +26,7 @@
26
26
  /* eslint-disable max-len */
27
27
  /* eslint-disable @typescript-eslint/no-shadow */
28
28
  /* eslint-disable @typescript-eslint/no-explicit-any */
29
- /* eslint-disable @typescript-eslint/tslint/config */
29
+ /* eslint-disable @theia/explicit-return-type */
30
30
 
31
31
  import { Emitter, Event as EventNamespace, WaitUntilEvent, AsyncEmitter, WaitUntilData } from '@theia/core/lib/common/event';
32
32
  import { GLOB_SPLIT, GLOBSTAR, parse } from '@theia/core/lib/common/glob';
@@ -24,9 +24,9 @@
24
24
  */
25
25
 
26
26
  /* eslint-disable arrow-body-style */
27
- /* eslint-disable @typescript-eslint/quotes */
28
- /* eslint-disable @typescript-eslint/tslint/config */
27
+ /* eslint-disable @stylistic/quotes */
29
28
  /* eslint-disable @typescript-eslint/no-explicit-any */
29
+ /* eslint-disable @theia/explicit-return-type */
30
30
 
31
31
  import { Schemes as Schemas, UriComponents } from '../common/uri-components';
32
32
  import { FileChangeType, FileSystemError, URI } from './types-impl';
@@ -366,9 +366,9 @@ export namespace KnownCommands {
366
366
  return L.create(l.uri.toString(), fromRangeToR(l.range));
367
367
  }
368
368
 
369
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/tslint/config
369
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @theia/explicit-return-type
370
370
  function vscodeToMonacoArgsConverter(args: any[]) {
371
- // tslint:disable-next-line:typedef
371
+ // eslint-disable-next-line @theia/explicit-return-type
372
372
  return cloneAndChange(args, function (value) {
373
373
  if (CallHierarchyItem.isCallHierarchyItem(value)) {
374
374
  return fromCallHierarchyItem(value);
@@ -394,9 +394,9 @@ export namespace KnownCommands {
394
394
  });
395
395
  }
396
396
 
397
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/tslint/config
397
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any, @theia/explicit-return-type
398
398
  function monacoToVscodeArgsConverter(args: any[]) {
399
- // tslint:disable-next-line:typedef
399
+ // eslint-disable-next-line @theia/explicit-return-type
400
400
  return cloneAndChange(args, function (value) {
401
401
  if (isModelCallHierarchyItem(value)) {
402
402
  return toCallHierarchyItem(value);
@@ -422,7 +422,7 @@ export namespace KnownCommands {
422
422
  }
423
423
 
424
424
  function toArrayConversion<T, U>(f: (a: T) => U): (a: T[]) => U[] {
425
- // tslint:disable-next-line:typedef
425
+ // eslint-disable-next-line @theia/explicit-return-type
426
426
  return function (a: T[]) {
427
427
  return a.map(f);
428
428
  };
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  /* eslint-disable @typescript-eslint/no-explicit-any */
18
- /* tslint:disable:typedef */
18
+ /* eslint-disable @theia/explicit-return-type */
19
19
 
20
20
  import type * as theia from '@theia/plugin';
21
21
  import { CommandRegistryImpl } from './command-registry';
@@ -1698,7 +1698,7 @@ export class Plugin<T> implements theia.Plugin<T> {
1698
1698
  }
1699
1699
 
1700
1700
  get exports(): T {
1701
- return <T>this.#pluginManager.getPluginExport(this.id);
1701
+ return this.#pluginManager.getPluginExport(this.id) as T;
1702
1702
  }
1703
1703
 
1704
1704
  activate(): PromiseLike<T> {
@@ -1729,7 +1729,7 @@ export class PluginExt<T> extends Plugin<T> implements ExtensionPlugin<T> {
1729
1729
  }
1730
1730
 
1731
1731
  override get exports(): T {
1732
- return <T>this.#pluginManager.getPluginExport(this.id);
1732
+ return this.#pluginManager.getPluginExport(this.id) as T;
1733
1733
  }
1734
1734
 
1735
1735
  override activate(): PromiseLike<T> {
@@ -24,7 +24,13 @@
24
24
  import * as assert from 'assert';
25
25
  import { Emitter } from '@theia/core/lib/common/event';
26
26
  import { DisposableCollection } from '@theia/core/lib/common/disposable';
27
- import { ScmCommandArg, ScmHistoryItemCommandArg } from '../common/plugin-api-rpc';
27
+ import { ScmCommandArg, ScmHistoryItemCommandArg, ScmMain, ScmRawResourceSplices } from '../common/plugin-api-rpc';
28
+ import { ScmExtImpl } from './scm';
29
+ import { RPCProtocol } from '../common/rpc-protocol';
30
+ import { CommandRegistryImpl } from './command-registry';
31
+ import { Plugin } from '../common';
32
+ import { URI } from './types-impl';
33
+ import { SourceControlResourceGroup, SourceControlResourceState } from '@theia/plugin';
28
34
 
29
35
  /* eslint-disable @typescript-eslint/no-explicit-any */
30
36
 
@@ -152,6 +158,66 @@ class HistoryProviderBridge {
152
158
  }
153
159
  }
154
160
 
161
+ describe('SCM multi-diff resource snapshots (plugin side)', () => {
162
+ let group: SourceControlResourceGroup;
163
+ let updates: ScmRawResourceSplices[][];
164
+
165
+ beforeEach(() => {
166
+ updates = [];
167
+ const proxy = new Proxy({}, {
168
+ get: (_target, name) => name === '$spliceResourceStates'
169
+ ? (_handle: number, splices: ScmRawResourceSplices[]): void => { updates.push(splices); }
170
+ : (): void => { }
171
+ }) as ScmMain;
172
+ const scm = new ScmExtImpl(
173
+ { getProxy: () => proxy } as unknown as RPCProtocol,
174
+ { registerArgumentProcessor: () => { } } as unknown as CommandRegistryImpl
175
+ );
176
+ const sourceControl = scm.createSourceControl({ model: { id: 'test' } } as Plugin, 'git', 'Git', undefined);
177
+ group = sourceControl.createResourceGroup('changes', 'Changes');
178
+ });
179
+
180
+ it('serializes added and deleted sides using the proposed modified field name', () => {
181
+ const added = URI.parse('file:///repo/added.txt');
182
+ const deleted = URI.parse('git:/repo/deleted.txt?ref=HEAD#original');
183
+ group.resourceStates = [
184
+ { resourceUri: added, multiFileDiffEditorModifiedUri: added },
185
+ { resourceUri: URI.file('/repo/deleted.txt'), multiDiffEditorOriginalUri: deleted }
186
+ ];
187
+ const resources = updates[0][0].splices[0].rawResources;
188
+ assert.strictEqual(resources[0].multiDiffEditorOriginalUri, undefined);
189
+ assert.strictEqual(resources[0].multiDiffEditorModifiedUri?.toString(), added.toString());
190
+ assert.strictEqual(resources[1].multiDiffEditorOriginalUri?.toString(), deleted.toString());
191
+ assert.strictEqual(resources[1].multiDiffEditorModifiedUri, undefined);
192
+ });
193
+
194
+ for (const field of ['multiDiffEditorOriginalUri', 'multiFileDiffEditorModifiedUri'] as const) {
195
+ it(`detects ${field}-only additions, changes and removals, but ignores equal URIs`, () => {
196
+ const resourceUri = URI.file('/repo/file.txt');
197
+ const state: SourceControlResourceState = { resourceUri };
198
+ group.resourceStates = [state];
199
+ updates.length = 0;
200
+ group.resourceStates = [{ ...state }];
201
+ assert.strictEqual(updates.length, 0);
202
+
203
+ for (const uri of [URI.parse('git:/repo/file.txt?ref=HEAD'), URI.parse('git:/repo/file.txt?ref=HEAD~1#changed'), undefined]) {
204
+ const nextState = { ...state, [field]: uri };
205
+ group.resourceStates = [nextState];
206
+ assert.strictEqual(updates.length, 1);
207
+ const splices = updates[0][0].splices;
208
+ assert.strictEqual(splices.reduce((count, splice) => count + splice.deleteCount, 0), 1);
209
+ const resources = splices.flatMap(splice => splice.rawResources);
210
+ assert.strictEqual(resources.length, 1);
211
+ const rawField = field === 'multiFileDiffEditorModifiedUri' ? 'multiDiffEditorModifiedUri' : field;
212
+ assert.strictEqual(resources[0][rawField]?.toString(), uri?.toString());
213
+ updates.length = 0;
214
+ group.resourceStates = [{ ...nextState, [field]: uri ? URI.parse(uri.toString()) : undefined }];
215
+ assert.strictEqual(updates.length, 0);
216
+ }
217
+ });
218
+ }
219
+ });
220
+
155
221
  describe('SCM history provider bridge (plugin side)', () => {
156
222
  let bridge: HistoryProviderBridge;
157
223
  let bridgeDisposables: DisposableCollection;
package/src/plugin/scm.ts CHANGED
@@ -68,6 +68,10 @@ function getIconResource(decorations?: theia.SourceControlResourceThemableDecora
68
68
  }
69
69
 
70
70
  function comparePaths(one: string, other: string, caseSensitive = false): number {
71
+ if (one === other) {
72
+ return 0;
73
+ }
74
+
71
75
  const oneParts = one.split(sep);
72
76
  const otherParts = other.split(sep);
73
77
 
@@ -225,6 +229,17 @@ function compareResourceStates(a: theia.SourceControlResourceState, b: theia.Sou
225
229
  return result;
226
230
  }
227
231
 
232
+ result = (a.multiDiffEditorOriginalUri?.toString() ?? '').localeCompare(b.multiDiffEditorOriginalUri?.toString() ?? '');
233
+ if (result !== 0) {
234
+ return result;
235
+ }
236
+
237
+ result = (a.multiFileDiffEditorModifiedUri?.toString() ?? '').localeCompare(b.multiFileDiffEditorModifiedUri?.toString() ?? '');
238
+
239
+ if (result !== 0) {
240
+ return result;
241
+ }
242
+
228
243
  if (a.command && b.command) {
229
244
  result = compareCommands(a.command, b.command);
230
245
  } else if (a.command) {
@@ -494,7 +509,9 @@ class ScmResourceGroupImpl implements theia.SourceControlResourceGroup {
494
509
  const rawResource = {
495
510
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
496
511
  handle, sourceUri, letter: (r as any).letter, colorId: (r as any).color?.id, icons,
497
- tooltip, strikeThrough, faded, contextValue, command
512
+ tooltip, strikeThrough, faded, contextValue, command,
513
+ multiDiffEditorOriginalUri: r.multiDiffEditorOriginalUri,
514
+ multiDiffEditorModifiedUri: r.multiFileDiffEditorModifiedUri
498
515
  } as ScmRawResource;
499
516
 
500
517
  return { rawResource, handle };
@@ -23,7 +23,7 @@
23
23
 
24
24
  // /* eslint-disable */
25
25
 
26
- /* tslint:disable:typedef */
26
+ /* eslint-disable @theia/explicit-return-type */
27
27
 
28
28
  import * as theia from '@theia/plugin';
29
29
  import { CancellationToken, CancellationTokenSource } from '@theia/core/lib/common/cancellation';
@@ -318,7 +318,7 @@ export class TestRun implements theia.TestRun {
318
318
  return true;
319
319
  }
320
320
 
321
- private updateTestState<T extends TestStateChangeDTO>(item: theia.TestItem, state: T) {
321
+ private updateTestState<T extends TestStateChangeDTO>(item: theia.TestItem, state: T): void {
322
322
  if (this.checkNotEnded(item)) {
323
323
  this.testStateDeltas.set(item, state);
324
324
  this.changeBatcher.changeOccurred();
@@ -93,7 +93,7 @@ export class TreeViewsExtImpl implements TreeViewsExt {
93
93
  this.treeViews.set(treeViewId, treeView);
94
94
 
95
95
  return {
96
- // tslint:disable:typedef
96
+ /* eslint-disable @theia/explicit-return-type */
97
97
  get onDidExpandElement() {
98
98
  return treeView.onDidExpandElement;
99
99
  },
@@ -115,6 +115,7 @@ export class TreeViewsExtImpl implements TreeViewsExt {
115
115
  get onDidChangeCheckboxState() {
116
116
  return treeView.onDidChangeCheckboxState;
117
117
  },
118
+ /* eslint-enable @theia/explicit-return-type */
118
119
  get message(): string {
119
120
  return treeView.message;
120
121
  },
@@ -150,7 +150,7 @@ describe('Type converters:', () => {
150
150
 
151
151
  it('should convert array of markups to model markdown', () => {
152
152
  // given
153
- // eslint-disable-next-line deprecation/deprecation
153
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
154
154
  const markups: (theia.MarkdownString | theia.MarkedString)[] = [
155
155
  pluginMarkdown,
156
156
  aStringWithMarkdown,