@theia/plugin-ext 1.53.0-next.4 → 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.
- package/README.md +54 -54
- package/lib/common/plugin-api-rpc.d.ts +19 -4
- package/lib/common/plugin-api-rpc.d.ts.map +1 -1
- package/lib/common/plugin-api-rpc.js +4 -2
- package/lib/common/plugin-api-rpc.js.map +1 -1
- package/lib/common/rpc-protocol.d.ts +14 -13
- package/lib/common/rpc-protocol.d.ts.map +1 -1
- package/lib/common/rpc-protocol.js +56 -53
- package/lib/common/rpc-protocol.js.map +1 -1
- package/lib/hosted/browser/hosted-plugin.d.ts +1 -0
- package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
- package/lib/hosted/browser/hosted-plugin.js +22 -12
- package/lib/hosted/browser/hosted-plugin.js.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.js +13 -1
- package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
- package/lib/main/browser/authentication-main.d.ts +6 -5
- package/lib/main/browser/authentication-main.d.ts.map +1 -1
- package/lib/main/browser/authentication-main.js +15 -9
- package/lib/main/browser/authentication-main.js.map +1 -1
- package/lib/main/browser/custom-editors/custom-editor-opener.d.ts +9 -3
- package/lib/main/browser/custom-editors/custom-editor-opener.d.ts.map +1 -1
- package/lib/main/browser/custom-editors/custom-editor-opener.js +120 -31
- package/lib/main/browser/custom-editors/custom-editor-opener.js.map +1 -1
- package/lib/main/browser/custom-editors/custom-editor-widget.d.ts +7 -4
- package/lib/main/browser/custom-editors/custom-editor-widget.d.ts.map +1 -1
- package/lib/main/browser/custom-editors/custom-editor-widget.js +21 -7
- package/lib/main/browser/custom-editors/custom-editor-widget.js.map +1 -1
- package/lib/main/browser/custom-editors/custom-editors-main.d.ts +3 -4
- package/lib/main/browser/custom-editors/custom-editors-main.d.ts.map +1 -1
- package/lib/main/browser/custom-editors/custom-editors-main.js +5 -55
- package/lib/main/browser/custom-editors/custom-editors-main.js.map +1 -1
- package/lib/main/browser/custom-editors/plugin-custom-editor-registry.d.ts +4 -3
- package/lib/main/browser/custom-editors/plugin-custom-editor-registry.d.ts.map +1 -1
- package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js +24 -16
- package/lib/main/browser/custom-editors/plugin-custom-editor-registry.js.map +1 -1
- package/lib/main/browser/main-context.d.ts.map +1 -1
- package/lib/main/browser/main-context.js +3 -0
- package/lib/main/browser/main-context.js.map +1 -1
- package/lib/main/browser/menus/menus-contribution-handler.d.ts.map +1 -1
- package/lib/main/browser/menus/menus-contribution-handler.js +1 -1
- package/lib/main/browser/menus/menus-contribution-handler.js.map +1 -1
- package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts +1 -0
- package/lib/main/browser/menus/plugin-menu-command-adapter.d.ts.map +1 -1
- package/lib/main/browser/menus/plugin-menu-command-adapter.js +22 -1
- package/lib/main/browser/menus/plugin-menu-command-adapter.js.map +1 -1
- package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts +2 -2
- package/lib/main/browser/menus/vscode-theia-menu-mappings.d.ts.map +1 -1
- package/lib/main/browser/menus/vscode-theia-menu-mappings.js +2 -0
- package/lib/main/browser/menus/vscode-theia-menu-mappings.js.map +1 -1
- package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js +1 -1
- package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js.map +1 -1
- package/lib/main/browser/notebooks/notebook-documents-main.d.ts.map +1 -1
- package/lib/main/browser/notebooks/notebook-documents-main.js +22 -3
- package/lib/main/browser/notebooks/notebook-documents-main.js.map +1 -1
- package/lib/main/browser/notebooks/notebook-editors-main.d.ts +1 -1
- package/lib/main/browser/notebooks/notebook-editors-main.d.ts.map +1 -1
- package/lib/main/browser/notebooks/notebook-editors-main.js +16 -2
- package/lib/main/browser/notebooks/notebook-editors-main.js.map +1 -1
- package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts +1 -1
- package/lib/main/browser/notebooks/renderers/cell-output-webview.d.ts.map +1 -1
- package/lib/main/browser/notebooks/renderers/cell-output-webview.js +152 -77
- package/lib/main/browser/notebooks/renderers/cell-output-webview.js.map +1 -1
- package/lib/main/browser/notebooks/renderers/output-webview-internal.d.ts.map +1 -1
- package/lib/main/browser/notebooks/renderers/output-webview-internal.js +38 -19
- package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
- package/lib/main/browser/plugin-ext-frontend-module.d.ts.map +1 -1
- package/lib/main/browser/plugin-ext-frontend-module.js +18 -0
- package/lib/main/browser/plugin-ext-frontend-module.js.map +1 -1
- package/lib/main/browser/plugin-icon-theme-service.js +20 -20
- package/lib/main/browser/plugin-shared-style.js +14 -14
- package/lib/main/browser/uri-main.d.ts +16 -0
- package/lib/main/browser/uri-main.d.ts.map +1 -0
- package/lib/main/browser/uri-main.js +64 -0
- package/lib/main/browser/uri-main.js.map +1 -0
- package/lib/main/browser/view/plugin-view-registry.js +3 -3
- package/lib/main/browser/webview/webview-frontend-security-warnings.js +2 -2
- package/lib/main/browser/webview/webview-secondary-window-support.js +10 -10
- package/lib/main/browser/webview/webview.d.ts +1 -3
- package/lib/main/browser/webview/webview.d.ts.map +1 -1
- package/lib/main/browser/webview/webview.js +5 -4
- package/lib/main/browser/webview/webview.js.map +1 -1
- package/lib/main/browser/webviews-main.d.ts.map +1 -1
- package/lib/main/browser/webviews-main.js +6 -1
- package/lib/main/browser/webviews-main.js.map +1 -1
- package/lib/main/browser/workspace-main.d.ts +2 -0
- package/lib/main/browser/workspace-main.d.ts.map +1 -1
- package/lib/main/node/plugin-service.d.ts +1 -1
- package/lib/main/node/webview-backend-security-warnings.js +6 -6
- package/lib/plugin/authentication-ext.d.ts +3 -2
- package/lib/plugin/authentication-ext.d.ts.map +1 -1
- package/lib/plugin/authentication-ext.js +8 -5
- package/lib/plugin/authentication-ext.js.map +1 -1
- package/lib/plugin/custom-editors.d.ts +2 -4
- package/lib/plugin/custom-editors.d.ts.map +1 -1
- package/lib/plugin/custom-editors.js +5 -7
- package/lib/plugin/custom-editors.js.map +1 -1
- package/lib/plugin/env.d.ts +2 -0
- package/lib/plugin/env.d.ts.map +1 -1
- package/lib/plugin/env.js +4 -1
- package/lib/plugin/env.js.map +1 -1
- package/lib/plugin/known-commands.d.ts.map +1 -1
- package/lib/plugin/known-commands.js +1 -0
- package/lib/plugin/known-commands.js.map +1 -1
- package/lib/plugin/languages.d.ts +1 -0
- package/lib/plugin/languages.d.ts.map +1 -1
- package/lib/plugin/notebook/notebook-kernels.d.ts +2 -0
- package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
- package/lib/plugin/plugin-context.d.ts.map +1 -1
- package/lib/plugin/plugin-context.js +17 -6
- package/lib/plugin/plugin-context.js.map +1 -1
- package/lib/plugin/plugin-manager.d.ts.map +1 -1
- package/lib/plugin/plugin-manager.js +2 -1
- package/lib/plugin/plugin-manager.js.map +1 -1
- package/lib/plugin/scm.d.ts +1 -0
- package/lib/plugin/scm.d.ts.map +1 -1
- package/lib/plugin/terminal-ext.d.ts +3 -0
- package/lib/plugin/terminal-ext.d.ts.map +1 -1
- package/lib/plugin/terminal-ext.js +2 -0
- package/lib/plugin/terminal-ext.js.map +1 -1
- package/lib/plugin/type-converters.d.ts +6 -0
- package/lib/plugin/type-converters.d.ts.map +1 -1
- package/lib/plugin/type-converters.js +24 -3
- package/lib/plugin/type-converters.js.map +1 -1
- package/lib/plugin/types-impl.d.ts +8 -2
- package/lib/plugin/types-impl.d.ts.map +1 -1
- package/lib/plugin/types-impl.js +9 -1
- package/lib/plugin/types-impl.js.map +1 -1
- package/lib/plugin/uri-ext.d.ts +37 -0
- package/lib/plugin/uri-ext.d.ts.map +1 -0
- package/lib/plugin/uri-ext.js +50 -0
- package/lib/plugin/uri-ext.js.map +1 -0
- package/lib/plugin/webviews.js +1 -1
- package/lib/plugin/webviews.js.map +1 -1
- package/lib/plugin/workspace.d.ts +4 -0
- package/lib/plugin/workspace.d.ts.map +1 -1
- package/package.json +29 -29
- package/src/common/arrays.ts +70 -70
- package/src/common/assert.ts +23 -23
- package/src/common/cache.ts +51 -51
- package/src/common/character-classifier.ts +73 -73
- package/src/common/collections.ts +54 -54
- package/src/common/commands.ts +19 -19
- package/src/common/connection.ts +137 -137
- package/src/common/disposable-util.ts +39 -39
- package/src/common/editor-options.ts +74 -74
- package/src/common/env.ts +19 -19
- package/src/common/errors.ts +63 -63
- package/src/common/id-generator.ts +26 -26
- package/src/common/index.ts +24 -24
- package/src/common/language-pack-service.ts +34 -34
- package/src/common/link-computer.ts +354 -354
- package/src/common/object-identifier.ts +33 -33
- package/src/common/objects.ts +50 -50
- package/src/common/paths-util.ts +158 -158
- package/src/common/plugin-api-rpc-model.ts +907 -907
- package/src/common/plugin-api-rpc.ts +2752 -2738
- package/src/common/plugin-ext-api-contribution.ts +115 -115
- package/src/common/plugin-identifiers.ts +84 -84
- package/src/common/plugin-protocol.ts +1094 -1094
- package/src/common/reference-map.ts +38 -38
- package/src/common/rpc-protocol.ts +306 -310
- package/src/common/semantic-tokens-dto.ts +182 -182
- package/src/common/test-types.ts +154 -154
- package/src/common/types.ts +129 -129
- package/src/common/uint.ts +37 -37
- package/src/common/uri-components.ts +81 -81
- package/src/hosted/browser/hosted-plugin-watcher.ts +54 -54
- package/src/hosted/browser/hosted-plugin.ts +635 -624
- package/src/hosted/browser/plugin-worker.ts +52 -52
- package/src/hosted/browser/worker/debug-stub.ts +29 -29
- package/src/hosted/browser/worker/plugin-manifest-loader.ts +114 -114
- package/src/hosted/browser/worker/worker-env-ext.ts +40 -40
- package/src/hosted/browser/worker/worker-main.ts +212 -212
- package/src/hosted/browser/worker/worker-plugin-module.ts +80 -80
- package/src/hosted/common/hosted-plugin.ts +456 -456
- package/src/hosted/node/hosted-plugin-cli-contribution.ts +75 -75
- package/src/hosted/node/hosted-plugin-deployer-handler.ts +274 -274
- package/src/hosted/node/hosted-plugin-localization-service.ts +410 -410
- package/src/hosted/node/hosted-plugin-process.ts +248 -248
- package/src/hosted/node/hosted-plugin-protocol.ts +49 -49
- package/src/hosted/node/hosted-plugin.ts +116 -116
- package/src/hosted/node/metadata-scanner.ts +64 -64
- package/src/hosted/node/plugin-activation-events.ts +112 -112
- package/src/hosted/node/plugin-ext-hosted-backend-module.ts +94 -94
- package/src/hosted/node/plugin-host-module.ts +69 -69
- package/src/hosted/node/plugin-host-proxy.ts +82 -82
- package/src/hosted/node/plugin-host-rpc.ts +377 -377
- package/src/hosted/node/plugin-host.ts +110 -110
- package/src/hosted/node/plugin-language-pack-service.ts +43 -43
- package/src/hosted/node/plugin-manifest-loader.ts +32 -32
- package/src/hosted/node/plugin-reader.ts +136 -136
- package/src/hosted/node/plugin-service.ts +197 -197
- package/src/hosted/node/scanners/backend-init-theia.ts +71 -71
- package/src/hosted/node/scanners/file-plugin-uri-factory.ts +32 -32
- package/src/hosted/node/scanners/grammars-reader.ts +57 -57
- package/src/hosted/node/scanners/plugin-uri-factory.ts +33 -33
- package/src/hosted/node/scanners/scanner-theia.ts +963 -952
- package/src/hosted/node-electron/plugin-ext-hosted-electron-backend-module.ts +26 -26
- package/src/hosted/node-electron/scanner-theia-electron.ts +32 -32
- package/src/main/browser/authentication-main.ts +401 -388
- package/src/main/browser/clipboard-main.ts +38 -38
- package/src/main/browser/command-registry-main.ts +130 -130
- package/src/main/browser/commands.ts +104 -104
- package/src/main/browser/comments/comment-glyph-widget.ts +66 -66
- package/src/main/browser/comments/comment-thread-widget.tsx +696 -696
- package/src/main/browser/comments/comments-context-key-service.ts +68 -68
- package/src/main/browser/comments/comments-contribution.ts +268 -268
- package/src/main/browser/comments/comments-decorator.ts +110 -110
- package/src/main/browser/comments/comments-main.ts +482 -482
- package/src/main/browser/comments/comments-service.ts +205 -205
- package/src/main/browser/custom-editors/custom-editor-opener.tsx +205 -105
- package/src/main/browser/custom-editors/custom-editor-service.ts +108 -108
- package/src/main/browser/custom-editors/custom-editor-undo-redo-handler.ts +41 -41
- package/src/main/browser/custom-editors/custom-editor-widget-factory.ts +44 -44
- package/src/main/browser/custom-editors/custom-editor-widget.ts +127 -118
- package/src/main/browser/custom-editors/custom-editors-main.ts +526 -585
- package/src/main/browser/custom-editors/plugin-custom-editor-registry.ts +126 -120
- package/src/main/browser/data-transfer/data-transfer-type-converters.ts +68 -68
- package/src/main/browser/debug/debug-main.ts +397 -397
- package/src/main/browser/debug/plugin-debug-adapter-contribution.ts +48 -48
- package/src/main/browser/debug/plugin-debug-configuration-provider.ts +63 -63
- package/src/main/browser/debug/plugin-debug-service.ts +427 -427
- package/src/main/browser/debug/plugin-debug-session-contribution-registry.ts +76 -76
- package/src/main/browser/debug/plugin-debug-session-factory.ts +115 -115
- package/src/main/browser/decorations/decorations-main.ts +146 -146
- package/src/main/browser/dialogs/modal-notification.ts +112 -112
- package/src/main/browser/dialogs/style/modal-notification.css +123 -123
- package/src/main/browser/dialogs-main.ts +185 -185
- package/src/main/browser/documents-main.ts +275 -275
- package/src/main/browser/editors-and-documents-main.ts +425 -425
- package/src/main/browser/env-main.ts +60 -60
- package/src/main/browser/file-system-main-impl.ts +267 -267
- package/src/main/browser/hierarchy/hierarchy-types-converters.ts +189 -189
- package/src/main/browser/keybindings/keybindings-contribution-handler.ts +66 -66
- package/src/main/browser/label-service-main.ts +51 -51
- package/src/main/browser/languages-main.ts +1439 -1439
- package/src/main/browser/localization-main.ts +34 -34
- package/src/main/browser/main-context.ts +210 -206
- package/src/main/browser/main-file-system-event-service.ts +76 -76
- package/src/main/browser/menus/menus-contribution-handler.ts +172 -171
- package/src/main/browser/menus/plugin-menu-command-adapter.ts +358 -337
- package/src/main/browser/menus/vscode-theia-menu-mappings.ts +118 -116
- package/src/main/browser/message-registry-main.ts +43 -43
- package/src/main/browser/notebooks/notebook-documents-and-editors-main.ts +249 -249
- package/src/main/browser/notebooks/notebook-documents-main.ts +202 -182
- package/src/main/browser/notebooks/notebook-dto.ts +131 -131
- package/src/main/browser/notebooks/notebook-editors-main.ts +88 -75
- package/src/main/browser/notebooks/notebook-kernels-main.ts +339 -339
- package/src/main/browser/notebooks/notebook-renderers-main.ts +47 -47
- package/src/main/browser/notebooks/notebooks-main.ts +164 -164
- package/src/main/browser/notebooks/renderers/cell-output-webview.tsx +452 -375
- package/src/main/browser/notebooks/renderers/output-webview-internal.ts +636 -613
- package/src/main/browser/notebooks/renderers/webview-communication.ts +107 -107
- package/src/main/browser/notification-main.ts +26 -26
- package/src/main/browser/output-channel-registry-main.ts +53 -53
- package/src/main/browser/plugin-authentication-service.ts +71 -71
- package/src/main/browser/plugin-contribution-handler.ts +698 -698
- package/src/main/browser/plugin-ext-frontend-module.ts +291 -272
- package/src/main/browser/plugin-ext-widget.tsx +132 -132
- package/src/main/browser/plugin-frontend-contribution.ts +70 -70
- package/src/main/browser/plugin-frontend-view-contribution.ts +38 -38
- package/src/main/browser/plugin-icon-service.ts +92 -92
- package/src/main/browser/plugin-icon-theme-service.ts +625 -625
- package/src/main/browser/plugin-shared-style.ts +154 -154
- package/src/main/browser/plugin-storage.ts +55 -55
- package/src/main/browser/plugin-terminal-registry.ts +27 -27
- package/src/main/browser/preference-registry-main.ts +123 -123
- package/src/main/browser/quick-open-main.ts +367 -367
- package/src/main/browser/scm-main.ts +472 -472
- package/src/main/browser/secrets-main.ts +82 -82
- package/src/main/browser/selection-provider-command.ts +45 -45
- package/src/main/browser/status-bar-message-registry-main.ts +90 -90
- package/src/main/browser/style/comments.css +345 -345
- package/src/main/browser/style/index.css +84 -84
- package/src/main/browser/style/plugin-sidebar.css +73 -73
- package/src/main/browser/style/tree.css +54 -54
- package/src/main/browser/style/webview.css +55 -55
- package/src/main/browser/tabs/tabs-main.ts +384 -384
- package/src/main/browser/tasks-main.ts +268 -268
- package/src/main/browser/terminal-main.ts +370 -370
- package/src/main/browser/test-main.ts +632 -632
- package/src/main/browser/text-editor-main.ts +478 -478
- package/src/main/browser/text-editor-model-service.ts +111 -111
- package/src/main/browser/text-editors-main.ts +234 -234
- package/src/main/browser/theme-icon-override.ts +246 -246
- package/src/main/browser/theming-main.ts +42 -42
- package/src/main/browser/timeline-main.ts +80 -80
- package/src/main/browser/uri-main.ts +72 -0
- package/src/main/browser/view/dnd-file-content-store.ts +42 -42
- package/src/main/browser/view/plugin-tree-view-node-label-provider.ts +81 -81
- package/src/main/browser/view/plugin-view-registry.ts +967 -967
- package/src/main/browser/view/plugin-view-widget.ts +221 -221
- package/src/main/browser/view/tree-view-decorator-service.ts +51 -51
- package/src/main/browser/view/tree-view-widget.tsx +931 -931
- package/src/main/browser/view/tree-views-main.ts +205 -205
- package/src/main/browser/view/view-context-key-service.ts +64 -64
- package/src/main/browser/webview/pre/fake.html +14 -14
- package/src/main/browser/webview/pre/host.js +130 -130
- package/src/main/browser/webview/pre/index.html +17 -17
- package/src/main/browser/webview/pre/main.js +682 -682
- package/src/main/browser/webview/pre/service-worker.js +296 -295
- package/src/main/browser/webview/webview-context-keys.ts +62 -62
- package/src/main/browser/webview/webview-environment.ts +87 -87
- package/src/main/browser/webview/webview-frontend-security-warnings.ts +59 -59
- package/src/main/browser/webview/webview-preferences.ts +72 -72
- package/src/main/browser/webview/webview-resource-cache.ts +88 -88
- package/src/main/browser/webview/webview-secondary-window-support.ts +47 -47
- package/src/main/browser/webview/webview-theme-data-provider.ts +124 -124
- package/src/main/browser/webview/webview.ts +718 -719
- package/src/main/browser/webview-views/webview-views-main.ts +154 -154
- package/src/main/browser/webview-views/webview-views.ts +43 -43
- package/src/main/browser/webviews-main.ts +287 -282
- package/src/main/browser/window-activity-tracker.ts +96 -96
- package/src/main/browser/window-state-main.ts +85 -85
- package/src/main/browser/workspace-main.ts +424 -424
- package/src/main/common/basic-message-registry-main.ts +53 -53
- package/src/main/common/basic-notification-main.ts +86 -86
- package/src/main/common/env-main.ts +44 -44
- package/src/main/common/plugin-paths-protocol.ts +26 -26
- package/src/main/common/plugin-theia-environment.ts +36 -36
- package/src/main/common/webview-protocol.ts +28 -28
- package/src/main/electron-browser/plugin-ext-frontend-electron-module.ts +25 -25
- package/src/main/electron-browser/webview/electron-webview-widget-factory.ts +59 -59
- package/src/main/node/errors.spec.ts +37 -37
- package/src/main/node/handlers/plugin-theia-directory-handler.ts +137 -137
- package/src/main/node/handlers/plugin-theia-file-handler.ts +66 -66
- package/src/main/node/paths/const.ts +21 -21
- package/src/main/node/paths/plugin-paths-service.ts +163 -163
- package/src/main/node/plugin-cli-contribution.ts +85 -85
- package/src/main/node/plugin-deployer-contribution.ts +35 -35
- package/src/main/node/plugin-deployer-directory-handler-context-impl.ts +45 -45
- package/src/main/node/plugin-deployer-entry-impl.ts +132 -132
- package/src/main/node/plugin-deployer-file-handler-context-impl.ts +33 -33
- package/src/main/node/plugin-deployer-impl.ts +375 -375
- package/src/main/node/plugin-deployer-proxy-entry-impl.ts +96 -96
- package/src/main/node/plugin-deployer-resolver-context-impl.ts +55 -55
- package/src/main/node/plugin-ext-backend-module.ts +106 -106
- package/src/main/node/plugin-github-resolver.ts +139 -139
- package/src/main/node/plugin-http-resolver.ts +92 -92
- package/src/main/node/plugin-localization-server.ts +42 -42
- package/src/main/node/plugin-mgmt-cli-contribution.ts +64 -64
- package/src/main/node/plugin-remote-cli-contribution.ts +36 -36
- package/src/main/node/plugin-remote-copy-contribution.ts +36 -36
- package/src/main/node/plugin-server-handler.ts +69 -69
- package/src/main/node/plugin-service.ts +97 -97
- package/src/main/node/plugin-theia-deployer-participant.ts +32 -32
- package/src/main/node/plugin-uninstallation-manager.ts +74 -74
- package/src/main/node/plugins-key-value-storage.spec.ts +110 -110
- package/src/main/node/plugins-key-value-storage.ts +161 -161
- package/src/main/node/resolvers/local-directory-plugin-deployer-resolver.ts +37 -37
- package/src/main/node/resolvers/local-plugin-deployer-resolver.ts +56 -56
- package/src/main/node/temp-dir-util.ts +36 -36
- package/src/main/node/webview-backend-security-warnings.ts +45 -45
- package/src/main/style/status-bar.css +35 -35
- package/src/plugin/authentication-ext.ts +140 -136
- package/src/plugin/clipboard-ext.ts +43 -43
- package/src/plugin/command-registry.ts +219 -219
- package/src/plugin/comments.ts +549 -549
- package/src/plugin/custom-editors.ts +334 -336
- package/src/plugin/debug/debug-ext.ts +549 -549
- package/src/plugin/debug/plugin-debug-adapter-creator.ts +50 -50
- package/src/plugin/debug/plugin-debug-adapter-session.ts +106 -106
- package/src/plugin/debug/plugin-debug-adapter-tracker.ts +85 -85
- package/src/plugin/decorations.ts +140 -140
- package/src/plugin/dialogs.ts +96 -96
- package/src/plugin/document-data.ts +366 -366
- package/src/plugin/documents.ts +283 -283
- package/src/plugin/editors-and-documents.ts +176 -176
- package/src/plugin/env.ts +134 -129
- package/src/plugin/file-system-event-service-ext-impl.ts +256 -256
- package/src/plugin/file-system-ext-impl.ts +415 -415
- package/src/plugin/known-commands.spec.ts +50 -50
- package/src/plugin/known-commands.ts +429 -428
- package/src/plugin/label-service.ts +36 -36
- package/src/plugin/languages/call-hierarchy.ts +124 -124
- package/src/plugin/languages/code-action.ts +162 -162
- package/src/plugin/languages/color.ts +75 -75
- package/src/plugin/languages/completion.ts +183 -183
- package/src/plugin/languages/declaration.ts +72 -72
- package/src/plugin/languages/definition.ts +73 -73
- package/src/plugin/languages/diagnostics.ts +325 -325
- package/src/plugin/languages/document-drop-edit.ts +44 -44
- package/src/plugin/languages/document-formatting.ts +47 -47
- package/src/plugin/languages/document-highlight.ts +61 -61
- package/src/plugin/languages/evaluatable-expression.ts +47 -47
- package/src/plugin/languages/folding.ts +46 -46
- package/src/plugin/languages/hover.ts +58 -58
- package/src/plugin/languages/implementation.ts +73 -73
- package/src/plugin/languages/inlay-hints.ts +149 -149
- package/src/plugin/languages/inline-completion.ts +126 -126
- package/src/plugin/languages/inline-values.ts +50 -50
- package/src/plugin/languages/lens.ts +102 -102
- package/src/plugin/languages/link-provider.ts +81 -81
- package/src/plugin/languages/linked-editing-range.ts +48 -48
- package/src/plugin/languages/on-type-formatting.ts +50 -50
- package/src/plugin/languages/outline.ts +126 -126
- package/src/plugin/languages/range-formatting.ts +48 -48
- package/src/plugin/languages/reference.ts +58 -58
- package/src/plugin/languages/rename.ts +130 -130
- package/src/plugin/languages/selection-range.ts +80 -80
- package/src/plugin/languages/semantic-highlighting.ts +211 -211
- package/src/plugin/languages/signature.ts +82 -82
- package/src/plugin/languages/type-definition.ts +73 -73
- package/src/plugin/languages/type-hierarchy.ts +117 -117
- package/src/plugin/languages/util.ts +26 -26
- package/src/plugin/languages/workspace-symbol.ts +66 -66
- package/src/plugin/languages-utils.ts +68 -68
- package/src/plugin/languages.ts +1022 -1022
- package/src/plugin/localization-ext.ts +89 -89
- package/src/plugin/markdown-string.ts +115 -115
- package/src/plugin/message-registry.ts +70 -70
- package/src/plugin/node/debug/debug.spec.ts +98 -98
- package/src/plugin/node/debug/plugin-node-debug-adapter-creator.ts +167 -167
- package/src/plugin/node/env-node-ext.ts +64 -64
- package/src/plugin/node/plugin-container-module.ts +165 -165
- package/src/plugin/notebook/notebook-document.ts +446 -446
- package/src/plugin/notebook/notebook-documents.ts +58 -58
- package/src/plugin/notebook/notebook-editor.ts +116 -116
- package/src/plugin/notebook/notebook-editors.ts +71 -71
- package/src/plugin/notebook/notebook-kernels.ts +631 -631
- package/src/plugin/notebook/notebook-renderers.ts +71 -71
- package/src/plugin/notebook/notebooks.ts +449 -449
- package/src/plugin/notification.ts +80 -80
- package/src/plugin/output-channel/log-output-channel.ts +108 -108
- package/src/plugin/output-channel/output-channel-item.ts +73 -73
- package/src/plugin/output-channel-registry.ts +52 -52
- package/src/plugin/path.spec.ts +40 -40
- package/src/plugin/path.ts +68 -68
- package/src/plugin/plugin-context.ts +1606 -1595
- package/src/plugin/plugin-icon-path.ts +53 -53
- package/src/plugin/plugin-manager.ts +508 -507
- package/src/plugin/plugin-storage.ts +138 -138
- package/src/plugin/preference-registry.spec.ts +288 -288
- package/src/plugin/preference-registry.ts +335 -335
- package/src/plugin/prefix-sum-computer.ts +218 -218
- package/src/plugin/quick-open.ts +735 -735
- package/src/plugin/scm.ts +919 -919
- package/src/plugin/secrets-ext.ts +104 -104
- package/src/plugin/status-bar/status-bar-item.ts +193 -193
- package/src/plugin/status-bar-message-registry.ts +103 -103
- package/src/plugin/tabs.ts +431 -431
- package/src/plugin/tasks/task-provider.ts +57 -57
- package/src/plugin/tasks/tasks.ts +252 -252
- package/src/plugin/telemetry-ext.ts +298 -298
- package/src/plugin/terminal-ext.ts +569 -566
- package/src/plugin/test-item.ts +174 -174
- package/src/plugin/tests.ts +545 -545
- package/src/plugin/text-editor.ts +581 -581
- package/src/plugin/text-editors.ts +157 -157
- package/src/plugin/theming.ts +73 -73
- package/src/plugin/timeline.ts +186 -186
- package/src/plugin/tree/tree-views.ts +682 -682
- package/src/plugin/type-converters.spec.ts +476 -476
- package/src/plugin/type-converters.ts +1768 -1748
- package/src/plugin/types-impl.spec.ts +85 -85
- package/src/plugin/types-impl.ts +4011 -4001
- package/src/plugin/uri-ext.ts +60 -0
- package/src/plugin/webview-views.ts +228 -228
- package/src/plugin/webviews.ts +468 -468
- package/src/plugin/window-state.ts +75 -75
- package/src/plugin/word-helper.ts +162 -162
- package/src/plugin/workspace.ts +505 -505
- package/src/plugin-ext-backend-electron-module.ts +24 -24
- package/src/plugin-ext-backend-module.ts +24 -24
- package/src/plugin-ext-frontend-electron-module.ts +19 -19
- package/src/plugin-ext-frontend-module.ts +19 -19
- package/lib/common/proxy-handler.d.ts +0 -73
- package/lib/common/proxy-handler.d.ts.map +0 -1
- package/lib/common/proxy-handler.js +0 -106
- package/lib/common/proxy-handler.js.map +0 -1
- package/src/common/proxy-handler.ts +0 -143
|
@@ -1,76 +1,76 @@
|
|
|
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 { DebugSessionContributionRegistry, DebugSessionContribution } from '@theia/debug/lib/browser/debug-session-contribution';
|
|
18
|
-
import { injectable, inject, named, postConstruct } from '@theia/core/shared/inversify';
|
|
19
|
-
import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
|
|
20
|
-
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Debug session contribution registrator.
|
|
24
|
-
*/
|
|
25
|
-
export interface PluginDebugSessionContributionRegistrator {
|
|
26
|
-
/**
|
|
27
|
-
* Registers [DebugSessionContribution](#DebugSessionContribution).
|
|
28
|
-
* @param contrib contribution
|
|
29
|
-
*/
|
|
30
|
-
registerDebugSessionContribution(contrib: DebugSessionContribution): Disposable;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Unregisters [DebugSessionContribution](#DebugSessionContribution).
|
|
34
|
-
* @param debugType the debug type
|
|
35
|
-
*/
|
|
36
|
-
unregisterDebugSessionContribution(debugType: string): void;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Plugin debug session contribution registry implementation with functionality
|
|
41
|
-
* to register / unregister plugin contributions.
|
|
42
|
-
*/
|
|
43
|
-
@injectable()
|
|
44
|
-
export class PluginDebugSessionContributionRegistry implements DebugSessionContributionRegistry, PluginDebugSessionContributionRegistrator {
|
|
45
|
-
protected readonly contribs = new Map<string, DebugSessionContribution>();
|
|
46
|
-
|
|
47
|
-
@inject(ContributionProvider) @named(DebugSessionContribution)
|
|
48
|
-
protected readonly contributions: ContributionProvider<DebugSessionContribution>;
|
|
49
|
-
|
|
50
|
-
@postConstruct()
|
|
51
|
-
protected init(): void {
|
|
52
|
-
for (const contrib of this.contributions.getContributions()) {
|
|
53
|
-
this.contribs.set(contrib.debugType, contrib);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
get(debugType: string): DebugSessionContribution | undefined {
|
|
58
|
-
return this.contribs.get(debugType);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
registerDebugSessionContribution(contrib: DebugSessionContribution): Disposable {
|
|
62
|
-
const { debugType } = contrib;
|
|
63
|
-
|
|
64
|
-
if (this.contribs.has(debugType)) {
|
|
65
|
-
console.warn(`Debug session contribution already registered for ${debugType}`);
|
|
66
|
-
return Disposable.NULL;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
this.contribs.set(debugType, contrib);
|
|
70
|
-
return Disposable.create(() => this.unregisterDebugSessionContribution(debugType));
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
unregisterDebugSessionContribution(debugType: string): void {
|
|
74
|
-
this.contribs.delete(debugType);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
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 { DebugSessionContributionRegistry, DebugSessionContribution } from '@theia/debug/lib/browser/debug-session-contribution';
|
|
18
|
+
import { injectable, inject, named, postConstruct } from '@theia/core/shared/inversify';
|
|
19
|
+
import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
|
|
20
|
+
import { Disposable } from '@theia/core/lib/common/disposable';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Debug session contribution registrator.
|
|
24
|
+
*/
|
|
25
|
+
export interface PluginDebugSessionContributionRegistrator {
|
|
26
|
+
/**
|
|
27
|
+
* Registers [DebugSessionContribution](#DebugSessionContribution).
|
|
28
|
+
* @param contrib contribution
|
|
29
|
+
*/
|
|
30
|
+
registerDebugSessionContribution(contrib: DebugSessionContribution): Disposable;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Unregisters [DebugSessionContribution](#DebugSessionContribution).
|
|
34
|
+
* @param debugType the debug type
|
|
35
|
+
*/
|
|
36
|
+
unregisterDebugSessionContribution(debugType: string): void;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Plugin debug session contribution registry implementation with functionality
|
|
41
|
+
* to register / unregister plugin contributions.
|
|
42
|
+
*/
|
|
43
|
+
@injectable()
|
|
44
|
+
export class PluginDebugSessionContributionRegistry implements DebugSessionContributionRegistry, PluginDebugSessionContributionRegistrator {
|
|
45
|
+
protected readonly contribs = new Map<string, DebugSessionContribution>();
|
|
46
|
+
|
|
47
|
+
@inject(ContributionProvider) @named(DebugSessionContribution)
|
|
48
|
+
protected readonly contributions: ContributionProvider<DebugSessionContribution>;
|
|
49
|
+
|
|
50
|
+
@postConstruct()
|
|
51
|
+
protected init(): void {
|
|
52
|
+
for (const contrib of this.contributions.getContributions()) {
|
|
53
|
+
this.contribs.set(contrib.debugType, contrib);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
get(debugType: string): DebugSessionContribution | undefined {
|
|
58
|
+
return this.contribs.get(debugType);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
registerDebugSessionContribution(contrib: DebugSessionContribution): Disposable {
|
|
62
|
+
const { debugType } = contrib;
|
|
63
|
+
|
|
64
|
+
if (this.contribs.has(debugType)) {
|
|
65
|
+
console.warn(`Debug session contribution already registered for ${debugType}`);
|
|
66
|
+
return Disposable.NULL;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
this.contribs.set(debugType, contrib);
|
|
70
|
+
return Disposable.create(() => this.unregisterDebugSessionContribution(debugType));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
unregisterDebugSessionContribution(debugType: string): void {
|
|
74
|
+
this.contribs.delete(debugType);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -1,115 +1,115 @@
|
|
|
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 { DefaultDebugSessionFactory } from '@theia/debug/lib/browser/debug-session-contribution';
|
|
18
|
-
import { TerminalService } from '@theia/terminal/lib/browser/base/terminal-service';
|
|
19
|
-
import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
|
|
20
|
-
import { BreakpointManager } from '@theia/debug/lib/browser/breakpoint/breakpoint-manager';
|
|
21
|
-
import { LabelProvider } from '@theia/core/lib/browser/label-provider';
|
|
22
|
-
import { MessageClient } from '@theia/core/lib/common/message-service-protocol';
|
|
23
|
-
import { OutputChannelManager } from '@theia/output/lib/browser/output-channel';
|
|
24
|
-
import { DebugPreferences } from '@theia/debug/lib/browser/debug-preferences';
|
|
25
|
-
import { DebugConfigurationSessionOptions, TestRunReference } from '@theia/debug/lib/browser/debug-session-options';
|
|
26
|
-
import { DebugSession } from '@theia/debug/lib/browser/debug-session';
|
|
27
|
-
import { DebugSessionConnection } from '@theia/debug/lib/browser/debug-session-connection';
|
|
28
|
-
import { TerminalWidgetOptions, TerminalWidget } from '@theia/terminal/lib/browser/base/terminal-widget';
|
|
29
|
-
import { TerminalOptionsExt } from '../../../common/plugin-api-rpc';
|
|
30
|
-
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
31
|
-
import { DebugContribution } from '@theia/debug/lib/browser/debug-contribution';
|
|
32
|
-
import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
|
|
33
|
-
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
34
|
-
import { PluginChannel } from '../../../common/connection';
|
|
35
|
-
import { TestService } from '@theia/test/lib/browser/test-service';
|
|
36
|
-
import { DebugSessionManager } from '@theia/debug/lib/browser/debug-session-manager';
|
|
37
|
-
|
|
38
|
-
export class PluginDebugSession extends DebugSession {
|
|
39
|
-
constructor(
|
|
40
|
-
override readonly id: string,
|
|
41
|
-
override readonly options: DebugConfigurationSessionOptions,
|
|
42
|
-
override readonly parentSession: DebugSession | undefined,
|
|
43
|
-
testService: TestService,
|
|
44
|
-
testRun: TestRunReference | undefined,
|
|
45
|
-
sessionManager: DebugSessionManager,
|
|
46
|
-
protected override readonly connection: DebugSessionConnection,
|
|
47
|
-
protected override readonly terminalServer: TerminalService,
|
|
48
|
-
protected override readonly editorManager: EditorManager,
|
|
49
|
-
protected override readonly breakpoints: BreakpointManager,
|
|
50
|
-
protected override readonly labelProvider: LabelProvider,
|
|
51
|
-
protected override readonly messages: MessageClient,
|
|
52
|
-
protected override readonly fileService: FileService,
|
|
53
|
-
protected readonly terminalOptionsExt: TerminalOptionsExt | undefined,
|
|
54
|
-
protected override readonly debugContributionProvider: ContributionProvider<DebugContribution>,
|
|
55
|
-
protected override readonly workspaceService: WorkspaceService) {
|
|
56
|
-
super(id, options, parentSession, testService, testRun, sessionManager, connection, terminalServer, editorManager, breakpoints,
|
|
57
|
-
labelProvider, messages, fileService, debugContributionProvider,
|
|
58
|
-
workspaceService);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
protected override async doCreateTerminal(terminalWidgetOptions: TerminalWidgetOptions): Promise<TerminalWidget> {
|
|
62
|
-
terminalWidgetOptions = Object.assign({}, terminalWidgetOptions, this.terminalOptionsExt);
|
|
63
|
-
return super.doCreateTerminal(terminalWidgetOptions);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Session factory for a client debug session that communicates with debug adapter contributed as plugin.
|
|
69
|
-
* The main difference is to use a connection factory that creates [Channel](#Channel) over Rpc channel.
|
|
70
|
-
*/
|
|
71
|
-
export class PluginDebugSessionFactory extends DefaultDebugSessionFactory {
|
|
72
|
-
constructor(
|
|
73
|
-
protected override readonly terminalService: TerminalService,
|
|
74
|
-
protected override readonly editorManager: EditorManager,
|
|
75
|
-
protected override readonly breakpoints: BreakpointManager,
|
|
76
|
-
protected override readonly labelProvider: LabelProvider,
|
|
77
|
-
protected override readonly messages: MessageClient,
|
|
78
|
-
protected override readonly outputChannelManager: OutputChannelManager,
|
|
79
|
-
protected override readonly debugPreferences: DebugPreferences,
|
|
80
|
-
protected readonly connectionFactory: (sessionId: string) => Promise<PluginChannel>,
|
|
81
|
-
protected override readonly fileService: FileService,
|
|
82
|
-
protected readonly terminalOptionsExt: TerminalOptionsExt | undefined,
|
|
83
|
-
protected override readonly debugContributionProvider: ContributionProvider<DebugContribution>,
|
|
84
|
-
protected override readonly testService: TestService,
|
|
85
|
-
protected override readonly workspaceService: WorkspaceService,
|
|
86
|
-
) {
|
|
87
|
-
super();
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
override get(manager: DebugSessionManager, sessionId: string, options: DebugConfigurationSessionOptions, parentSession?: DebugSession): DebugSession {
|
|
91
|
-
const connection = new DebugSessionConnection(
|
|
92
|
-
sessionId,
|
|
93
|
-
this.connectionFactory,
|
|
94
|
-
this.getTraceOutputChannel());
|
|
95
|
-
|
|
96
|
-
return new PluginDebugSession(
|
|
97
|
-
sessionId,
|
|
98
|
-
options,
|
|
99
|
-
parentSession,
|
|
100
|
-
this.testService,
|
|
101
|
-
options.testRun,
|
|
102
|
-
manager,
|
|
103
|
-
connection,
|
|
104
|
-
this.terminalService,
|
|
105
|
-
this.editorManager,
|
|
106
|
-
this.breakpoints,
|
|
107
|
-
this.labelProvider,
|
|
108
|
-
this.messages,
|
|
109
|
-
this.fileService,
|
|
110
|
-
this.terminalOptionsExt,
|
|
111
|
-
this.debugContributionProvider,
|
|
112
|
-
this.workspaceService,
|
|
113
|
-
);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
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 { DefaultDebugSessionFactory } from '@theia/debug/lib/browser/debug-session-contribution';
|
|
18
|
+
import { TerminalService } from '@theia/terminal/lib/browser/base/terminal-service';
|
|
19
|
+
import { EditorManager } from '@theia/editor/lib/browser/editor-manager';
|
|
20
|
+
import { BreakpointManager } from '@theia/debug/lib/browser/breakpoint/breakpoint-manager';
|
|
21
|
+
import { LabelProvider } from '@theia/core/lib/browser/label-provider';
|
|
22
|
+
import { MessageClient } from '@theia/core/lib/common/message-service-protocol';
|
|
23
|
+
import { OutputChannelManager } from '@theia/output/lib/browser/output-channel';
|
|
24
|
+
import { DebugPreferences } from '@theia/debug/lib/browser/debug-preferences';
|
|
25
|
+
import { DebugConfigurationSessionOptions, TestRunReference } from '@theia/debug/lib/browser/debug-session-options';
|
|
26
|
+
import { DebugSession } from '@theia/debug/lib/browser/debug-session';
|
|
27
|
+
import { DebugSessionConnection } from '@theia/debug/lib/browser/debug-session-connection';
|
|
28
|
+
import { TerminalWidgetOptions, TerminalWidget } from '@theia/terminal/lib/browser/base/terminal-widget';
|
|
29
|
+
import { TerminalOptionsExt } from '../../../common/plugin-api-rpc';
|
|
30
|
+
import { FileService } from '@theia/filesystem/lib/browser/file-service';
|
|
31
|
+
import { DebugContribution } from '@theia/debug/lib/browser/debug-contribution';
|
|
32
|
+
import { ContributionProvider } from '@theia/core/lib/common/contribution-provider';
|
|
33
|
+
import { WorkspaceService } from '@theia/workspace/lib/browser';
|
|
34
|
+
import { PluginChannel } from '../../../common/connection';
|
|
35
|
+
import { TestService } from '@theia/test/lib/browser/test-service';
|
|
36
|
+
import { DebugSessionManager } from '@theia/debug/lib/browser/debug-session-manager';
|
|
37
|
+
|
|
38
|
+
export class PluginDebugSession extends DebugSession {
|
|
39
|
+
constructor(
|
|
40
|
+
override readonly id: string,
|
|
41
|
+
override readonly options: DebugConfigurationSessionOptions,
|
|
42
|
+
override readonly parentSession: DebugSession | undefined,
|
|
43
|
+
testService: TestService,
|
|
44
|
+
testRun: TestRunReference | undefined,
|
|
45
|
+
sessionManager: DebugSessionManager,
|
|
46
|
+
protected override readonly connection: DebugSessionConnection,
|
|
47
|
+
protected override readonly terminalServer: TerminalService,
|
|
48
|
+
protected override readonly editorManager: EditorManager,
|
|
49
|
+
protected override readonly breakpoints: BreakpointManager,
|
|
50
|
+
protected override readonly labelProvider: LabelProvider,
|
|
51
|
+
protected override readonly messages: MessageClient,
|
|
52
|
+
protected override readonly fileService: FileService,
|
|
53
|
+
protected readonly terminalOptionsExt: TerminalOptionsExt | undefined,
|
|
54
|
+
protected override readonly debugContributionProvider: ContributionProvider<DebugContribution>,
|
|
55
|
+
protected override readonly workspaceService: WorkspaceService) {
|
|
56
|
+
super(id, options, parentSession, testService, testRun, sessionManager, connection, terminalServer, editorManager, breakpoints,
|
|
57
|
+
labelProvider, messages, fileService, debugContributionProvider,
|
|
58
|
+
workspaceService);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
protected override async doCreateTerminal(terminalWidgetOptions: TerminalWidgetOptions): Promise<TerminalWidget> {
|
|
62
|
+
terminalWidgetOptions = Object.assign({}, terminalWidgetOptions, this.terminalOptionsExt);
|
|
63
|
+
return super.doCreateTerminal(terminalWidgetOptions);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Session factory for a client debug session that communicates with debug adapter contributed as plugin.
|
|
69
|
+
* The main difference is to use a connection factory that creates [Channel](#Channel) over Rpc channel.
|
|
70
|
+
*/
|
|
71
|
+
export class PluginDebugSessionFactory extends DefaultDebugSessionFactory {
|
|
72
|
+
constructor(
|
|
73
|
+
protected override readonly terminalService: TerminalService,
|
|
74
|
+
protected override readonly editorManager: EditorManager,
|
|
75
|
+
protected override readonly breakpoints: BreakpointManager,
|
|
76
|
+
protected override readonly labelProvider: LabelProvider,
|
|
77
|
+
protected override readonly messages: MessageClient,
|
|
78
|
+
protected override readonly outputChannelManager: OutputChannelManager,
|
|
79
|
+
protected override readonly debugPreferences: DebugPreferences,
|
|
80
|
+
protected readonly connectionFactory: (sessionId: string) => Promise<PluginChannel>,
|
|
81
|
+
protected override readonly fileService: FileService,
|
|
82
|
+
protected readonly terminalOptionsExt: TerminalOptionsExt | undefined,
|
|
83
|
+
protected override readonly debugContributionProvider: ContributionProvider<DebugContribution>,
|
|
84
|
+
protected override readonly testService: TestService,
|
|
85
|
+
protected override readonly workspaceService: WorkspaceService,
|
|
86
|
+
) {
|
|
87
|
+
super();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
override get(manager: DebugSessionManager, sessionId: string, options: DebugConfigurationSessionOptions, parentSession?: DebugSession): DebugSession {
|
|
91
|
+
const connection = new DebugSessionConnection(
|
|
92
|
+
sessionId,
|
|
93
|
+
this.connectionFactory,
|
|
94
|
+
this.getTraceOutputChannel());
|
|
95
|
+
|
|
96
|
+
return new PluginDebugSession(
|
|
97
|
+
sessionId,
|
|
98
|
+
options,
|
|
99
|
+
parentSession,
|
|
100
|
+
this.testService,
|
|
101
|
+
options.testRun,
|
|
102
|
+
manager,
|
|
103
|
+
connection,
|
|
104
|
+
this.terminalService,
|
|
105
|
+
this.editorManager,
|
|
106
|
+
this.breakpoints,
|
|
107
|
+
this.labelProvider,
|
|
108
|
+
this.messages,
|
|
109
|
+
this.fileService,
|
|
110
|
+
this.terminalOptionsExt,
|
|
111
|
+
this.debugContributionProvider,
|
|
112
|
+
this.workspaceService,
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
}
|