@theia/plugin-ext 1.53.0-next.5 → 1.53.0-next.55

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 (466) hide show
  1. package/README.md +54 -54
  2. package/lib/common/plugin-api-rpc.d.ts +19 -4
  3. package/lib/common/plugin-api-rpc.d.ts.map +1 -1
  4. package/lib/common/plugin-api-rpc.js +4 -2
  5. package/lib/common/plugin-api-rpc.js.map +1 -1
  6. package/lib/common/rpc-protocol.d.ts +14 -13
  7. package/lib/common/rpc-protocol.d.ts.map +1 -1
  8. package/lib/common/rpc-protocol.js +56 -53
  9. package/lib/common/rpc-protocol.js.map +1 -1
  10. package/lib/hosted/browser/hosted-plugin.d.ts +1 -0
  11. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  12. package/lib/hosted/browser/hosted-plugin.js +22 -12
  13. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  14. package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
  15. package/lib/hosted/node/scanners/scanner-theia.js +13 -1
  16. package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
  17. package/lib/main/browser/authentication-main.d.ts +6 -5
  18. package/lib/main/browser/authentication-main.d.ts.map +1 -1
  19. package/lib/main/browser/authentication-main.js +15 -9
  20. package/lib/main/browser/authentication-main.js.map +1 -1
  21. package/lib/main/browser/custom-editors/custom-editor-opener.d.ts +9 -3
  22. package/lib/main/browser/custom-editors/custom-editor-opener.d.ts.map +1 -1
  23. package/lib/main/browser/custom-editors/custom-editor-opener.js +120 -31
  24. package/lib/main/browser/custom-editors/custom-editor-opener.js.map +1 -1
  25. package/lib/main/browser/custom-editors/custom-editor-widget.d.ts +7 -4
  26. package/lib/main/browser/custom-editors/custom-editor-widget.d.ts.map +1 -1
  27. package/lib/main/browser/custom-editors/custom-editor-widget.js +21 -7
  28. package/lib/main/browser/custom-editors/custom-editor-widget.js.map +1 -1
  29. package/lib/main/browser/custom-editors/custom-editors-main.d.ts +3 -4
  30. package/lib/main/browser/custom-editors/custom-editors-main.d.ts.map +1 -1
  31. package/lib/main/browser/custom-editors/custom-editors-main.js +5 -55
  32. package/lib/main/browser/custom-editors/custom-editors-main.js.map +1 -1
  33. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.d.ts +4 -3
  34. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.d.ts.map +1 -1
  35. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js +24 -16
  36. package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js.map +1 -1
  37. package/lib/main/browser/main-context.d.ts.map +1 -1
  38. package/lib/main/browser/main-context.js +3 -0
  39. package/lib/main/browser/main-context.js.map +1 -1
  40. package/lib/main/browser/menus/menus-contribution-handler.d.ts.map +1 -1
  41. package/lib/main/browser/menus/menus-contribution-handler.js +1 -1
  42. package/lib/main/browser/menus/menus-contribution-handler.js.map +1 -1
  43. package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts +1 -0
  44. package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts.map +1 -1
  45. package/lib/main/browser/menus/plugin-menu-command-adapter.js +22 -1
  46. package/lib/main/browser/menus/plugin-menu-command-adapter.js.map +1 -1
  47. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +2 -2
  48. package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts.map +1 -1
  49. package/lib/main/browser/menus/vscode-theia-menu-mappings.js +2 -0
  50. package/lib/main/browser/menus/vscode-theia-menu-mappings.js.map +1 -1
  51. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js +1 -1
  52. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js.map +1 -1
  53. package/lib/main/browser/notebooks/notebook-documents-main.d.ts.map +1 -1
  54. package/lib/main/browser/notebooks/notebook-documents-main.js +22 -3
  55. package/lib/main/browser/notebooks/notebook-documents-main.js.map +1 -1
  56. package/lib/main/browser/notebooks/notebook-editors-main.d.ts +1 -1
  57. package/lib/main/browser/notebooks/notebook-editors-main.d.ts.map +1 -1
  58. package/lib/main/browser/notebooks/notebook-editors-main.js +16 -2
  59. package/lib/main/browser/notebooks/notebook-editors-main.js.map +1 -1
  60. package/lib/main/browser/notebooks/renderers/cell-output-webview.js +86 -86
  61. package/lib/main/browser/plugin-ext-frontend-module.d.ts.map +1 -1
  62. package/lib/main/browser/plugin-ext-frontend-module.js +18 -0
  63. package/lib/main/browser/plugin-ext-frontend-module.js.map +1 -1
  64. package/lib/main/browser/plugin-icon-theme-service.js +20 -20
  65. package/lib/main/browser/plugin-shared-style.js +14 -14
  66. package/lib/main/browser/uri-main.d.ts +16 -0
  67. package/lib/main/browser/uri-main.d.ts.map +1 -0
  68. package/lib/main/browser/uri-main.js +64 -0
  69. package/lib/main/browser/uri-main.js.map +1 -0
  70. package/lib/main/browser/view/plugin-view-registry.js +3 -3
  71. package/lib/main/browser/webview/webview-frontend-security-warnings.js +2 -2
  72. package/lib/main/browser/webview/webview-secondary-window-support.js +10 -10
  73. package/lib/main/browser/webview/webview.d.ts +1 -3
  74. package/lib/main/browser/webview/webview.d.ts.map +1 -1
  75. package/lib/main/browser/webview/webview.js +5 -4
  76. package/lib/main/browser/webview/webview.js.map +1 -1
  77. package/lib/main/browser/webviews-main.d.ts.map +1 -1
  78. package/lib/main/browser/webviews-main.js +6 -1
  79. package/lib/main/browser/webviews-main.js.map +1 -1
  80. package/lib/main/browser/workspace-main.d.ts +2 -0
  81. package/lib/main/browser/workspace-main.d.ts.map +1 -1
  82. package/lib/main/node/plugin-service.d.ts +1 -1
  83. package/lib/main/node/webview-backend-security-warnings.js +6 -6
  84. package/lib/plugin/authentication-ext.d.ts +3 -2
  85. package/lib/plugin/authentication-ext.d.ts.map +1 -1
  86. package/lib/plugin/authentication-ext.js +8 -5
  87. package/lib/plugin/authentication-ext.js.map +1 -1
  88. package/lib/plugin/custom-editors.d.ts +2 -4
  89. package/lib/plugin/custom-editors.d.ts.map +1 -1
  90. package/lib/plugin/custom-editors.js +5 -7
  91. package/lib/plugin/custom-editors.js.map +1 -1
  92. package/lib/plugin/env.d.ts +2 -0
  93. package/lib/plugin/env.d.ts.map +1 -1
  94. package/lib/plugin/env.js +4 -1
  95. package/lib/plugin/env.js.map +1 -1
  96. package/lib/plugin/known-commands.d.ts.map +1 -1
  97. package/lib/plugin/known-commands.js +1 -0
  98. package/lib/plugin/known-commands.js.map +1 -1
  99. package/lib/plugin/languages.d.ts +1 -0
  100. package/lib/plugin/languages.d.ts.map +1 -1
  101. package/lib/plugin/notebook/notebook-kernels.d.ts +2 -0
  102. package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
  103. package/lib/plugin/plugin-context.d.ts.map +1 -1
  104. package/lib/plugin/plugin-context.js +17 -6
  105. package/lib/plugin/plugin-context.js.map +1 -1
  106. package/lib/plugin/plugin-manager.d.ts.map +1 -1
  107. package/lib/plugin/plugin-manager.js +2 -1
  108. package/lib/plugin/plugin-manager.js.map +1 -1
  109. package/lib/plugin/scm.d.ts +1 -0
  110. package/lib/plugin/scm.d.ts.map +1 -1
  111. package/lib/plugin/terminal-ext.d.ts +3 -0
  112. package/lib/plugin/terminal-ext.d.ts.map +1 -1
  113. package/lib/plugin/terminal-ext.js +2 -0
  114. package/lib/plugin/terminal-ext.js.map +1 -1
  115. package/lib/plugin/type-converters.d.ts +6 -0
  116. package/lib/plugin/type-converters.d.ts.map +1 -1
  117. package/lib/plugin/type-converters.js +24 -3
  118. package/lib/plugin/type-converters.js.map +1 -1
  119. package/lib/plugin/types-impl.d.ts +8 -2
  120. package/lib/plugin/types-impl.d.ts.map +1 -1
  121. package/lib/plugin/types-impl.js +9 -1
  122. package/lib/plugin/types-impl.js.map +1 -1
  123. package/lib/plugin/uri-ext.d.ts +37 -0
  124. package/lib/plugin/uri-ext.d.ts.map +1 -0
  125. package/lib/plugin/uri-ext.js +50 -0
  126. package/lib/plugin/uri-ext.js.map +1 -0
  127. package/lib/plugin/webviews.js +1 -1
  128. package/lib/plugin/webviews.js.map +1 -1
  129. package/lib/plugin/workspace.d.ts +4 -0
  130. package/lib/plugin/workspace.d.ts.map +1 -1
  131. package/package.json +29 -29
  132. package/src/common/arrays.ts +70 -70
  133. package/src/common/assert.ts +23 -23
  134. package/src/common/cache.ts +51 -51
  135. package/src/common/character-classifier.ts +73 -73
  136. package/src/common/collections.ts +54 -54
  137. package/src/common/commands.ts +19 -19
  138. package/src/common/connection.ts +137 -137
  139. package/src/common/disposable-util.ts +39 -39
  140. package/src/common/editor-options.ts +74 -74
  141. package/src/common/env.ts +19 -19
  142. package/src/common/errors.ts +63 -63
  143. package/src/common/id-generator.ts +26 -26
  144. package/src/common/index.ts +24 -24
  145. package/src/common/language-pack-service.ts +34 -34
  146. package/src/common/link-computer.ts +354 -354
  147. package/src/common/object-identifier.ts +33 -33
  148. package/src/common/objects.ts +50 -50
  149. package/src/common/paths-util.ts +158 -158
  150. package/src/common/plugin-api-rpc-model.ts +907 -907
  151. package/src/common/plugin-api-rpc.ts +2752 -2738
  152. package/src/common/plugin-ext-api-contribution.ts +115 -115
  153. package/src/common/plugin-identifiers.ts +84 -84
  154. package/src/common/plugin-protocol.ts +1094 -1094
  155. package/src/common/reference-map.ts +38 -38
  156. package/src/common/rpc-protocol.ts +306 -310
  157. package/src/common/semantic-tokens-dto.ts +182 -182
  158. package/src/common/test-types.ts +154 -154
  159. package/src/common/types.ts +129 -129
  160. package/src/common/uint.ts +37 -37
  161. package/src/common/uri-components.ts +81 -81
  162. package/src/hosted/browser/hosted-plugin-watcher.ts +54 -54
  163. package/src/hosted/browser/hosted-plugin.ts +635 -624
  164. package/src/hosted/browser/plugin-worker.ts +52 -52
  165. package/src/hosted/browser/worker/debug-stub.ts +29 -29
  166. package/src/hosted/browser/worker/plugin-manifest-loader.ts +114 -114
  167. package/src/hosted/browser/worker/worker-env-ext.ts +40 -40
  168. package/src/hosted/browser/worker/worker-main.ts +212 -212
  169. package/src/hosted/browser/worker/worker-plugin-module.ts +80 -80
  170. package/src/hosted/common/hosted-plugin.ts +456 -456
  171. package/src/hosted/node/hosted-plugin-cli-contribution.ts +75 -75
  172. package/src/hosted/node/hosted-plugin-deployer-handler.ts +274 -274
  173. package/src/hosted/node/hosted-plugin-localization-service.ts +410 -410
  174. package/src/hosted/node/hosted-plugin-process.ts +248 -248
  175. package/src/hosted/node/hosted-plugin-protocol.ts +49 -49
  176. package/src/hosted/node/hosted-plugin.ts +116 -116
  177. package/src/hosted/node/metadata-scanner.ts +64 -64
  178. package/src/hosted/node/plugin-activation-events.ts +112 -112
  179. package/src/hosted/node/plugin-ext-hosted-backend-module.ts +94 -94
  180. package/src/hosted/node/plugin-host-module.ts +69 -69
  181. package/src/hosted/node/plugin-host-proxy.ts +82 -82
  182. package/src/hosted/node/plugin-host-rpc.ts +377 -377
  183. package/src/hosted/node/plugin-host.ts +110 -110
  184. package/src/hosted/node/plugin-language-pack-service.ts +43 -43
  185. package/src/hosted/node/plugin-manifest-loader.ts +32 -32
  186. package/src/hosted/node/plugin-reader.ts +136 -136
  187. package/src/hosted/node/plugin-service.ts +197 -197
  188. package/src/hosted/node/scanners/backend-init-theia.ts +71 -71
  189. package/src/hosted/node/scanners/file-plugin-uri-factory.ts +32 -32
  190. package/src/hosted/node/scanners/grammars-reader.ts +57 -57
  191. package/src/hosted/node/scanners/plugin-uri-factory.ts +33 -33
  192. package/src/hosted/node/scanners/scanner-theia.ts +963 -952
  193. package/src/hosted/node-electron/plugin-ext-hosted-electron-backend-module.ts +26 -26
  194. package/src/hosted/node-electron/scanner-theia-electron.ts +32 -32
  195. package/src/main/browser/authentication-main.ts +401 -388
  196. package/src/main/browser/clipboard-main.ts +38 -38
  197. package/src/main/browser/command-registry-main.ts +130 -130
  198. package/src/main/browser/commands.ts +104 -104
  199. package/src/main/browser/comments/comment-glyph-widget.ts +66 -66
  200. package/src/main/browser/comments/comment-thread-widget.tsx +696 -696
  201. package/src/main/browser/comments/comments-context-key-service.ts +68 -68
  202. package/src/main/browser/comments/comments-contribution.ts +268 -268
  203. package/src/main/browser/comments/comments-decorator.ts +110 -110
  204. package/src/main/browser/comments/comments-main.ts +482 -482
  205. package/src/main/browser/comments/comments-service.ts +205 -205
  206. package/src/main/browser/custom-editors/custom-editor-opener.tsx +205 -105
  207. package/src/main/browser/custom-editors/custom-editor-service.ts +108 -108
  208. package/src/main/browser/custom-editors/custom-editor-undo-redo-handler.ts +41 -41
  209. package/src/main/browser/custom-editors/custom-editor-widget-factory.ts +44 -44
  210. package/src/main/browser/custom-editors/custom-editor-widget.ts +127 -118
  211. package/src/main/browser/custom-editors/custom-editors-main.ts +526 -585
  212. package/src/main/browser/custom-editors/plugin-custom-editor-registry.ts +126 -120
  213. package/src/main/browser/data-transfer/data-transfer-type-converters.ts +68 -68
  214. package/src/main/browser/debug/debug-main.ts +397 -397
  215. package/src/main/browser/debug/plugin-debug-adapter-contribution.ts +48 -48
  216. package/src/main/browser/debug/plugin-debug-configuration-provider.ts +63 -63
  217. package/src/main/browser/debug/plugin-debug-service.ts +427 -427
  218. package/src/main/browser/debug/plugin-debug-session-contribution-registry.ts +76 -76
  219. package/src/main/browser/debug/plugin-debug-session-factory.ts +115 -115
  220. package/src/main/browser/decorations/decorations-main.ts +146 -146
  221. package/src/main/browser/dialogs/modal-notification.ts +112 -112
  222. package/src/main/browser/dialogs/style/modal-notification.css +123 -123
  223. package/src/main/browser/dialogs-main.ts +185 -185
  224. package/src/main/browser/documents-main.ts +275 -275
  225. package/src/main/browser/editors-and-documents-main.ts +425 -425
  226. package/src/main/browser/env-main.ts +60 -60
  227. package/src/main/browser/file-system-main-impl.ts +267 -267
  228. package/src/main/browser/hierarchy/hierarchy-types-converters.ts +189 -189
  229. package/src/main/browser/keybindings/keybindings-contribution-handler.ts +66 -66
  230. package/src/main/browser/label-service-main.ts +51 -51
  231. package/src/main/browser/languages-main.ts +1439 -1439
  232. package/src/main/browser/localization-main.ts +34 -34
  233. package/src/main/browser/main-context.ts +210 -206
  234. package/src/main/browser/main-file-system-event-service.ts +76 -76
  235. package/src/main/browser/menus/menus-contribution-handler.ts +172 -171
  236. package/src/main/browser/menus/plugin-menu-command-adapter.ts +358 -337
  237. package/src/main/browser/menus/vscode-theia-menu-mappings.ts +118 -116
  238. package/src/main/browser/message-registry-main.ts +43 -43
  239. package/src/main/browser/notebooks/notebook-documents-and-editors-main.ts +249 -249
  240. package/src/main/browser/notebooks/notebook-documents-main.ts +202 -182
  241. package/src/main/browser/notebooks/notebook-dto.ts +131 -131
  242. package/src/main/browser/notebooks/notebook-editors-main.ts +88 -75
  243. package/src/main/browser/notebooks/notebook-kernels-main.ts +339 -339
  244. package/src/main/browser/notebooks/notebook-renderers-main.ts +47 -47
  245. package/src/main/browser/notebooks/notebooks-main.ts +164 -164
  246. package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +452 -452
  247. package/src/main/browser/notebooks/renderers/output-webview-internal.ts +636 -636
  248. package/src/main/browser/notebooks/renderers/webview-communication.ts +107 -107
  249. package/src/main/browser/notification-main.ts +26 -26
  250. package/src/main/browser/output-channel-registry-main.ts +53 -53
  251. package/src/main/browser/plugin-authentication-service.ts +71 -71
  252. package/src/main/browser/plugin-contribution-handler.ts +698 -698
  253. package/src/main/browser/plugin-ext-frontend-module.ts +291 -272
  254. package/src/main/browser/plugin-ext-widget.tsx +132 -132
  255. package/src/main/browser/plugin-frontend-contribution.ts +70 -70
  256. package/src/main/browser/plugin-frontend-view-contribution.ts +38 -38
  257. package/src/main/browser/plugin-icon-service.ts +92 -92
  258. package/src/main/browser/plugin-icon-theme-service.ts +625 -625
  259. package/src/main/browser/plugin-shared-style.ts +154 -154
  260. package/src/main/browser/plugin-storage.ts +55 -55
  261. package/src/main/browser/plugin-terminal-registry.ts +27 -27
  262. package/src/main/browser/preference-registry-main.ts +123 -123
  263. package/src/main/browser/quick-open-main.ts +367 -367
  264. package/src/main/browser/scm-main.ts +472 -472
  265. package/src/main/browser/secrets-main.ts +82 -82
  266. package/src/main/browser/selection-provider-command.ts +45 -45
  267. package/src/main/browser/status-bar-message-registry-main.ts +90 -90
  268. package/src/main/browser/style/comments.css +345 -345
  269. package/src/main/browser/style/index.css +84 -84
  270. package/src/main/browser/style/plugin-sidebar.css +73 -73
  271. package/src/main/browser/style/tree.css +54 -54
  272. package/src/main/browser/style/webview.css +55 -55
  273. package/src/main/browser/tabs/tabs-main.ts +384 -384
  274. package/src/main/browser/tasks-main.ts +268 -268
  275. package/src/main/browser/terminal-main.ts +370 -370
  276. package/src/main/browser/test-main.ts +632 -632
  277. package/src/main/browser/text-editor-main.ts +478 -478
  278. package/src/main/browser/text-editor-model-service.ts +111 -111
  279. package/src/main/browser/text-editors-main.ts +234 -234
  280. package/src/main/browser/theme-icon-override.ts +246 -246
  281. package/src/main/browser/theming-main.ts +42 -42
  282. package/src/main/browser/timeline-main.ts +80 -80
  283. package/src/main/browser/uri-main.ts +72 -0
  284. package/src/main/browser/view/dnd-file-content-store.ts +42 -42
  285. package/src/main/browser/view/plugin-tree-view-node-label-provider.ts +81 -81
  286. package/src/main/browser/view/plugin-view-registry.ts +967 -967
  287. package/src/main/browser/view/plugin-view-widget.ts +221 -221
  288. package/src/main/browser/view/tree-view-decorator-service.ts +51 -51
  289. package/src/main/browser/view/tree-view-widget.tsx +931 -931
  290. package/src/main/browser/view/tree-views-main.ts +205 -205
  291. package/src/main/browser/view/view-context-key-service.ts +64 -64
  292. package/src/main/browser/webview/pre/fake.html +14 -14
  293. package/src/main/browser/webview/pre/host.js +130 -130
  294. package/src/main/browser/webview/pre/index.html +17 -17
  295. package/src/main/browser/webview/pre/main.js +682 -682
  296. package/src/main/browser/webview/pre/service-worker.js +296 -295
  297. package/src/main/browser/webview/webview-context-keys.ts +62 -62
  298. package/src/main/browser/webview/webview-environment.ts +87 -87
  299. package/src/main/browser/webview/webview-frontend-security-warnings.ts +59 -59
  300. package/src/main/browser/webview/webview-preferences.ts +72 -72
  301. package/src/main/browser/webview/webview-resource-cache.ts +88 -88
  302. package/src/main/browser/webview/webview-secondary-window-support.ts +47 -47
  303. package/src/main/browser/webview/webview-theme-data-provider.ts +124 -124
  304. package/src/main/browser/webview/webview.ts +718 -719
  305. package/src/main/browser/webview-views/webview-views-main.ts +154 -154
  306. package/src/main/browser/webview-views/webview-views.ts +43 -43
  307. package/src/main/browser/webviews-main.ts +287 -282
  308. package/src/main/browser/window-activity-tracker.ts +96 -96
  309. package/src/main/browser/window-state-main.ts +85 -85
  310. package/src/main/browser/workspace-main.ts +424 -424
  311. package/src/main/common/basic-message-registry-main.ts +53 -53
  312. package/src/main/common/basic-notification-main.ts +86 -86
  313. package/src/main/common/env-main.ts +44 -44
  314. package/src/main/common/plugin-paths-protocol.ts +26 -26
  315. package/src/main/common/plugin-theia-environment.ts +36 -36
  316. package/src/main/common/webview-protocol.ts +28 -28
  317. package/src/main/electron-browser/plugin-ext-frontend-electron-module.ts +25 -25
  318. package/src/main/electron-browser/webview/electron-webview-widget-factory.ts +59 -59
  319. package/src/main/node/errors.spec.ts +37 -37
  320. package/src/main/node/handlers/plugin-theia-directory-handler.ts +137 -137
  321. package/src/main/node/handlers/plugin-theia-file-handler.ts +66 -66
  322. package/src/main/node/paths/const.ts +21 -21
  323. package/src/main/node/paths/plugin-paths-service.ts +163 -163
  324. package/src/main/node/plugin-cli-contribution.ts +85 -85
  325. package/src/main/node/plugin-deployer-contribution.ts +35 -35
  326. package/src/main/node/plugin-deployer-directory-handler-context-impl.ts +45 -45
  327. package/src/main/node/plugin-deployer-entry-impl.ts +132 -132
  328. package/src/main/node/plugin-deployer-file-handler-context-impl.ts +33 -33
  329. package/src/main/node/plugin-deployer-impl.ts +375 -375
  330. package/src/main/node/plugin-deployer-proxy-entry-impl.ts +96 -96
  331. package/src/main/node/plugin-deployer-resolver-context-impl.ts +55 -55
  332. package/src/main/node/plugin-ext-backend-module.ts +106 -106
  333. package/src/main/node/plugin-github-resolver.ts +139 -139
  334. package/src/main/node/plugin-http-resolver.ts +92 -92
  335. package/src/main/node/plugin-localization-server.ts +42 -42
  336. package/src/main/node/plugin-mgmt-cli-contribution.ts +64 -64
  337. package/src/main/node/plugin-remote-cli-contribution.ts +36 -36
  338. package/src/main/node/plugin-remote-copy-contribution.ts +36 -36
  339. package/src/main/node/plugin-server-handler.ts +69 -69
  340. package/src/main/node/plugin-service.ts +97 -97
  341. package/src/main/node/plugin-theia-deployer-participant.ts +32 -32
  342. package/src/main/node/plugin-uninstallation-manager.ts +74 -74
  343. package/src/main/node/plugins-key-value-storage.spec.ts +110 -110
  344. package/src/main/node/plugins-key-value-storage.ts +161 -161
  345. package/src/main/node/resolvers/local-directory-plugin-deployer-resolver.ts +37 -37
  346. package/src/main/node/resolvers/local-plugin-deployer-resolver.ts +56 -56
  347. package/src/main/node/temp-dir-util.ts +36 -36
  348. package/src/main/node/webview-backend-security-warnings.ts +45 -45
  349. package/src/main/style/status-bar.css +35 -35
  350. package/src/plugin/authentication-ext.ts +140 -136
  351. package/src/plugin/clipboard-ext.ts +43 -43
  352. package/src/plugin/command-registry.ts +219 -219
  353. package/src/plugin/comments.ts +549 -549
  354. package/src/plugin/custom-editors.ts +334 -336
  355. package/src/plugin/debug/debug-ext.ts +549 -549
  356. package/src/plugin/debug/plugin-debug-adapter-creator.ts +50 -50
  357. package/src/plugin/debug/plugin-debug-adapter-session.ts +106 -106
  358. package/src/plugin/debug/plugin-debug-adapter-tracker.ts +85 -85
  359. package/src/plugin/decorations.ts +140 -140
  360. package/src/plugin/dialogs.ts +96 -96
  361. package/src/plugin/document-data.ts +366 -366
  362. package/src/plugin/documents.ts +283 -283
  363. package/src/plugin/editors-and-documents.ts +176 -176
  364. package/src/plugin/env.ts +134 -129
  365. package/src/plugin/file-system-event-service-ext-impl.ts +256 -256
  366. package/src/plugin/file-system-ext-impl.ts +415 -415
  367. package/src/plugin/known-commands.spec.ts +50 -50
  368. package/src/plugin/known-commands.ts +429 -428
  369. package/src/plugin/label-service.ts +36 -36
  370. package/src/plugin/languages/call-hierarchy.ts +124 -124
  371. package/src/plugin/languages/code-action.ts +162 -162
  372. package/src/plugin/languages/color.ts +75 -75
  373. package/src/plugin/languages/completion.ts +183 -183
  374. package/src/plugin/languages/declaration.ts +72 -72
  375. package/src/plugin/languages/definition.ts +73 -73
  376. package/src/plugin/languages/diagnostics.ts +325 -325
  377. package/src/plugin/languages/document-drop-edit.ts +44 -44
  378. package/src/plugin/languages/document-formatting.ts +47 -47
  379. package/src/plugin/languages/document-highlight.ts +61 -61
  380. package/src/plugin/languages/evaluatable-expression.ts +47 -47
  381. package/src/plugin/languages/folding.ts +46 -46
  382. package/src/plugin/languages/hover.ts +58 -58
  383. package/src/plugin/languages/implementation.ts +73 -73
  384. package/src/plugin/languages/inlay-hints.ts +149 -149
  385. package/src/plugin/languages/inline-completion.ts +126 -126
  386. package/src/plugin/languages/inline-values.ts +50 -50
  387. package/src/plugin/languages/lens.ts +102 -102
  388. package/src/plugin/languages/link-provider.ts +81 -81
  389. package/src/plugin/languages/linked-editing-range.ts +48 -48
  390. package/src/plugin/languages/on-type-formatting.ts +50 -50
  391. package/src/plugin/languages/outline.ts +126 -126
  392. package/src/plugin/languages/range-formatting.ts +48 -48
  393. package/src/plugin/languages/reference.ts +58 -58
  394. package/src/plugin/languages/rename.ts +130 -130
  395. package/src/plugin/languages/selection-range.ts +80 -80
  396. package/src/plugin/languages/semantic-highlighting.ts +211 -211
  397. package/src/plugin/languages/signature.ts +82 -82
  398. package/src/plugin/languages/type-definition.ts +73 -73
  399. package/src/plugin/languages/type-hierarchy.ts +117 -117
  400. package/src/plugin/languages/util.ts +26 -26
  401. package/src/plugin/languages/workspace-symbol.ts +66 -66
  402. package/src/plugin/languages-utils.ts +68 -68
  403. package/src/plugin/languages.ts +1022 -1022
  404. package/src/plugin/localization-ext.ts +89 -89
  405. package/src/plugin/markdown-string.ts +115 -115
  406. package/src/plugin/message-registry.ts +70 -70
  407. package/src/plugin/node/debug/debug.spec.ts +98 -98
  408. package/src/plugin/node/debug/plugin-node-debug-adapter-creator.ts +167 -167
  409. package/src/plugin/node/env-node-ext.ts +64 -64
  410. package/src/plugin/node/plugin-container-module.ts +165 -165
  411. package/src/plugin/notebook/notebook-document.ts +446 -446
  412. package/src/plugin/notebook/notebook-documents.ts +58 -58
  413. package/src/plugin/notebook/notebook-editor.ts +116 -116
  414. package/src/plugin/notebook/notebook-editors.ts +71 -71
  415. package/src/plugin/notebook/notebook-kernels.ts +631 -631
  416. package/src/plugin/notebook/notebook-renderers.ts +71 -71
  417. package/src/plugin/notebook/notebooks.ts +449 -449
  418. package/src/plugin/notification.ts +80 -80
  419. package/src/plugin/output-channel/log-output-channel.ts +108 -108
  420. package/src/plugin/output-channel/output-channel-item.ts +73 -73
  421. package/src/plugin/output-channel-registry.ts +52 -52
  422. package/src/plugin/path.spec.ts +40 -40
  423. package/src/plugin/path.ts +68 -68
  424. package/src/plugin/plugin-context.ts +1606 -1595
  425. package/src/plugin/plugin-icon-path.ts +53 -53
  426. package/src/plugin/plugin-manager.ts +508 -507
  427. package/src/plugin/plugin-storage.ts +138 -138
  428. package/src/plugin/preference-registry.spec.ts +288 -288
  429. package/src/plugin/preference-registry.ts +335 -335
  430. package/src/plugin/prefix-sum-computer.ts +218 -218
  431. package/src/plugin/quick-open.ts +735 -735
  432. package/src/plugin/scm.ts +919 -919
  433. package/src/plugin/secrets-ext.ts +104 -104
  434. package/src/plugin/status-bar/status-bar-item.ts +193 -193
  435. package/src/plugin/status-bar-message-registry.ts +103 -103
  436. package/src/plugin/tabs.ts +431 -431
  437. package/src/plugin/tasks/task-provider.ts +57 -57
  438. package/src/plugin/tasks/tasks.ts +252 -252
  439. package/src/plugin/telemetry-ext.ts +298 -298
  440. package/src/plugin/terminal-ext.ts +569 -566
  441. package/src/plugin/test-item.ts +174 -174
  442. package/src/plugin/tests.ts +545 -545
  443. package/src/plugin/text-editor.ts +581 -581
  444. package/src/plugin/text-editors.ts +157 -157
  445. package/src/plugin/theming.ts +73 -73
  446. package/src/plugin/timeline.ts +186 -186
  447. package/src/plugin/tree/tree-views.ts +682 -682
  448. package/src/plugin/type-converters.spec.ts +476 -476
  449. package/src/plugin/type-converters.ts +1768 -1748
  450. package/src/plugin/types-impl.spec.ts +85 -85
  451. package/src/plugin/types-impl.ts +4011 -4001
  452. package/src/plugin/uri-ext.ts +60 -0
  453. package/src/plugin/webview-views.ts +228 -228
  454. package/src/plugin/webviews.ts +468 -468
  455. package/src/plugin/window-state.ts +75 -75
  456. package/src/plugin/word-helper.ts +162 -162
  457. package/src/plugin/workspace.ts +505 -505
  458. package/src/plugin-ext-backend-electron-module.ts +24 -24
  459. package/src/plugin-ext-backend-module.ts +24 -24
  460. package/src/plugin-ext-frontend-electron-module.ts +19 -19
  461. package/src/plugin-ext-frontend-module.ts +19 -19
  462. package/lib/common/proxy-handler.d.ts +0 -73
  463. package/lib/common/proxy-handler.d.ts.map +0 -1
  464. package/lib/common/proxy-handler.js +0 -106
  465. package/lib/common/proxy-handler.js.map +0 -1
  466. package/src/common/proxy-handler.ts +0 -143
@@ -1,907 +1,907 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2018 Red Hat, Inc. 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
- // http://www.eclipse.org/legal/epl-2.0.
7
- //
8
- // This Source Code may also be made available under the following Secondary
9
- // Licenses when the conditions for such availability set forth in the Eclipse
10
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- // with the GNU Classpath Exception which is available at
12
- // https://www.gnu.org/software/classpath/license.html.
13
- //
14
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
- // *****************************************************************************
16
-
17
- import * as theia from '@theia/plugin';
18
- import type * as monaco from '@theia/monaco-editor-core';
19
- import { MarkdownString as MarkdownStringDTO } from '@theia/core/lib/common/markdown-rendering';
20
- import { UriComponents } from './uri-components';
21
- import { CompletionItemTag, DocumentPasteEditKind, SnippetString } from '../plugin/types-impl';
22
- import { Event as TheiaEvent } from '@theia/core/lib/common/event';
23
- import { URI } from '@theia/core/shared/vscode-uri';
24
- import { SerializedRegExp } from './plugin-api-rpc';
25
-
26
- // Should contains internal Plugin API types
27
-
28
- /**
29
- * Represents options to configure the behavior of showing a document in an editor.
30
- */
31
- export interface TextDocumentShowOptions {
32
- /**
33
- * An optional selection to apply for the document in the editor.
34
- */
35
- selection?: Range;
36
-
37
- /**
38
- * An optional flag that when `true` will stop the editor from taking focus.
39
- */
40
- preserveFocus?: boolean;
41
-
42
- /**
43
- * An optional flag that controls if an editor-tab will be replaced
44
- * with the next editor or if it will be kept.
45
- */
46
- preview?: boolean;
47
-
48
- /**
49
- * Denotes a location of an editor in the window. Editors can be arranged in a grid
50
- * and each column represents one editor location in that grid by counting the editors
51
- * in order of their appearance.
52
- */
53
- viewColumn?: theia.ViewColumn;
54
- }
55
-
56
- export interface Range {
57
- /**
58
- * Line number on which the range starts (starts at 1).
59
- */
60
- readonly startLineNumber: number;
61
- /**
62
- * Column on which the range starts in line `startLineNumber` (starts at 1).
63
- */
64
- readonly startColumn: number;
65
- /**
66
- * Line number on which the range ends.
67
- */
68
- readonly endLineNumber: number;
69
- /**
70
- * Column on which the range ends in line `endLineNumber`.
71
- */
72
- readonly endColumn: number;
73
- }
74
-
75
- export { MarkdownStringDTO as MarkdownString };
76
-
77
- export interface SerializedDocumentFilter {
78
- $serialized: true;
79
- language?: string;
80
- scheme?: string;
81
- pattern?: theia.GlobPattern;
82
- notebookType?: string;
83
- }
84
-
85
- export enum CompletionTriggerKind {
86
- Invoke = 0,
87
- TriggerCharacter = 1,
88
- TriggerForIncompleteCompletions = 2
89
- }
90
-
91
- export interface CompletionContext {
92
- triggerKind: CompletionTriggerKind;
93
- triggerCharacter?: string;
94
- }
95
-
96
- export enum CompletionItemInsertTextRule {
97
- KeepWhitespace = 1,
98
- InsertAsSnippet = 4
99
- }
100
-
101
- export interface Completion {
102
- label: string | theia.CompletionItemLabel;
103
- label2?: string;
104
- kind: CompletionItemKind;
105
- detail?: string;
106
- documentation?: string | MarkdownStringDTO;
107
- sortText?: string;
108
- filterText?: string;
109
- preselect?: boolean;
110
- insertText: string;
111
- insertTextRules?: CompletionItemInsertTextRule;
112
- range?: Range | {
113
- insert: Range;
114
- replace: Range;
115
- };
116
- commitCharacters?: string[];
117
- additionalTextEdits?: SingleEditOperation[];
118
- command?: Command;
119
- tags?: CompletionItemTag[];
120
- /** @deprecated use tags instead. */
121
- deprecated?: boolean;
122
- }
123
-
124
- export interface SingleEditOperation {
125
- range: Range;
126
- text: string | null;
127
- /**
128
- * This indicates that this operation has "insert" semantics.
129
- * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
130
- */
131
- forceMoveMarkers?: boolean;
132
- }
133
-
134
- export interface Command {
135
- id: string;
136
- title: string;
137
- tooltip?: string;
138
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
- arguments?: any[];
140
- }
141
-
142
- export enum CompletionItemKind {
143
- Method = 0,
144
- Function = 1,
145
- Constructor = 2,
146
- Field = 3,
147
- Variable = 4,
148
- Class = 5,
149
- Struct = 6,
150
- Interface = 7,
151
- Module = 8,
152
- Property = 9,
153
- Event = 10,
154
- Operator = 11,
155
- Unit = 12,
156
- Value = 13,
157
- Constant = 14,
158
- Enum = 15,
159
- EnumMember = 16,
160
- Keyword = 17,
161
- Text = 18,
162
- Color = 19,
163
- File = 20,
164
- Reference = 21,
165
- Customcolor = 22,
166
- Folder = 23,
167
- TypeParameter = 24,
168
- User = 25,
169
- Issue = 26,
170
- Snippet = 27
171
- }
172
-
173
- export class IdObject {
174
- id?: number;
175
- }
176
- export interface CompletionDto extends Completion {
177
- id: number;
178
- parentId: number;
179
- }
180
-
181
- export interface CompletionResultDto extends IdObject {
182
- id: number;
183
- defaultRange: {
184
- insert: Range,
185
- replace: Range
186
- }
187
- completions: CompletionDto[];
188
- incomplete?: boolean;
189
- }
190
-
191
- export interface MarkerData {
192
- code?: string;
193
- severity: MarkerSeverity;
194
- message: string;
195
- source?: string;
196
- startLineNumber: number;
197
- startColumn: number;
198
- endLineNumber: number;
199
- endColumn: number;
200
- relatedInformation?: RelatedInformation[];
201
- tags?: MarkerTag[];
202
- }
203
-
204
- export interface RelatedInformation {
205
- resource: string;
206
- message: string;
207
- startLineNumber: number;
208
- startColumn: number;
209
- endLineNumber: number;
210
- endColumn: number;
211
- }
212
-
213
- export enum MarkerSeverity {
214
- Hint = 1,
215
- Info = 2,
216
- Warning = 4,
217
- Error = 8,
218
- }
219
-
220
- export enum MarkerTag {
221
- Unnecessary = 1,
222
- Deprecated = 2,
223
- }
224
-
225
- export interface ParameterInformation {
226
- label: string | [number, number];
227
- documentation?: string | MarkdownStringDTO;
228
- }
229
-
230
- export interface SignatureInformation {
231
- label: string;
232
- documentation?: string | MarkdownStringDTO;
233
- parameters: ParameterInformation[];
234
- activeParameter?: number;
235
- }
236
-
237
- export interface SignatureHelp extends IdObject {
238
- signatures: SignatureInformation[];
239
- activeSignature: number;
240
- activeParameter: number;
241
- }
242
-
243
- export interface SignatureHelpContext {
244
- triggerKind: theia.SignatureHelpTriggerKind;
245
- triggerCharacter?: string;
246
- isRetrigger: boolean;
247
- activeSignatureHelp?: SignatureHelp;
248
- }
249
-
250
- export interface Hover {
251
- contents: MarkdownStringDTO[];
252
- range?: Range;
253
- }
254
-
255
- export interface HoverProvider {
256
- provideHover(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): Hover | undefined | Thenable<Hover | undefined>;
257
- }
258
-
259
- export interface EvaluatableExpression {
260
- range: Range;
261
- expression?: string;
262
- }
263
-
264
- export interface EvaluatableExpressionProvider {
265
- provideEvaluatableExpression(model: monaco.editor.ITextModel, position: monaco.Position,
266
- token: monaco.CancellationToken): EvaluatableExpression | undefined | Thenable<EvaluatableExpression | undefined>;
267
- }
268
-
269
- export interface InlineValueContext {
270
- frameId: number;
271
- stoppedLocation: Range;
272
- }
273
-
274
- export interface InlineValueText {
275
- type: 'text';
276
- range: Range;
277
- text: string;
278
- }
279
-
280
- export interface InlineValueVariableLookup {
281
- type: 'variable';
282
- range: Range;
283
- variableName?: string;
284
- caseSensitiveLookup: boolean;
285
- }
286
-
287
- export interface InlineValueEvaluatableExpression {
288
- type: 'expression';
289
- range: Range;
290
- expression?: string;
291
- }
292
-
293
- export type InlineValue = InlineValueText | InlineValueVariableLookup | InlineValueEvaluatableExpression;
294
-
295
- export interface InlineValuesProvider {
296
- onDidChangeInlineValues?: TheiaEvent<void> | undefined;
297
- provideInlineValues(model: monaco.editor.ITextModel, viewPort: Range, context: InlineValueContext, token: monaco.CancellationToken):
298
- InlineValue[] | undefined | Thenable<InlineValue[] | undefined>;
299
- }
300
-
301
- export enum DocumentHighlightKind {
302
- Text = 0,
303
- Read = 1,
304
- Write = 2
305
- }
306
-
307
- export interface DocumentHighlight {
308
- range: Range;
309
- kind?: DocumentHighlightKind;
310
- }
311
-
312
- export interface DocumentHighlightProvider {
313
- provideDocumentHighlights(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): DocumentHighlight[] | undefined;
314
- }
315
-
316
- export interface FormattingOptions {
317
- tabSize: number;
318
- insertSpaces: boolean;
319
- }
320
-
321
- export interface TextEdit {
322
- range: Range;
323
- text: string;
324
- eol?: monaco.editor.EndOfLineSequence;
325
- }
326
-
327
- export interface DocumentDropEdit {
328
- insertText: string | SnippetString;
329
- additionalEdit?: WorkspaceEdit;
330
- }
331
-
332
- export interface DocumentDropEditProviderMetadata {
333
- readonly providedDropEditKinds?: readonly DocumentPasteEditKind[];
334
- readonly dropMimeTypes: readonly string[];
335
- }
336
-
337
- export interface DataTransferFileDTO {
338
- readonly id: string;
339
- readonly name: string;
340
- readonly uri?: UriComponents;
341
- }
342
-
343
- export interface DataTransferItemDTO {
344
- readonly asString: string;
345
- readonly fileData: DataTransferFileDTO | undefined;
346
- readonly uriListData?: ReadonlyArray<string | UriComponents>;
347
- }
348
-
349
- export interface DataTransferDTO {
350
- readonly items: Array<[/* type */string, DataTransferItemDTO]>;
351
- }
352
-
353
- export interface Location {
354
- uri: UriComponents;
355
- range: Range;
356
- }
357
-
358
- export type Definition = Location | Location[] | LocationLink[];
359
-
360
- export interface LocationLink {
361
- uri: UriComponents;
362
- range: Range;
363
- originSelectionRange?: Range;
364
- targetSelectionRange?: Range;
365
- }
366
-
367
- export interface DefinitionProvider {
368
- provideDefinition(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): Definition | undefined;
369
- }
370
-
371
- export interface DeclarationProvider {
372
- provideDeclaration(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): Definition | undefined;
373
- }
374
-
375
- /**
376
- * Value-object that contains additional information when
377
- * requesting references.
378
- */
379
- export interface ReferenceContext {
380
-
381
- /**
382
- * Include the declaration of the current symbol.
383
- */
384
- includeDeclaration: boolean;
385
- }
386
-
387
- export type CacheId = number;
388
- export type ChainedCacheId = [CacheId, CacheId];
389
-
390
- export type CachedSessionItem<T> = T & { cacheId?: ChainedCacheId };
391
- export type CachedSession<T> = T & { cacheId?: CacheId };
392
-
393
- export interface DocumentLink {
394
- cacheId?: ChainedCacheId,
395
- range: Range;
396
- url?: UriComponents | string;
397
- tooltip?: string;
398
- }
399
-
400
- export interface DocumentLinkProvider {
401
- provideLinks(model: monaco.editor.ITextModel, token: monaco.CancellationToken): DocumentLink[] | undefined | PromiseLike<DocumentLink[] | undefined>;
402
- resolveLink?: (link: DocumentLink, token: monaco.CancellationToken) => DocumentLink | PromiseLike<DocumentLink[]>;
403
- }
404
-
405
- export interface CodeLensSymbol {
406
- range: Range;
407
- command?: Command;
408
- }
409
-
410
- export interface CodeAction {
411
- cacheId: number;
412
- title: string;
413
- command?: Command;
414
- edit?: WorkspaceEdit;
415
- diagnostics?: MarkerData[];
416
- kind?: string;
417
- disabled?: { reason: string };
418
- isPreferred?: boolean;
419
- }
420
-
421
- export enum CodeActionTriggerKind {
422
- Invoke = 1,
423
- Automatic = 2,
424
- }
425
-
426
- export interface CodeActionContext {
427
- only?: string;
428
- trigger: CodeActionTriggerKind
429
- }
430
-
431
- export type CodeActionProviderDocumentation = ReadonlyArray<{ command: Command, kind: string }>;
432
-
433
- export interface CodeActionProvider {
434
- provideCodeActions(
435
- model: monaco.editor.ITextModel,
436
- range: Range | Selection,
437
- context: monaco.languages.CodeActionContext,
438
- token: monaco.CancellationToken
439
- ): CodeAction[] | PromiseLike<CodeAction[]>;
440
-
441
- providedCodeActionKinds?: string[];
442
- }
443
-
444
- // copied from https://github.com/microsoft/vscode/blob/b165e20587dd0797f37251515bc9e4dbe513ede8/src/vs/editor/common/modes.ts
445
- export interface WorkspaceEditMetadata {
446
- needsConfirmation: boolean;
447
- label: string;
448
- description?: string;
449
- iconPath?: {
450
- id: string;
451
- } | {
452
- light: UriComponents;
453
- dark: UriComponents;
454
- };
455
- }
456
-
457
- export interface WorkspaceFileEdit {
458
- newResource?: UriComponents;
459
- oldResource?: UriComponents;
460
- options?: { overwrite?: boolean, ignoreIfNotExists?: boolean, ignoreIfExists?: boolean, recursive?: boolean };
461
- metadata?: WorkspaceEditMetadata;
462
- }
463
-
464
- export interface WorkspaceTextEdit {
465
- resource: UriComponents;
466
- modelVersionId?: number;
467
- textEdit: TextEdit;
468
- metadata?: WorkspaceEditMetadata;
469
- }
470
-
471
- export interface WorkspaceEdit {
472
- edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
473
- }
474
-
475
- export enum SymbolKind {
476
- File = 0,
477
- Module = 1,
478
- Namespace = 2,
479
- Package = 3,
480
- Class = 4,
481
- Method = 5,
482
- Property = 6,
483
- Field = 7,
484
- Constructor = 8,
485
- Enum = 9,
486
- Interface = 10,
487
- Function = 11,
488
- Variable = 12,
489
- Constant = 13,
490
- String = 14,
491
- Number = 15,
492
- Boolean = 16,
493
- Array = 17,
494
- Object = 18,
495
- Key = 19,
496
- Null = 20,
497
- EnumMember = 21,
498
- Struct = 22,
499
- Event = 23,
500
- Operator = 24,
501
- TypeParameter = 25
502
- }
503
-
504
- export enum SymbolTag {
505
- Deprecated = 1
506
- }
507
-
508
- export interface DocumentSymbol {
509
- name: string;
510
- detail: string;
511
- kind: SymbolKind;
512
- tags: ReadonlyArray<SymbolTag>;
513
- containerName?: string;
514
- range: Range;
515
- selectionRange: Range;
516
- children?: DocumentSymbol[];
517
- }
518
-
519
- export interface WorkspaceRootsChangeEvent {
520
- roots: string[];
521
- }
522
-
523
- export interface WorkspaceFolder {
524
- uri: UriComponents;
525
- name: string;
526
- index: number;
527
- }
528
-
529
- export interface Breakpoint {
530
- readonly id: string;
531
- readonly enabled: boolean;
532
- readonly condition?: string;
533
- readonly hitCondition?: string;
534
- readonly logMessage?: string;
535
- readonly location?: Location;
536
- readonly functionName?: string;
537
- }
538
-
539
- export interface WorkspaceSymbolParams {
540
- query: string
541
- }
542
-
543
- export interface FoldingContext {
544
- }
545
-
546
- export interface FoldingRange {
547
- start: number;
548
- end: number;
549
- kind?: FoldingRangeKind;
550
- }
551
-
552
- export class FoldingRangeKind {
553
- static readonly Comment = new FoldingRangeKind('comment');
554
- static readonly Imports = new FoldingRangeKind('imports');
555
- static readonly Region = new FoldingRangeKind('region');
556
- public constructor(public value: string) { }
557
- }
558
-
559
- export interface SelectionRange {
560
- range: Range;
561
- }
562
-
563
- export interface Color {
564
- readonly red: number;
565
- readonly green: number;
566
- readonly blue: number;
567
- readonly alpha: number;
568
- }
569
-
570
- export interface ColorPresentation {
571
- label: string;
572
- textEdit?: TextEdit;
573
- additionalTextEdits?: TextEdit[];
574
- }
575
-
576
- export interface ColorInformation {
577
- range: Range;
578
- color: Color;
579
- }
580
-
581
- export interface DocumentColorProvider {
582
- provideDocumentColors(model: monaco.editor.ITextModel): PromiseLike<ColorInformation[]>;
583
- provideColorPresentations(model: monaco.editor.ITextModel, colorInfo: ColorInformation): PromiseLike<ColorPresentation[]>;
584
- }
585
-
586
- export interface Rejection {
587
- rejectReason?: string;
588
- }
589
-
590
- export interface RenameLocation {
591
- range: Range;
592
- text: string;
593
- }
594
-
595
- export class HierarchyItem {
596
- _sessionId?: string;
597
- _itemId?: string;
598
-
599
- kind: SymbolKind;
600
- tags?: readonly SymbolTag[];
601
- name: string;
602
- detail?: string;
603
- uri: UriComponents;
604
- range: Range;
605
- selectionRange: Range;
606
- }
607
-
608
- export class TypeHierarchyItem extends HierarchyItem { }
609
-
610
- export interface CallHierarchyItem extends HierarchyItem {
611
- data?: unknown;
612
- }
613
-
614
- export interface CallHierarchyIncomingCall {
615
- from: CallHierarchyItem;
616
- fromRanges: Range[];
617
- }
618
-
619
- export interface CallHierarchyOutgoingCall {
620
- to: CallHierarchyItem;
621
- fromRanges: Range[];
622
- }
623
-
624
- export interface LinkedEditingRanges {
625
- ranges: Range[];
626
- wordPattern?: SerializedRegExp;
627
- }
628
-
629
- export interface SearchInWorkspaceResult {
630
- root: string;
631
- fileUri: string;
632
- matches: SearchMatch[];
633
- }
634
-
635
- export interface SearchMatch {
636
- line: number;
637
- character: number;
638
- length: number;
639
- lineText: string | LinePreview;
640
-
641
- }
642
- export interface LinePreview {
643
- text: string;
644
- character: number;
645
- }
646
-
647
- /**
648
- * @deprecated Use {@link theia.AuthenticationSession} instead.
649
- */
650
- export interface AuthenticationSession extends theia.AuthenticationSession {
651
- }
652
-
653
- /**
654
- * @deprecated Use {@link theia.AuthenticationProviderAuthenticationSessionsChangeEvent} instead.
655
- */
656
- export interface AuthenticationSessionsChangeEvent extends theia.AuthenticationProviderAuthenticationSessionsChangeEvent {
657
- }
658
-
659
- /**
660
- * @deprecated Use {@link theia.AuthenticationProviderInformation} instead.
661
- */
662
- export interface AuthenticationProviderInformation extends theia.AuthenticationProviderInformation {
663
- }
664
-
665
- export interface CommentOptions {
666
- /**
667
- * An optional string to show on the comment input box when it's collapsed.
668
- */
669
- prompt?: string;
670
-
671
- /**
672
- * An optional string to show as placeholder in the comment input box when it's focused.
673
- */
674
- placeHolder?: string;
675
- }
676
-
677
- export enum CommentMode {
678
- Editing = 0,
679
- Preview = 1
680
- }
681
-
682
- export interface Comment {
683
- readonly uniqueIdInThread: number;
684
- readonly body: MarkdownStringDTO;
685
- readonly userName: string;
686
- readonly userIconPath?: string;
687
- readonly contextValue?: string;
688
- readonly label?: string;
689
- readonly mode?: CommentMode;
690
- /** Timestamp serialized as ISO date string via Date.prototype.toISOString */
691
- readonly timestamp?: string;
692
- }
693
-
694
- export enum CommentThreadState {
695
- Unresolved = 0,
696
- Resolved = 1
697
- }
698
-
699
- export enum CommentThreadCollapsibleState {
700
- /**
701
- * Determines an item is collapsed
702
- */
703
- Collapsed = 0,
704
- /**
705
- * Determines an item is expanded
706
- */
707
- Expanded = 1
708
- }
709
-
710
- export interface CommentInput {
711
- value: string;
712
- uri: URI;
713
- }
714
-
715
- export interface CommentThread {
716
- commentThreadHandle: number;
717
- controllerHandle: number;
718
- extensionId?: string;
719
- threadId: string;
720
- resource: string | null;
721
- range: Range;
722
- label: string | undefined;
723
- contextValue: string | undefined;
724
- comments: Comment[] | undefined;
725
- onDidChangeComments: TheiaEvent<Comment[] | undefined>;
726
- collapsibleState?: CommentThreadCollapsibleState;
727
- state?: CommentThreadState;
728
- input?: CommentInput;
729
- onDidChangeInput: TheiaEvent<CommentInput | undefined>;
730
- onDidChangeRange: TheiaEvent<Range>;
731
- onDidChangeLabel: TheiaEvent<string | undefined>;
732
- onDidChangeState: TheiaEvent<CommentThreadState | undefined>;
733
- onDidChangeCollapsibleState: TheiaEvent<CommentThreadCollapsibleState | undefined>;
734
- isDisposed: boolean;
735
- canReply: boolean;
736
- onDidChangeCanReply: TheiaEvent<boolean>;
737
- }
738
-
739
- export interface CommentThreadChangedEventMain extends CommentThreadChangedEvent {
740
- owner: string;
741
- }
742
-
743
- export interface CommentThreadChangedEvent {
744
- /**
745
- * Added comment threads.
746
- */
747
- readonly added: CommentThread[];
748
-
749
- /**
750
- * Removed comment threads.
751
- */
752
- readonly removed: CommentThread[];
753
-
754
- /**
755
- * Changed comment threads.
756
- */
757
- readonly changed: CommentThread[];
758
- }
759
-
760
- export interface CommentingRanges {
761
- readonly resource: URI;
762
- ranges: Range[];
763
- }
764
-
765
- export interface CommentInfo {
766
- extensionId?: string;
767
- threads: CommentThread[];
768
- commentingRanges: CommentingRanges;
769
- }
770
-
771
- export interface ProvidedTerminalLink extends theia.TerminalLink {
772
- providerId: string
773
- }
774
-
775
- export interface InlayHintLabelPart {
776
- label: string;
777
- tooltip?: string | MarkdownStringDTO;
778
- location?: Location;
779
- command?: Command;
780
- }
781
-
782
- export interface InlayHint {
783
- position: { lineNumber: number, column: number };
784
- label: string | InlayHintLabelPart[];
785
- tooltip?: string | MarkdownStringDTO | undefined;
786
- kind?: InlayHintKind;
787
- textEdits?: TextEdit[];
788
- paddingLeft?: boolean;
789
- paddingRight?: boolean;
790
- }
791
-
792
- export enum InlayHintKind {
793
- Type = 1,
794
- Parameter = 2,
795
- }
796
-
797
- export interface InlayHintsProvider {
798
- onDidChangeInlayHints?: TheiaEvent<void> | undefined;
799
- provideInlayHints(model: monaco.editor.ITextModel, range: Range, token: monaco.CancellationToken): InlayHint[] | undefined | Thenable<InlayHint[] | undefined>;
800
- resolveInlayHint?(hint: InlayHint, token: monaco.CancellationToken): InlayHint[] | undefined | Thenable<InlayHint[] | undefined>;
801
- }
802
-
803
- /**
804
- * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
805
- */
806
- export enum InlineCompletionTriggerKind {
807
- /**
808
- * Completion was triggered automatically while editing.
809
- * It is sufficient to return a single completion item in this case.
810
- */
811
- Automatic = 0,
812
-
813
- /**
814
- * Completion was triggered explicitly by a user gesture.
815
- * Return multiple completion items to enable cycling through them.
816
- */
817
- Explicit = 1,
818
- }
819
-
820
- export interface InlineCompletionContext {
821
- /**
822
- * How the completion was triggered.
823
- */
824
- readonly triggerKind: InlineCompletionTriggerKind;
825
-
826
- readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
827
- }
828
-
829
- export interface SelectedSuggestionInfo {
830
- range: Range;
831
- text: string;
832
- isSnippetText: boolean;
833
- completionKind: CompletionItemKind;
834
- }
835
-
836
- export interface InlineCompletion {
837
- /**
838
- * The text to insert.
839
- * If the text contains a line break, the range must end at the end of a line.
840
- * If existing text should be replaced, the existing text must be a prefix of the text to insert.
841
- *
842
- * The text can also be a snippet. In that case, a preview with default parameters is shown.
843
- * When accepting the suggestion, the full snippet is inserted.
844
- */
845
- readonly insertText: string | { snippet: string };
846
-
847
- /**
848
- * A text that is used to decide if this inline completion should be shown.
849
- * An inline completion is shown if the text to replace is a subword of the filter text.
850
- */
851
- readonly filterText?: string;
852
-
853
- /**
854
- * An optional array of additional text edits that are applied when
855
- * selecting this completion. Edits must not overlap with the main edit
856
- * nor with themselves.
857
- */
858
- readonly additionalTextEdits?: SingleEditOperation[];
859
-
860
- /**
861
- * The range to replace.
862
- * Must begin and end on the same line.
863
- */
864
- readonly range?: Range;
865
-
866
- readonly command?: Command;
867
-
868
- /**
869
- * If set to `true`, unopened closing brackets are removed and unclosed opening brackets are closed.
870
- * Defaults to `false`.
871
- */
872
- readonly completeBracketPairs?: boolean;
873
- }
874
-
875
- export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
876
- readonly items: readonly TItem[];
877
- }
878
-
879
- export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
880
- provideInlineCompletions(
881
- model: monaco.editor.ITextModel,
882
- position: monaco.Position,
883
- context: InlineCompletionContext,
884
- token: monaco.CancellationToken
885
- ): T[] | undefined | Thenable<T[] | undefined>;
886
-
887
- /**
888
- * Will be called when an item is shown.
889
- */
890
- handleItemDidShow?(completions: T, item: T['items'][number]): void;
891
-
892
- /**
893
- * Will be called when a completions list is no longer in use and can be garbage-collected.
894
- */
895
- freeInlineCompletions(completions: T): void;
896
- }
897
-
898
- export interface DebugStackFrameDTO {
899
- readonly sessionId: string,
900
- readonly frameId: number,
901
- readonly threadId: number
902
- }
903
-
904
- export interface DebugThreadDTO {
905
- readonly sessionId: string,
906
- readonly threadId: number
907
- }
1
+ // *****************************************************************************
2
+ // Copyright (C) 2018 Red Hat, Inc. 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
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import * as theia from '@theia/plugin';
18
+ import type * as monaco from '@theia/monaco-editor-core';
19
+ import { MarkdownString as MarkdownStringDTO } from '@theia/core/lib/common/markdown-rendering';
20
+ import { UriComponents } from './uri-components';
21
+ import { CompletionItemTag, DocumentPasteEditKind, SnippetString } from '../plugin/types-impl';
22
+ import { Event as TheiaEvent } from '@theia/core/lib/common/event';
23
+ import { URI } from '@theia/core/shared/vscode-uri';
24
+ import { SerializedRegExp } from './plugin-api-rpc';
25
+
26
+ // Should contains internal Plugin API types
27
+
28
+ /**
29
+ * Represents options to configure the behavior of showing a document in an editor.
30
+ */
31
+ export interface TextDocumentShowOptions {
32
+ /**
33
+ * An optional selection to apply for the document in the editor.
34
+ */
35
+ selection?: Range;
36
+
37
+ /**
38
+ * An optional flag that when `true` will stop the editor from taking focus.
39
+ */
40
+ preserveFocus?: boolean;
41
+
42
+ /**
43
+ * An optional flag that controls if an editor-tab will be replaced
44
+ * with the next editor or if it will be kept.
45
+ */
46
+ preview?: boolean;
47
+
48
+ /**
49
+ * Denotes a location of an editor in the window. Editors can be arranged in a grid
50
+ * and each column represents one editor location in that grid by counting the editors
51
+ * in order of their appearance.
52
+ */
53
+ viewColumn?: theia.ViewColumn;
54
+ }
55
+
56
+ export interface Range {
57
+ /**
58
+ * Line number on which the range starts (starts at 1).
59
+ */
60
+ readonly startLineNumber: number;
61
+ /**
62
+ * Column on which the range starts in line `startLineNumber` (starts at 1).
63
+ */
64
+ readonly startColumn: number;
65
+ /**
66
+ * Line number on which the range ends.
67
+ */
68
+ readonly endLineNumber: number;
69
+ /**
70
+ * Column on which the range ends in line `endLineNumber`.
71
+ */
72
+ readonly endColumn: number;
73
+ }
74
+
75
+ export { MarkdownStringDTO as MarkdownString };
76
+
77
+ export interface SerializedDocumentFilter {
78
+ $serialized: true;
79
+ language?: string;
80
+ scheme?: string;
81
+ pattern?: theia.GlobPattern;
82
+ notebookType?: string;
83
+ }
84
+
85
+ export enum CompletionTriggerKind {
86
+ Invoke = 0,
87
+ TriggerCharacter = 1,
88
+ TriggerForIncompleteCompletions = 2
89
+ }
90
+
91
+ export interface CompletionContext {
92
+ triggerKind: CompletionTriggerKind;
93
+ triggerCharacter?: string;
94
+ }
95
+
96
+ export enum CompletionItemInsertTextRule {
97
+ KeepWhitespace = 1,
98
+ InsertAsSnippet = 4
99
+ }
100
+
101
+ export interface Completion {
102
+ label: string | theia.CompletionItemLabel;
103
+ label2?: string;
104
+ kind: CompletionItemKind;
105
+ detail?: string;
106
+ documentation?: string | MarkdownStringDTO;
107
+ sortText?: string;
108
+ filterText?: string;
109
+ preselect?: boolean;
110
+ insertText: string;
111
+ insertTextRules?: CompletionItemInsertTextRule;
112
+ range?: Range | {
113
+ insert: Range;
114
+ replace: Range;
115
+ };
116
+ commitCharacters?: string[];
117
+ additionalTextEdits?: SingleEditOperation[];
118
+ command?: Command;
119
+ tags?: CompletionItemTag[];
120
+ /** @deprecated use tags instead. */
121
+ deprecated?: boolean;
122
+ }
123
+
124
+ export interface SingleEditOperation {
125
+ range: Range;
126
+ text: string | null;
127
+ /**
128
+ * This indicates that this operation has "insert" semantics.
129
+ * i.e. forceMoveMarkers = true => if `range` is collapsed, all markers at the position will be moved.
130
+ */
131
+ forceMoveMarkers?: boolean;
132
+ }
133
+
134
+ export interface Command {
135
+ id: string;
136
+ title: string;
137
+ tooltip?: string;
138
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
+ arguments?: any[];
140
+ }
141
+
142
+ export enum CompletionItemKind {
143
+ Method = 0,
144
+ Function = 1,
145
+ Constructor = 2,
146
+ Field = 3,
147
+ Variable = 4,
148
+ Class = 5,
149
+ Struct = 6,
150
+ Interface = 7,
151
+ Module = 8,
152
+ Property = 9,
153
+ Event = 10,
154
+ Operator = 11,
155
+ Unit = 12,
156
+ Value = 13,
157
+ Constant = 14,
158
+ Enum = 15,
159
+ EnumMember = 16,
160
+ Keyword = 17,
161
+ Text = 18,
162
+ Color = 19,
163
+ File = 20,
164
+ Reference = 21,
165
+ Customcolor = 22,
166
+ Folder = 23,
167
+ TypeParameter = 24,
168
+ User = 25,
169
+ Issue = 26,
170
+ Snippet = 27
171
+ }
172
+
173
+ export class IdObject {
174
+ id?: number;
175
+ }
176
+ export interface CompletionDto extends Completion {
177
+ id: number;
178
+ parentId: number;
179
+ }
180
+
181
+ export interface CompletionResultDto extends IdObject {
182
+ id: number;
183
+ defaultRange: {
184
+ insert: Range,
185
+ replace: Range
186
+ }
187
+ completions: CompletionDto[];
188
+ incomplete?: boolean;
189
+ }
190
+
191
+ export interface MarkerData {
192
+ code?: string;
193
+ severity: MarkerSeverity;
194
+ message: string;
195
+ source?: string;
196
+ startLineNumber: number;
197
+ startColumn: number;
198
+ endLineNumber: number;
199
+ endColumn: number;
200
+ relatedInformation?: RelatedInformation[];
201
+ tags?: MarkerTag[];
202
+ }
203
+
204
+ export interface RelatedInformation {
205
+ resource: string;
206
+ message: string;
207
+ startLineNumber: number;
208
+ startColumn: number;
209
+ endLineNumber: number;
210
+ endColumn: number;
211
+ }
212
+
213
+ export enum MarkerSeverity {
214
+ Hint = 1,
215
+ Info = 2,
216
+ Warning = 4,
217
+ Error = 8,
218
+ }
219
+
220
+ export enum MarkerTag {
221
+ Unnecessary = 1,
222
+ Deprecated = 2,
223
+ }
224
+
225
+ export interface ParameterInformation {
226
+ label: string | [number, number];
227
+ documentation?: string | MarkdownStringDTO;
228
+ }
229
+
230
+ export interface SignatureInformation {
231
+ label: string;
232
+ documentation?: string | MarkdownStringDTO;
233
+ parameters: ParameterInformation[];
234
+ activeParameter?: number;
235
+ }
236
+
237
+ export interface SignatureHelp extends IdObject {
238
+ signatures: SignatureInformation[];
239
+ activeSignature: number;
240
+ activeParameter: number;
241
+ }
242
+
243
+ export interface SignatureHelpContext {
244
+ triggerKind: theia.SignatureHelpTriggerKind;
245
+ triggerCharacter?: string;
246
+ isRetrigger: boolean;
247
+ activeSignatureHelp?: SignatureHelp;
248
+ }
249
+
250
+ export interface Hover {
251
+ contents: MarkdownStringDTO[];
252
+ range?: Range;
253
+ }
254
+
255
+ export interface HoverProvider {
256
+ provideHover(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): Hover | undefined | Thenable<Hover | undefined>;
257
+ }
258
+
259
+ export interface EvaluatableExpression {
260
+ range: Range;
261
+ expression?: string;
262
+ }
263
+
264
+ export interface EvaluatableExpressionProvider {
265
+ provideEvaluatableExpression(model: monaco.editor.ITextModel, position: monaco.Position,
266
+ token: monaco.CancellationToken): EvaluatableExpression | undefined | Thenable<EvaluatableExpression | undefined>;
267
+ }
268
+
269
+ export interface InlineValueContext {
270
+ frameId: number;
271
+ stoppedLocation: Range;
272
+ }
273
+
274
+ export interface InlineValueText {
275
+ type: 'text';
276
+ range: Range;
277
+ text: string;
278
+ }
279
+
280
+ export interface InlineValueVariableLookup {
281
+ type: 'variable';
282
+ range: Range;
283
+ variableName?: string;
284
+ caseSensitiveLookup: boolean;
285
+ }
286
+
287
+ export interface InlineValueEvaluatableExpression {
288
+ type: 'expression';
289
+ range: Range;
290
+ expression?: string;
291
+ }
292
+
293
+ export type InlineValue = InlineValueText | InlineValueVariableLookup | InlineValueEvaluatableExpression;
294
+
295
+ export interface InlineValuesProvider {
296
+ onDidChangeInlineValues?: TheiaEvent<void> | undefined;
297
+ provideInlineValues(model: monaco.editor.ITextModel, viewPort: Range, context: InlineValueContext, token: monaco.CancellationToken):
298
+ InlineValue[] | undefined | Thenable<InlineValue[] | undefined>;
299
+ }
300
+
301
+ export enum DocumentHighlightKind {
302
+ Text = 0,
303
+ Read = 1,
304
+ Write = 2
305
+ }
306
+
307
+ export interface DocumentHighlight {
308
+ range: Range;
309
+ kind?: DocumentHighlightKind;
310
+ }
311
+
312
+ export interface DocumentHighlightProvider {
313
+ provideDocumentHighlights(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): DocumentHighlight[] | undefined;
314
+ }
315
+
316
+ export interface FormattingOptions {
317
+ tabSize: number;
318
+ insertSpaces: boolean;
319
+ }
320
+
321
+ export interface TextEdit {
322
+ range: Range;
323
+ text: string;
324
+ eol?: monaco.editor.EndOfLineSequence;
325
+ }
326
+
327
+ export interface DocumentDropEdit {
328
+ insertText: string | SnippetString;
329
+ additionalEdit?: WorkspaceEdit;
330
+ }
331
+
332
+ export interface DocumentDropEditProviderMetadata {
333
+ readonly providedDropEditKinds?: readonly DocumentPasteEditKind[];
334
+ readonly dropMimeTypes: readonly string[];
335
+ }
336
+
337
+ export interface DataTransferFileDTO {
338
+ readonly id: string;
339
+ readonly name: string;
340
+ readonly uri?: UriComponents;
341
+ }
342
+
343
+ export interface DataTransferItemDTO {
344
+ readonly asString: string;
345
+ readonly fileData: DataTransferFileDTO | undefined;
346
+ readonly uriListData?: ReadonlyArray<string | UriComponents>;
347
+ }
348
+
349
+ export interface DataTransferDTO {
350
+ readonly items: Array<[/* type */string, DataTransferItemDTO]>;
351
+ }
352
+
353
+ export interface Location {
354
+ uri: UriComponents;
355
+ range: Range;
356
+ }
357
+
358
+ export type Definition = Location | Location[] | LocationLink[];
359
+
360
+ export interface LocationLink {
361
+ uri: UriComponents;
362
+ range: Range;
363
+ originSelectionRange?: Range;
364
+ targetSelectionRange?: Range;
365
+ }
366
+
367
+ export interface DefinitionProvider {
368
+ provideDefinition(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): Definition | undefined;
369
+ }
370
+
371
+ export interface DeclarationProvider {
372
+ provideDeclaration(model: monaco.editor.ITextModel, position: monaco.Position, token: monaco.CancellationToken): Definition | undefined;
373
+ }
374
+
375
+ /**
376
+ * Value-object that contains additional information when
377
+ * requesting references.
378
+ */
379
+ export interface ReferenceContext {
380
+
381
+ /**
382
+ * Include the declaration of the current symbol.
383
+ */
384
+ includeDeclaration: boolean;
385
+ }
386
+
387
+ export type CacheId = number;
388
+ export type ChainedCacheId = [CacheId, CacheId];
389
+
390
+ export type CachedSessionItem<T> = T & { cacheId?: ChainedCacheId };
391
+ export type CachedSession<T> = T & { cacheId?: CacheId };
392
+
393
+ export interface DocumentLink {
394
+ cacheId?: ChainedCacheId,
395
+ range: Range;
396
+ url?: UriComponents | string;
397
+ tooltip?: string;
398
+ }
399
+
400
+ export interface DocumentLinkProvider {
401
+ provideLinks(model: monaco.editor.ITextModel, token: monaco.CancellationToken): DocumentLink[] | undefined | PromiseLike<DocumentLink[] | undefined>;
402
+ resolveLink?: (link: DocumentLink, token: monaco.CancellationToken) => DocumentLink | PromiseLike<DocumentLink[]>;
403
+ }
404
+
405
+ export interface CodeLensSymbol {
406
+ range: Range;
407
+ command?: Command;
408
+ }
409
+
410
+ export interface CodeAction {
411
+ cacheId: number;
412
+ title: string;
413
+ command?: Command;
414
+ edit?: WorkspaceEdit;
415
+ diagnostics?: MarkerData[];
416
+ kind?: string;
417
+ disabled?: { reason: string };
418
+ isPreferred?: boolean;
419
+ }
420
+
421
+ export enum CodeActionTriggerKind {
422
+ Invoke = 1,
423
+ Automatic = 2,
424
+ }
425
+
426
+ export interface CodeActionContext {
427
+ only?: string;
428
+ trigger: CodeActionTriggerKind
429
+ }
430
+
431
+ export type CodeActionProviderDocumentation = ReadonlyArray<{ command: Command, kind: string }>;
432
+
433
+ export interface CodeActionProvider {
434
+ provideCodeActions(
435
+ model: monaco.editor.ITextModel,
436
+ range: Range | Selection,
437
+ context: monaco.languages.CodeActionContext,
438
+ token: monaco.CancellationToken
439
+ ): CodeAction[] | PromiseLike<CodeAction[]>;
440
+
441
+ providedCodeActionKinds?: string[];
442
+ }
443
+
444
+ // copied from https://github.com/microsoft/vscode/blob/b165e20587dd0797f37251515bc9e4dbe513ede8/src/vs/editor/common/modes.ts
445
+ export interface WorkspaceEditMetadata {
446
+ needsConfirmation: boolean;
447
+ label: string;
448
+ description?: string;
449
+ iconPath?: {
450
+ id: string;
451
+ } | {
452
+ light: UriComponents;
453
+ dark: UriComponents;
454
+ };
455
+ }
456
+
457
+ export interface WorkspaceFileEdit {
458
+ newResource?: UriComponents;
459
+ oldResource?: UriComponents;
460
+ options?: { overwrite?: boolean, ignoreIfNotExists?: boolean, ignoreIfExists?: boolean, recursive?: boolean };
461
+ metadata?: WorkspaceEditMetadata;
462
+ }
463
+
464
+ export interface WorkspaceTextEdit {
465
+ resource: UriComponents;
466
+ modelVersionId?: number;
467
+ textEdit: TextEdit;
468
+ metadata?: WorkspaceEditMetadata;
469
+ }
470
+
471
+ export interface WorkspaceEdit {
472
+ edits: Array<WorkspaceTextEdit | WorkspaceFileEdit>;
473
+ }
474
+
475
+ export enum SymbolKind {
476
+ File = 0,
477
+ Module = 1,
478
+ Namespace = 2,
479
+ Package = 3,
480
+ Class = 4,
481
+ Method = 5,
482
+ Property = 6,
483
+ Field = 7,
484
+ Constructor = 8,
485
+ Enum = 9,
486
+ Interface = 10,
487
+ Function = 11,
488
+ Variable = 12,
489
+ Constant = 13,
490
+ String = 14,
491
+ Number = 15,
492
+ Boolean = 16,
493
+ Array = 17,
494
+ Object = 18,
495
+ Key = 19,
496
+ Null = 20,
497
+ EnumMember = 21,
498
+ Struct = 22,
499
+ Event = 23,
500
+ Operator = 24,
501
+ TypeParameter = 25
502
+ }
503
+
504
+ export enum SymbolTag {
505
+ Deprecated = 1
506
+ }
507
+
508
+ export interface DocumentSymbol {
509
+ name: string;
510
+ detail: string;
511
+ kind: SymbolKind;
512
+ tags: ReadonlyArray<SymbolTag>;
513
+ containerName?: string;
514
+ range: Range;
515
+ selectionRange: Range;
516
+ children?: DocumentSymbol[];
517
+ }
518
+
519
+ export interface WorkspaceRootsChangeEvent {
520
+ roots: string[];
521
+ }
522
+
523
+ export interface WorkspaceFolder {
524
+ uri: UriComponents;
525
+ name: string;
526
+ index: number;
527
+ }
528
+
529
+ export interface Breakpoint {
530
+ readonly id: string;
531
+ readonly enabled: boolean;
532
+ readonly condition?: string;
533
+ readonly hitCondition?: string;
534
+ readonly logMessage?: string;
535
+ readonly location?: Location;
536
+ readonly functionName?: string;
537
+ }
538
+
539
+ export interface WorkspaceSymbolParams {
540
+ query: string
541
+ }
542
+
543
+ export interface FoldingContext {
544
+ }
545
+
546
+ export interface FoldingRange {
547
+ start: number;
548
+ end: number;
549
+ kind?: FoldingRangeKind;
550
+ }
551
+
552
+ export class FoldingRangeKind {
553
+ static readonly Comment = new FoldingRangeKind('comment');
554
+ static readonly Imports = new FoldingRangeKind('imports');
555
+ static readonly Region = new FoldingRangeKind('region');
556
+ public constructor(public value: string) { }
557
+ }
558
+
559
+ export interface SelectionRange {
560
+ range: Range;
561
+ }
562
+
563
+ export interface Color {
564
+ readonly red: number;
565
+ readonly green: number;
566
+ readonly blue: number;
567
+ readonly alpha: number;
568
+ }
569
+
570
+ export interface ColorPresentation {
571
+ label: string;
572
+ textEdit?: TextEdit;
573
+ additionalTextEdits?: TextEdit[];
574
+ }
575
+
576
+ export interface ColorInformation {
577
+ range: Range;
578
+ color: Color;
579
+ }
580
+
581
+ export interface DocumentColorProvider {
582
+ provideDocumentColors(model: monaco.editor.ITextModel): PromiseLike<ColorInformation[]>;
583
+ provideColorPresentations(model: monaco.editor.ITextModel, colorInfo: ColorInformation): PromiseLike<ColorPresentation[]>;
584
+ }
585
+
586
+ export interface Rejection {
587
+ rejectReason?: string;
588
+ }
589
+
590
+ export interface RenameLocation {
591
+ range: Range;
592
+ text: string;
593
+ }
594
+
595
+ export class HierarchyItem {
596
+ _sessionId?: string;
597
+ _itemId?: string;
598
+
599
+ kind: SymbolKind;
600
+ tags?: readonly SymbolTag[];
601
+ name: string;
602
+ detail?: string;
603
+ uri: UriComponents;
604
+ range: Range;
605
+ selectionRange: Range;
606
+ }
607
+
608
+ export class TypeHierarchyItem extends HierarchyItem { }
609
+
610
+ export interface CallHierarchyItem extends HierarchyItem {
611
+ data?: unknown;
612
+ }
613
+
614
+ export interface CallHierarchyIncomingCall {
615
+ from: CallHierarchyItem;
616
+ fromRanges: Range[];
617
+ }
618
+
619
+ export interface CallHierarchyOutgoingCall {
620
+ to: CallHierarchyItem;
621
+ fromRanges: Range[];
622
+ }
623
+
624
+ export interface LinkedEditingRanges {
625
+ ranges: Range[];
626
+ wordPattern?: SerializedRegExp;
627
+ }
628
+
629
+ export interface SearchInWorkspaceResult {
630
+ root: string;
631
+ fileUri: string;
632
+ matches: SearchMatch[];
633
+ }
634
+
635
+ export interface SearchMatch {
636
+ line: number;
637
+ character: number;
638
+ length: number;
639
+ lineText: string | LinePreview;
640
+
641
+ }
642
+ export interface LinePreview {
643
+ text: string;
644
+ character: number;
645
+ }
646
+
647
+ /**
648
+ * @deprecated Use {@link theia.AuthenticationSession} instead.
649
+ */
650
+ export interface AuthenticationSession extends theia.AuthenticationSession {
651
+ }
652
+
653
+ /**
654
+ * @deprecated Use {@link theia.AuthenticationProviderAuthenticationSessionsChangeEvent} instead.
655
+ */
656
+ export interface AuthenticationSessionsChangeEvent extends theia.AuthenticationProviderAuthenticationSessionsChangeEvent {
657
+ }
658
+
659
+ /**
660
+ * @deprecated Use {@link theia.AuthenticationProviderInformation} instead.
661
+ */
662
+ export interface AuthenticationProviderInformation extends theia.AuthenticationProviderInformation {
663
+ }
664
+
665
+ export interface CommentOptions {
666
+ /**
667
+ * An optional string to show on the comment input box when it's collapsed.
668
+ */
669
+ prompt?: string;
670
+
671
+ /**
672
+ * An optional string to show as placeholder in the comment input box when it's focused.
673
+ */
674
+ placeHolder?: string;
675
+ }
676
+
677
+ export enum CommentMode {
678
+ Editing = 0,
679
+ Preview = 1
680
+ }
681
+
682
+ export interface Comment {
683
+ readonly uniqueIdInThread: number;
684
+ readonly body: MarkdownStringDTO;
685
+ readonly userName: string;
686
+ readonly userIconPath?: string;
687
+ readonly contextValue?: string;
688
+ readonly label?: string;
689
+ readonly mode?: CommentMode;
690
+ /** Timestamp serialized as ISO date string via Date.prototype.toISOString */
691
+ readonly timestamp?: string;
692
+ }
693
+
694
+ export enum CommentThreadState {
695
+ Unresolved = 0,
696
+ Resolved = 1
697
+ }
698
+
699
+ export enum CommentThreadCollapsibleState {
700
+ /**
701
+ * Determines an item is collapsed
702
+ */
703
+ Collapsed = 0,
704
+ /**
705
+ * Determines an item is expanded
706
+ */
707
+ Expanded = 1
708
+ }
709
+
710
+ export interface CommentInput {
711
+ value: string;
712
+ uri: URI;
713
+ }
714
+
715
+ export interface CommentThread {
716
+ commentThreadHandle: number;
717
+ controllerHandle: number;
718
+ extensionId?: string;
719
+ threadId: string;
720
+ resource: string | null;
721
+ range: Range;
722
+ label: string | undefined;
723
+ contextValue: string | undefined;
724
+ comments: Comment[] | undefined;
725
+ onDidChangeComments: TheiaEvent<Comment[] | undefined>;
726
+ collapsibleState?: CommentThreadCollapsibleState;
727
+ state?: CommentThreadState;
728
+ input?: CommentInput;
729
+ onDidChangeInput: TheiaEvent<CommentInput | undefined>;
730
+ onDidChangeRange: TheiaEvent<Range>;
731
+ onDidChangeLabel: TheiaEvent<string | undefined>;
732
+ onDidChangeState: TheiaEvent<CommentThreadState | undefined>;
733
+ onDidChangeCollapsibleState: TheiaEvent<CommentThreadCollapsibleState | undefined>;
734
+ isDisposed: boolean;
735
+ canReply: boolean;
736
+ onDidChangeCanReply: TheiaEvent<boolean>;
737
+ }
738
+
739
+ export interface CommentThreadChangedEventMain extends CommentThreadChangedEvent {
740
+ owner: string;
741
+ }
742
+
743
+ export interface CommentThreadChangedEvent {
744
+ /**
745
+ * Added comment threads.
746
+ */
747
+ readonly added: CommentThread[];
748
+
749
+ /**
750
+ * Removed comment threads.
751
+ */
752
+ readonly removed: CommentThread[];
753
+
754
+ /**
755
+ * Changed comment threads.
756
+ */
757
+ readonly changed: CommentThread[];
758
+ }
759
+
760
+ export interface CommentingRanges {
761
+ readonly resource: URI;
762
+ ranges: Range[];
763
+ }
764
+
765
+ export interface CommentInfo {
766
+ extensionId?: string;
767
+ threads: CommentThread[];
768
+ commentingRanges: CommentingRanges;
769
+ }
770
+
771
+ export interface ProvidedTerminalLink extends theia.TerminalLink {
772
+ providerId: string
773
+ }
774
+
775
+ export interface InlayHintLabelPart {
776
+ label: string;
777
+ tooltip?: string | MarkdownStringDTO;
778
+ location?: Location;
779
+ command?: Command;
780
+ }
781
+
782
+ export interface InlayHint {
783
+ position: { lineNumber: number, column: number };
784
+ label: string | InlayHintLabelPart[];
785
+ tooltip?: string | MarkdownStringDTO | undefined;
786
+ kind?: InlayHintKind;
787
+ textEdits?: TextEdit[];
788
+ paddingLeft?: boolean;
789
+ paddingRight?: boolean;
790
+ }
791
+
792
+ export enum InlayHintKind {
793
+ Type = 1,
794
+ Parameter = 2,
795
+ }
796
+
797
+ export interface InlayHintsProvider {
798
+ onDidChangeInlayHints?: TheiaEvent<void> | undefined;
799
+ provideInlayHints(model: monaco.editor.ITextModel, range: Range, token: monaco.CancellationToken): InlayHint[] | undefined | Thenable<InlayHint[] | undefined>;
800
+ resolveInlayHint?(hint: InlayHint, token: monaco.CancellationToken): InlayHint[] | undefined | Thenable<InlayHint[] | undefined>;
801
+ }
802
+
803
+ /**
804
+ * How an {@link InlineCompletionsProvider inline completion provider} was triggered.
805
+ */
806
+ export enum InlineCompletionTriggerKind {
807
+ /**
808
+ * Completion was triggered automatically while editing.
809
+ * It is sufficient to return a single completion item in this case.
810
+ */
811
+ Automatic = 0,
812
+
813
+ /**
814
+ * Completion was triggered explicitly by a user gesture.
815
+ * Return multiple completion items to enable cycling through them.
816
+ */
817
+ Explicit = 1,
818
+ }
819
+
820
+ export interface InlineCompletionContext {
821
+ /**
822
+ * How the completion was triggered.
823
+ */
824
+ readonly triggerKind: InlineCompletionTriggerKind;
825
+
826
+ readonly selectedSuggestionInfo: SelectedSuggestionInfo | undefined;
827
+ }
828
+
829
+ export interface SelectedSuggestionInfo {
830
+ range: Range;
831
+ text: string;
832
+ isSnippetText: boolean;
833
+ completionKind: CompletionItemKind;
834
+ }
835
+
836
+ export interface InlineCompletion {
837
+ /**
838
+ * The text to insert.
839
+ * If the text contains a line break, the range must end at the end of a line.
840
+ * If existing text should be replaced, the existing text must be a prefix of the text to insert.
841
+ *
842
+ * The text can also be a snippet. In that case, a preview with default parameters is shown.
843
+ * When accepting the suggestion, the full snippet is inserted.
844
+ */
845
+ readonly insertText: string | { snippet: string };
846
+
847
+ /**
848
+ * A text that is used to decide if this inline completion should be shown.
849
+ * An inline completion is shown if the text to replace is a subword of the filter text.
850
+ */
851
+ readonly filterText?: string;
852
+
853
+ /**
854
+ * An optional array of additional text edits that are applied when
855
+ * selecting this completion. Edits must not overlap with the main edit
856
+ * nor with themselves.
857
+ */
858
+ readonly additionalTextEdits?: SingleEditOperation[];
859
+
860
+ /**
861
+ * The range to replace.
862
+ * Must begin and end on the same line.
863
+ */
864
+ readonly range?: Range;
865
+
866
+ readonly command?: Command;
867
+
868
+ /**
869
+ * If set to `true`, unopened closing brackets are removed and unclosed opening brackets are closed.
870
+ * Defaults to `false`.
871
+ */
872
+ readonly completeBracketPairs?: boolean;
873
+ }
874
+
875
+ export interface InlineCompletions<TItem extends InlineCompletion = InlineCompletion> {
876
+ readonly items: readonly TItem[];
877
+ }
878
+
879
+ export interface InlineCompletionsProvider<T extends InlineCompletions = InlineCompletions> {
880
+ provideInlineCompletions(
881
+ model: monaco.editor.ITextModel,
882
+ position: monaco.Position,
883
+ context: InlineCompletionContext,
884
+ token: monaco.CancellationToken
885
+ ): T[] | undefined | Thenable<T[] | undefined>;
886
+
887
+ /**
888
+ * Will be called when an item is shown.
889
+ */
890
+ handleItemDidShow?(completions: T, item: T['items'][number]): void;
891
+
892
+ /**
893
+ * Will be called when a completions list is no longer in use and can be garbage-collected.
894
+ */
895
+ freeInlineCompletions(completions: T): void;
896
+ }
897
+
898
+ export interface DebugStackFrameDTO {
899
+ readonly sessionId: string,
900
+ readonly frameId: number,
901
+ readonly threadId: number
902
+ }
903
+
904
+ export interface DebugThreadDTO {
905
+ readonly sessionId: string,
906
+ readonly threadId: number
907
+ }