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

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 (342) 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/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
  81. package/lib/main/browser/notebooks/renderers/output-webview-internal.js +3 -2
  82. package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
  83. package/lib/main/browser/plugin-contribution-handler.js +1 -1
  84. package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
  85. package/lib/main/browser/plugin-ext-widget.js +1 -1
  86. package/lib/main/browser/plugin-ext-widget.js.map +1 -1
  87. package/lib/main/browser/plugin-icon-service.js +1 -1
  88. package/lib/main/browser/plugin-icon-service.js.map +1 -1
  89. package/lib/main/browser/plugin-icon-theme-service.d.ts +2 -2
  90. package/lib/main/browser/plugin-icon-theme-service.d.ts.map +1 -1
  91. package/lib/main/browser/plugin-icon-theme-service.js +2 -2
  92. package/lib/main/browser/plugin-icon-theme-service.js.map +1 -1
  93. package/lib/main/browser/plugin-icon-theme-service.spec.js +2 -1
  94. package/lib/main/browser/plugin-icon-theme-service.spec.js.map +1 -1
  95. package/lib/main/browser/plugin-shared-style.js.map +1 -1
  96. package/lib/main/browser/scm-main.d.ts +3 -1
  97. package/lib/main/browser/scm-main.d.ts.map +1 -1
  98. package/lib/main/browser/scm-main.js +6 -3
  99. package/lib/main/browser/scm-main.js.map +1 -1
  100. package/lib/main/browser/scm-main.spec.js +31 -0
  101. package/lib/main/browser/scm-main.spec.js.map +1 -1
  102. package/lib/main/browser/status-bar-message-registry-main.js +2 -1
  103. package/lib/main/browser/status-bar-message-registry-main.js.map +1 -1
  104. package/lib/main/browser/text-editor-main.js +2 -1
  105. package/lib/main/browser/text-editor-main.js.map +1 -1
  106. package/lib/main/browser/text-editors-main.js +2 -1
  107. package/lib/main/browser/text-editors-main.js.map +1 -1
  108. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +1 -1
  109. package/lib/main/browser/view/plugin-tree-view-node-label-provider.js.map +1 -1
  110. package/lib/main/browser/view/plugin-view-registry.d.ts +7 -2
  111. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  112. package/lib/main/browser/view/plugin-view-registry.js +19 -3
  113. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  114. package/lib/main/browser/view/plugin-view-registry.spec.js +82 -1
  115. package/lib/main/browser/view/plugin-view-registry.spec.js.map +1 -1
  116. package/lib/main/browser/view/tree-view-decorator-service.js +1 -1
  117. package/lib/main/browser/view/tree-view-decorator-service.js.map +1 -1
  118. package/lib/main/browser/view/tree-view-widget.js +1 -1
  119. package/lib/main/browser/view/tree-view-widget.js.map +1 -1
  120. package/lib/main/browser/webview/webview-theme-data-provider.d.ts +1 -1
  121. package/lib/main/browser/webview/webview-theme-data-provider.d.ts.map +1 -1
  122. package/lib/main/browser/webview/webview.js +2 -2
  123. package/lib/main/browser/webview/webview.js.map +1 -1
  124. package/lib/main/browser/window-state-main.js +2 -1
  125. package/lib/main/browser/window-state-main.js.map +1 -1
  126. package/lib/main/browser/workspace-main.js +1 -1
  127. package/lib/main/browser/workspace-main.js.map +1 -1
  128. package/lib/main/common/plugin-theia-environment.js +1 -1
  129. package/lib/main/common/plugin-theia-environment.js.map +1 -1
  130. package/lib/main/node/handlers/plugin-theia-directory-handler.js +4 -4
  131. package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
  132. package/lib/main/node/handlers/plugin-theia-file-handler.js +3 -3
  133. package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
  134. package/lib/main/node/paths/plugin-paths-service.js +4 -4
  135. package/lib/main/node/paths/plugin-paths-service.js.map +1 -1
  136. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js +2 -1
  137. package/lib/main/node/plugin-deployer-directory-handler-context-impl.js.map +1 -1
  138. package/lib/main/node/plugin-deployer-file-handler-context-impl.js +3 -2
  139. package/lib/main/node/plugin-deployer-file-handler-context-impl.js.map +1 -1
  140. package/lib/main/node/plugin-deployer-impl.js +1 -1
  141. package/lib/main/node/plugin-deployer-impl.js.map +1 -1
  142. package/lib/main/node/plugin-github-resolver.js +1 -1
  143. package/lib/main/node/plugin-github-resolver.js.map +1 -1
  144. package/lib/main/node/plugin-http-resolver.js +1 -1
  145. package/lib/main/node/plugin-http-resolver.js.map +1 -1
  146. package/lib/main/node/plugin-service.d.ts +1 -1
  147. package/lib/main/node/plugin-service.d.ts.map +1 -1
  148. package/lib/main/node/plugin-service.js +4 -4
  149. package/lib/main/node/plugin-service.js.map +1 -1
  150. package/lib/main/node/plugins-key-value-storage.js +2 -2
  151. package/lib/main/node/plugins-key-value-storage.js.map +1 -1
  152. package/lib/main/node/plugins-key-value-storage.spec.js +2 -1
  153. package/lib/main/node/plugins-key-value-storage.spec.js.map +1 -1
  154. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js +2 -2
  155. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js.map +1 -1
  156. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.spec.js +4 -3
  157. package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.spec.js.map +1 -1
  158. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js +3 -3
  159. package/lib/main/node/resolvers/local-plugin-deployer-resolver.js.map +1 -1
  160. package/lib/main/node/temp-dir-util.js +3 -2
  161. package/lib/main/node/temp-dir-util.js.map +1 -1
  162. package/lib/plugin/comments.d.ts +1 -1
  163. package/lib/plugin/comments.d.ts.map +1 -1
  164. package/lib/plugin/custom-editors.js +2 -1
  165. package/lib/plugin/custom-editors.js.map +1 -1
  166. package/lib/plugin/decorations.spec.js +2 -1
  167. package/lib/plugin/decorations.spec.js.map +1 -1
  168. package/lib/plugin/document-data.d.ts.map +1 -1
  169. package/lib/plugin/document-data.js +0 -1
  170. package/lib/plugin/document-data.js.map +1 -1
  171. package/lib/plugin/documents.js +2 -1
  172. package/lib/plugin/documents.js.map +1 -1
  173. package/lib/plugin/editors-and-documents.js +1 -1
  174. package/lib/plugin/editors-and-documents.js.map +1 -1
  175. package/lib/plugin/file-system-event-service-ext-impl.d.ts +1 -1
  176. package/lib/plugin/file-system-event-service-ext-impl.d.ts.map +1 -1
  177. package/lib/plugin/file-system-event-service-ext-impl.js +3 -2
  178. package/lib/plugin/file-system-event-service-ext-impl.js.map +1 -1
  179. package/lib/plugin/file-system-ext-impl.js +5 -4
  180. package/lib/plugin/file-system-ext-impl.js.map +1 -1
  181. package/lib/plugin/file-system-watcher.spec.js +2 -1
  182. package/lib/plugin/file-system-watcher.spec.js.map +1 -1
  183. package/lib/plugin/known-commands.js +5 -5
  184. package/lib/plugin/known-commands.js.map +1 -1
  185. package/lib/plugin/known-commands.spec.js +2 -1
  186. package/lib/plugin/known-commands.spec.js.map +1 -1
  187. package/lib/plugin/languages/call-hierarchy.js +2 -1
  188. package/lib/plugin/languages/call-hierarchy.js.map +1 -1
  189. package/lib/plugin/languages/code-action.js +2 -1
  190. package/lib/plugin/languages/code-action.js.map +1 -1
  191. package/lib/plugin/languages/color.js +2 -1
  192. package/lib/plugin/languages/color.js.map +1 -1
  193. package/lib/plugin/languages/completion.js +2 -1
  194. package/lib/plugin/languages/completion.js.map +1 -1
  195. package/lib/plugin/languages/declaration.js +3 -2
  196. package/lib/plugin/languages/declaration.js.map +1 -1
  197. package/lib/plugin/languages/definition.js +3 -2
  198. package/lib/plugin/languages/definition.js.map +1 -1
  199. package/lib/plugin/languages/document-drop-edit.js +4 -3
  200. package/lib/plugin/languages/document-drop-edit.js.map +1 -1
  201. package/lib/plugin/languages/document-formatting.js +2 -1
  202. package/lib/plugin/languages/document-formatting.js.map +1 -1
  203. package/lib/plugin/languages/document-highlight.js +3 -2
  204. package/lib/plugin/languages/document-highlight.js.map +1 -1
  205. package/lib/plugin/languages/evaluatable-expression.js +2 -1
  206. package/lib/plugin/languages/evaluatable-expression.js.map +1 -1
  207. package/lib/plugin/languages/folding.js +2 -1
  208. package/lib/plugin/languages/folding.js.map +1 -1
  209. package/lib/plugin/languages/hover.js +2 -1
  210. package/lib/plugin/languages/hover.js.map +1 -1
  211. package/lib/plugin/languages/implementation.js +3 -2
  212. package/lib/plugin/languages/implementation.js.map +1 -1
  213. package/lib/plugin/languages/inlay-hints.js +2 -1
  214. package/lib/plugin/languages/inlay-hints.js.map +1 -1
  215. package/lib/plugin/languages/inline-completion.js +2 -1
  216. package/lib/plugin/languages/inline-completion.js.map +1 -1
  217. package/lib/plugin/languages/inline-values.js +2 -1
  218. package/lib/plugin/languages/inline-values.js.map +1 -1
  219. package/lib/plugin/languages/lens.js +2 -1
  220. package/lib/plugin/languages/lens.js.map +1 -1
  221. package/lib/plugin/languages/link-provider.js +2 -1
  222. package/lib/plugin/languages/link-provider.js.map +1 -1
  223. package/lib/plugin/languages/multi-document-highlight.js +3 -2
  224. package/lib/plugin/languages/multi-document-highlight.js.map +1 -1
  225. package/lib/plugin/languages/on-type-formatting.js +2 -1
  226. package/lib/plugin/languages/on-type-formatting.js.map +1 -1
  227. package/lib/plugin/languages/outline.js +3 -2
  228. package/lib/plugin/languages/outline.js.map +1 -1
  229. package/lib/plugin/languages/range-formatting.js +2 -1
  230. package/lib/plugin/languages/range-formatting.js.map +1 -1
  231. package/lib/plugin/languages/reference.js +2 -1
  232. package/lib/plugin/languages/reference.js.map +1 -1
  233. package/lib/plugin/languages/rename.js +2 -1
  234. package/lib/plugin/languages/rename.js.map +1 -1
  235. package/lib/plugin/languages/selection-range.js +2 -1
  236. package/lib/plugin/languages/selection-range.js.map +1 -1
  237. package/lib/plugin/languages/signature.js +2 -1
  238. package/lib/plugin/languages/signature.js.map +1 -1
  239. package/lib/plugin/languages/type-definition.js +3 -2
  240. package/lib/plugin/languages/type-definition.js.map +1 -1
  241. package/lib/plugin/languages/type-hierarchy.js +2 -1
  242. package/lib/plugin/languages/type-hierarchy.js.map +1 -1
  243. package/lib/plugin/languages/util.js +2 -1
  244. package/lib/plugin/languages/util.js.map +1 -1
  245. package/lib/plugin/languages/workspace-symbol.js +2 -1
  246. package/lib/plugin/languages/workspace-symbol.js.map +1 -1
  247. package/lib/plugin/node/debug/debug.spec.js +2 -1
  248. package/lib/plugin/node/debug/debug.spec.js.map +1 -1
  249. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js +3 -2
  250. package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js.map +1 -1
  251. package/lib/plugin/node/env-node-ext.js +1 -1
  252. package/lib/plugin/node/env-node-ext.js.map +1 -1
  253. package/lib/plugin/notebook/notebook-document.js +3 -2
  254. package/lib/plugin/notebook/notebook-document.js.map +1 -1
  255. package/lib/plugin/notebook/notebook-editors.js +2 -1
  256. package/lib/plugin/notebook/notebook-editors.js.map +1 -1
  257. package/lib/plugin/notebook/notebooks.js +2 -1
  258. package/lib/plugin/notebook/notebooks.js.map +1 -1
  259. package/lib/plugin/path.spec.js +2 -1
  260. package/lib/plugin/path.spec.js.map +1 -1
  261. package/lib/plugin/plugin-context.js.map +1 -1
  262. package/lib/plugin/plugin-icon-path.js +2 -1
  263. package/lib/plugin/plugin-icon-path.js.map +1 -1
  264. package/lib/plugin/plugin-manager.js +1 -1
  265. package/lib/plugin/plugin-manager.js.map +1 -1
  266. package/lib/plugin/preference-registry.spec.js +2 -1
  267. package/lib/plugin/preference-registry.spec.js.map +1 -1
  268. package/lib/plugin/quick-open.js +2 -1
  269. package/lib/plugin/quick-open.js.map +1 -1
  270. package/lib/plugin/relative-pattern.spec.js +3 -2
  271. package/lib/plugin/relative-pattern.spec.js.map +1 -1
  272. package/lib/plugin/scm.d.ts.map +1 -1
  273. package/lib/plugin/scm.js +14 -1
  274. package/lib/plugin/scm.js.map +1 -1
  275. package/lib/plugin/scm.spec.js +56 -1
  276. package/lib/plugin/scm.spec.js.map +1 -1
  277. package/lib/plugin/tasks/task-provider.js +2 -1
  278. package/lib/plugin/tasks/task-provider.js.map +1 -1
  279. package/lib/plugin/tasks/tasks.js +2 -1
  280. package/lib/plugin/tasks/tasks.js.map +1 -1
  281. package/lib/plugin/telemetry-ext.spec.js +2 -1
  282. package/lib/plugin/telemetry-ext.spec.js.map +1 -1
  283. package/lib/plugin/terminal-ext.js +1 -1
  284. package/lib/plugin/terminal-ext.js.map +1 -1
  285. package/lib/plugin/terminal-ext.spec.js +2 -1
  286. package/lib/plugin/terminal-ext.spec.js.map +1 -1
  287. package/lib/plugin/tests.js +1 -1
  288. package/lib/plugin/tests.js.map +1 -1
  289. package/lib/plugin/text-editor.js +2 -1
  290. package/lib/plugin/text-editor.js.map +1 -1
  291. package/lib/plugin/text-editors.js +2 -1
  292. package/lib/plugin/text-editors.js.map +1 -1
  293. package/lib/plugin/tree/tree-views.d.ts.map +1 -1
  294. package/lib/plugin/tree/tree-views.js +2 -1
  295. package/lib/plugin/tree/tree-views.js.map +1 -1
  296. package/lib/plugin/type-converters.js +6 -5
  297. package/lib/plugin/type-converters.js.map +1 -1
  298. package/lib/plugin/type-converters.spec.js +5 -4
  299. package/lib/plugin/type-converters.spec.js.map +1 -1
  300. package/lib/plugin/types-impl.js +1 -1
  301. package/lib/plugin/types-impl.js.map +1 -1
  302. package/lib/plugin/types-impl.spec.js +3 -2
  303. package/lib/plugin/types-impl.spec.js.map +1 -1
  304. package/lib/plugin/workspace.js +2 -2
  305. package/lib/plugin/workspace.js.map +1 -1
  306. package/lib/plugin/workspace.spec.js +2 -1
  307. package/lib/plugin/workspace.spec.js.map +1 -1
  308. package/lib/plugin-ext-frontend-electron-module.js +2 -1
  309. package/lib/plugin-ext-frontend-electron-module.js.map +1 -1
  310. package/lib/plugin-ext-frontend-module.js +2 -1
  311. package/lib/plugin-ext-frontend-module.js.map +1 -1
  312. package/package.json +32 -32
  313. package/src/common/character-classifier.ts +1 -1
  314. package/src/common/plugin-api-rpc.ts +2 -0
  315. package/src/hosted/browser/hosted-plugin.spec.ts +66 -0
  316. package/src/hosted/browser/hosted-plugin.ts +3 -1
  317. package/src/hosted/node/plugin-host-proxy.ts +6 -3
  318. package/src/hosted/node/plugin-reader.ts +1 -1
  319. package/src/hosted/node/plugin-require-override.spec.ts +44 -0
  320. package/src/hosted/node/plugin-require-override.ts +1 -0
  321. package/src/main/browser/file-system-main-impl.ts +1 -1
  322. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +6 -3
  323. package/src/main/browser/plugin-shared-style.ts +2 -2
  324. package/src/main/browser/scm-main.spec.ts +32 -0
  325. package/src/main/browser/scm-main.ts +6 -2
  326. package/src/main/browser/view/plugin-view-registry.spec.ts +134 -3
  327. package/src/main/browser/view/plugin-view-registry.ts +20 -3
  328. package/src/main/browser/webview/webview.ts +1 -1
  329. package/src/main/node/handlers/plugin-theia-directory-handler.ts +1 -1
  330. package/src/main/node/handlers/plugin-theia-file-handler.ts +1 -1
  331. package/src/main/node/plugin-deployer-file-handler-context-impl.ts +1 -1
  332. package/src/main/node/plugin-service.ts +1 -1
  333. package/src/plugin/document-data.ts +0 -1
  334. package/src/plugin/file-system-event-service-ext-impl.ts +1 -1
  335. package/src/plugin/file-system-ext-impl.ts +2 -2
  336. package/src/plugin/known-commands.ts +5 -5
  337. package/src/plugin/plugin-context.ts +3 -3
  338. package/src/plugin/scm.spec.ts +67 -1
  339. package/src/plugin/scm.ts +18 -1
  340. package/src/plugin/tests.ts +2 -2
  341. package/src/plugin/tree/tree-views.ts +2 -1
  342. package/src/plugin/type-converters.spec.ts +1 -1
@@ -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,