@theia/plugin-ext 1.53.0-next.55 → 1.53.0-next.64
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 +1 -4
- package/lib/common/plugin-api-rpc.d.ts.map +1 -1
- package/lib/common/plugin-api-rpc.js.map +1 -1
- package/lib/hosted/browser/hosted-plugin.js +9 -9
- package/lib/main/browser/editors-and-documents-main.d.ts.map +1 -1
- package/lib/main/browser/editors-and-documents-main.js +14 -2
- package/lib/main/browser/editors-and-documents-main.js.map +1 -1
- package/lib/main/browser/notebooks/notebook-documents-and-editors-main.d.ts.map +1 -1
- package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js +2 -0
- package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js.map +1 -1
- package/lib/main/browser/notebooks/renderers/cell-output-webview.js +86 -86
- 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/tabs/tabs-main.d.ts +1 -1
- package/lib/main/browser/tabs/tabs-main.d.ts.map +1 -1
- package/lib/main/browser/tabs/tabs-main.js +1 -1
- package/lib/main/browser/tabs/tabs-main.js.map +1 -1
- package/lib/main/browser/text-editor-main.d.ts +6 -3
- package/lib/main/browser/text-editor-main.d.ts.map +1 -1
- package/lib/main/browser/text-editor-main.js +39 -5
- package/lib/main/browser/text-editor-main.js.map +1 -1
- 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/workspace-main.d.ts +0 -2
- 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/languages.d.ts +0 -1
- package/lib/plugin/languages.d.ts.map +1 -1
- package/lib/plugin/notebook/notebook-kernels.d.ts +0 -2
- package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
- package/lib/plugin/notebook/notebooks.d.ts +1 -0
- package/lib/plugin/notebook/notebooks.d.ts.map +1 -1
- package/lib/plugin/notebook/notebooks.js +22 -2
- package/lib/plugin/notebook/notebooks.js.map +1 -1
- package/lib/plugin/scm.d.ts +0 -1
- package/lib/plugin/scm.d.ts.map +1 -1
- package/lib/plugin/terminal-ext.d.ts +0 -1
- package/lib/plugin/terminal-ext.d.ts.map +1 -1
- package/lib/plugin/text-editor.d.ts +1 -1
- package/lib/plugin/text-editor.d.ts.map +1 -1
- package/lib/plugin/text-editor.js.map +1 -1
- package/lib/plugin/type-converters.d.ts +0 -1
- package/lib/plugin/type-converters.d.ts.map +1 -1
- package/lib/plugin/types-impl.d.ts +2 -3
- package/lib/plugin/types-impl.d.ts.map +1 -1
- package/lib/plugin/workspace.d.ts +0 -4
- package/lib/plugin/workspace.d.ts.map +1 -1
- package/package.json +28 -28
- 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 +2753 -2752
- 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 -306
- 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 -635
- 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 -963
- 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 -401
- 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 -205
- 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 -127
- package/src/main/browser/custom-editors/custom-editors-main.ts +526 -526
- package/src/main/browser/custom-editors/plugin-custom-editor-registry.ts +126 -126
- 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 +448 -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 -210
- package/src/main/browser/main-file-system-event-service.ts +76 -76
- package/src/main/browser/menus/menus-contribution-handler.ts +172 -172
- package/src/main/browser/menus/plugin-menu-command-adapter.ts +358 -358
- package/src/main/browser/menus/vscode-theia-menu-mappings.ts +118 -118
- package/src/main/browser/message-registry-main.ts +43 -43
- package/src/main/browser/notebooks/notebook-documents-and-editors-main.ts +252 -249
- package/src/main/browser/notebooks/notebook-documents-main.ts +202 -202
- package/src/main/browser/notebooks/notebook-dto.ts +131 -131
- package/src/main/browser/notebooks/notebook-editors-main.ts +88 -88
- 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 -452
- package/src/main/browser/notebooks/renderers/output-webview-internal.ts +636 -636
- 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 -291
- 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 +388 -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 +519 -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 -72
- 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 -296
- 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 -718
- 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 -287
- 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 -140
- 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 -334
- 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 -134
- 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 -429
- 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 +470 -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 -1606
- package/src/plugin/plugin-icon-path.ts +53 -53
- package/src/plugin/plugin-manager.ts +508 -508
- 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 -569
- 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 -1768
- package/src/plugin/types-impl.spec.ts +85 -85
- package/src/plugin/types-impl.ts +4011 -4011
- package/src/plugin/uri-ext.ts +60 -60
- 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/src/common/connection.ts
CHANGED
|
@@ -1,137 +1,137 @@
|
|
|
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
|
-
import { DebugChannel } from '@theia/debug/lib/common/debug-service';
|
|
17
|
-
import { ConnectionExt, ConnectionMain } from './plugin-api-rpc';
|
|
18
|
-
import { Emitter } from '@theia/core/lib/common/event';
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* A channel communicating with a counterpart in a plugin host.
|
|
22
|
-
*/
|
|
23
|
-
export class PluginChannel implements DebugChannel {
|
|
24
|
-
private messageEmitter: Emitter<string> = new Emitter();
|
|
25
|
-
private errorEmitter: Emitter<unknown> = new Emitter();
|
|
26
|
-
private closedEmitter: Emitter<void> = new Emitter();
|
|
27
|
-
|
|
28
|
-
constructor(
|
|
29
|
-
protected readonly id: string,
|
|
30
|
-
protected readonly connection: ConnectionExt | ConnectionMain) { }
|
|
31
|
-
|
|
32
|
-
send(content: string): void {
|
|
33
|
-
this.connection.$sendMessage(this.id, content);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
fireMessageReceived(msg: string): void {
|
|
37
|
-
this.messageEmitter.fire(msg);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
fireError(error: unknown): void {
|
|
41
|
-
this.errorEmitter.fire(error);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
fireClosed(): void {
|
|
45
|
-
this.closedEmitter.fire();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
onMessage(cb: (message: string) => void): void {
|
|
49
|
-
this.messageEmitter.event(cb);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
-
onError(cb: (reason: any) => void): void {
|
|
54
|
-
this.errorEmitter.event(cb);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
onClose(cb: (code: number, reason: string) => void): void {
|
|
58
|
-
this.closedEmitter.event(() => cb(-1, 'closed'));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
close(): void {
|
|
62
|
-
this.connection.$deleteConnection(this.id);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export class ConnectionImpl implements ConnectionMain, ConnectionExt {
|
|
67
|
-
private readonly proxy: ConnectionExt | ConnectionExt;
|
|
68
|
-
private readonly connections = new Map<string, PluginChannel>();
|
|
69
|
-
|
|
70
|
-
constructor(proxy: ConnectionMain | ConnectionExt) {
|
|
71
|
-
this.proxy = proxy;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Gets the connection between plugin by id and sends string message to it.
|
|
76
|
-
*
|
|
77
|
-
* @param id connection's id
|
|
78
|
-
* @param message incoming message
|
|
79
|
-
*/
|
|
80
|
-
async $sendMessage(id: string, message: string): Promise<void> {
|
|
81
|
-
if (this.connections.has(id)) {
|
|
82
|
-
this.connections.get(id)!.fireMessageReceived(message);
|
|
83
|
-
} else {
|
|
84
|
-
console.warn(`Received message for unknown connection: ${id}`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Instantiates a new connection by the given id.
|
|
90
|
-
* @param id the connection id
|
|
91
|
-
*/
|
|
92
|
-
async $createConnection(id: string): Promise<void> {
|
|
93
|
-
console.debug(`Creating plugin connection: ${id}`);
|
|
94
|
-
|
|
95
|
-
await this.doEnsureConnection(id);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Deletes a connection.
|
|
100
|
-
* @param id the connection id
|
|
101
|
-
*/
|
|
102
|
-
async $deleteConnection(id: string): Promise<void> {
|
|
103
|
-
console.debug(`Deleting plugin connection: ${id}`);
|
|
104
|
-
const connection = this.connections.get(id);
|
|
105
|
-
if (connection) {
|
|
106
|
-
this.connections.delete(id);
|
|
107
|
-
connection.fireClosed();
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Returns existed connection or creates a new one.
|
|
113
|
-
* @param id the connection id
|
|
114
|
-
*/
|
|
115
|
-
async ensureConnection(id: string): Promise<PluginChannel> {
|
|
116
|
-
console.debug(`Creating local connection: ${id}`);
|
|
117
|
-
const connection = await this.doEnsureConnection(id);
|
|
118
|
-
await this.proxy.$createConnection(id);
|
|
119
|
-
return connection;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Returns existed connection or creates a new one.
|
|
124
|
-
* @param id the connection id
|
|
125
|
-
*/
|
|
126
|
-
async doEnsureConnection(id: string): Promise<PluginChannel> {
|
|
127
|
-
const connection = this.connections.get(id) || await this.doCreateConnection(id);
|
|
128
|
-
this.connections.set(id, connection);
|
|
129
|
-
return connection;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
protected async doCreateConnection(id: string): Promise<PluginChannel> {
|
|
133
|
-
const channel = new PluginChannel(id, this.proxy);
|
|
134
|
-
channel.onClose(() => this.connections.delete(id));
|
|
135
|
-
return channel;
|
|
136
|
-
}
|
|
137
|
-
}
|
|
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
|
+
import { DebugChannel } from '@theia/debug/lib/common/debug-service';
|
|
17
|
+
import { ConnectionExt, ConnectionMain } from './plugin-api-rpc';
|
|
18
|
+
import { Emitter } from '@theia/core/lib/common/event';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* A channel communicating with a counterpart in a plugin host.
|
|
22
|
+
*/
|
|
23
|
+
export class PluginChannel implements DebugChannel {
|
|
24
|
+
private messageEmitter: Emitter<string> = new Emitter();
|
|
25
|
+
private errorEmitter: Emitter<unknown> = new Emitter();
|
|
26
|
+
private closedEmitter: Emitter<void> = new Emitter();
|
|
27
|
+
|
|
28
|
+
constructor(
|
|
29
|
+
protected readonly id: string,
|
|
30
|
+
protected readonly connection: ConnectionExt | ConnectionMain) { }
|
|
31
|
+
|
|
32
|
+
send(content: string): void {
|
|
33
|
+
this.connection.$sendMessage(this.id, content);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
fireMessageReceived(msg: string): void {
|
|
37
|
+
this.messageEmitter.fire(msg);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
fireError(error: unknown): void {
|
|
41
|
+
this.errorEmitter.fire(error);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
fireClosed(): void {
|
|
45
|
+
this.closedEmitter.fire();
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
onMessage(cb: (message: string) => void): void {
|
|
49
|
+
this.messageEmitter.event(cb);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
53
|
+
onError(cb: (reason: any) => void): void {
|
|
54
|
+
this.errorEmitter.event(cb);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
onClose(cb: (code: number, reason: string) => void): void {
|
|
58
|
+
this.closedEmitter.event(() => cb(-1, 'closed'));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
close(): void {
|
|
62
|
+
this.connection.$deleteConnection(this.id);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export class ConnectionImpl implements ConnectionMain, ConnectionExt {
|
|
67
|
+
private readonly proxy: ConnectionExt | ConnectionExt;
|
|
68
|
+
private readonly connections = new Map<string, PluginChannel>();
|
|
69
|
+
|
|
70
|
+
constructor(proxy: ConnectionMain | ConnectionExt) {
|
|
71
|
+
this.proxy = proxy;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Gets the connection between plugin by id and sends string message to it.
|
|
76
|
+
*
|
|
77
|
+
* @param id connection's id
|
|
78
|
+
* @param message incoming message
|
|
79
|
+
*/
|
|
80
|
+
async $sendMessage(id: string, message: string): Promise<void> {
|
|
81
|
+
if (this.connections.has(id)) {
|
|
82
|
+
this.connections.get(id)!.fireMessageReceived(message);
|
|
83
|
+
} else {
|
|
84
|
+
console.warn(`Received message for unknown connection: ${id}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Instantiates a new connection by the given id.
|
|
90
|
+
* @param id the connection id
|
|
91
|
+
*/
|
|
92
|
+
async $createConnection(id: string): Promise<void> {
|
|
93
|
+
console.debug(`Creating plugin connection: ${id}`);
|
|
94
|
+
|
|
95
|
+
await this.doEnsureConnection(id);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Deletes a connection.
|
|
100
|
+
* @param id the connection id
|
|
101
|
+
*/
|
|
102
|
+
async $deleteConnection(id: string): Promise<void> {
|
|
103
|
+
console.debug(`Deleting plugin connection: ${id}`);
|
|
104
|
+
const connection = this.connections.get(id);
|
|
105
|
+
if (connection) {
|
|
106
|
+
this.connections.delete(id);
|
|
107
|
+
connection.fireClosed();
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Returns existed connection or creates a new one.
|
|
113
|
+
* @param id the connection id
|
|
114
|
+
*/
|
|
115
|
+
async ensureConnection(id: string): Promise<PluginChannel> {
|
|
116
|
+
console.debug(`Creating local connection: ${id}`);
|
|
117
|
+
const connection = await this.doEnsureConnection(id);
|
|
118
|
+
await this.proxy.$createConnection(id);
|
|
119
|
+
return connection;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Returns existed connection or creates a new one.
|
|
124
|
+
* @param id the connection id
|
|
125
|
+
*/
|
|
126
|
+
async doEnsureConnection(id: string): Promise<PluginChannel> {
|
|
127
|
+
const connection = this.connections.get(id) || await this.doCreateConnection(id);
|
|
128
|
+
this.connections.set(id, connection);
|
|
129
|
+
return connection;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
protected async doCreateConnection(id: string): Promise<PluginChannel> {
|
|
133
|
+
const channel = new PluginChannel(id, this.proxy);
|
|
134
|
+
channel.onClose(() => this.connections.delete(id));
|
|
135
|
+
return channel;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
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
|
-
export interface Disposable {
|
|
18
|
-
dispose(): void;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function dispose<T extends Disposable>(disposable: T): T | undefined;
|
|
22
|
-
export function dispose<T extends Disposable>(...disposables: T[]): T[] | undefined;
|
|
23
|
-
export function dispose<T extends Disposable>(disposables: T[]): T[] | undefined;
|
|
24
|
-
export function dispose<T extends Disposable>(first: T | T[], ...rest: T[]): T | T[] | undefined {
|
|
25
|
-
if (Array.isArray(first)) {
|
|
26
|
-
first.forEach(d => d && d.dispose());
|
|
27
|
-
return [];
|
|
28
|
-
} else if (rest.length === 0) {
|
|
29
|
-
if (first) {
|
|
30
|
-
first.dispose();
|
|
31
|
-
return first;
|
|
32
|
-
}
|
|
33
|
-
return undefined;
|
|
34
|
-
} else {
|
|
35
|
-
dispose(first);
|
|
36
|
-
dispose(rest);
|
|
37
|
-
return [];
|
|
38
|
-
}
|
|
39
|
-
}
|
|
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
|
+
export interface Disposable {
|
|
18
|
+
dispose(): void;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function dispose<T extends Disposable>(disposable: T): T | undefined;
|
|
22
|
+
export function dispose<T extends Disposable>(...disposables: T[]): T[] | undefined;
|
|
23
|
+
export function dispose<T extends Disposable>(disposables: T[]): T[] | undefined;
|
|
24
|
+
export function dispose<T extends Disposable>(first: T | T[], ...rest: T[]): T | T[] | undefined {
|
|
25
|
+
if (Array.isArray(first)) {
|
|
26
|
+
first.forEach(d => d && d.dispose());
|
|
27
|
+
return [];
|
|
28
|
+
} else if (rest.length === 0) {
|
|
29
|
+
if (first) {
|
|
30
|
+
first.dispose();
|
|
31
|
+
return first;
|
|
32
|
+
}
|
|
33
|
+
return undefined;
|
|
34
|
+
} else {
|
|
35
|
+
dispose(first);
|
|
36
|
+
dispose(rest);
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -1,74 +1,74 @@
|
|
|
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
|
-
/*---------------------------------------------------------------------------------------------
|
|
18
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
-
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
-
*--------------------------------------------------------------------------------------------*/
|
|
21
|
-
// enum copied from monaco.d.ts
|
|
22
|
-
/**
|
|
23
|
-
* The style in which the editor's cursor should be rendered.
|
|
24
|
-
*/
|
|
25
|
-
export enum TextEditorCursorStyle {
|
|
26
|
-
/**
|
|
27
|
-
* As a vertical line
|
|
28
|
-
*/
|
|
29
|
-
Line = 1,
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* As a block
|
|
33
|
-
*/
|
|
34
|
-
Block = 2,
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* As a horizontal line, under character
|
|
38
|
-
*/
|
|
39
|
-
Underline = 3,
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* As a thin vertical line
|
|
43
|
-
*/
|
|
44
|
-
LineThin = 4,
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* As an outlined block, on top of a character
|
|
48
|
-
*/
|
|
49
|
-
BlockOutline = 5,
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* As a thin horizontal line, under a character
|
|
53
|
-
*/
|
|
54
|
-
UnderlineThin = 6
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export function cursorStyleToString(cursorStyle: TextEditorCursorStyle): 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin' {
|
|
58
|
-
switch (cursorStyle) {
|
|
59
|
-
case TextEditorCursorStyle.Line:
|
|
60
|
-
return 'line';
|
|
61
|
-
case TextEditorCursorStyle.Block:
|
|
62
|
-
return 'block';
|
|
63
|
-
case TextEditorCursorStyle.Underline:
|
|
64
|
-
return 'underline';
|
|
65
|
-
case TextEditorCursorStyle.LineThin:
|
|
66
|
-
return 'line-thin';
|
|
67
|
-
case TextEditorCursorStyle.BlockOutline:
|
|
68
|
-
return 'block-outline';
|
|
69
|
-
case TextEditorCursorStyle.UnderlineThin:
|
|
70
|
-
return 'underline-thin';
|
|
71
|
-
default:
|
|
72
|
-
throw new Error('cursorStyleToString: Unknown cursorStyle');
|
|
73
|
-
}
|
|
74
|
-
}
|
|
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
|
+
/*---------------------------------------------------------------------------------------------
|
|
18
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
19
|
+
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
20
|
+
*--------------------------------------------------------------------------------------------*/
|
|
21
|
+
// enum copied from monaco.d.ts
|
|
22
|
+
/**
|
|
23
|
+
* The style in which the editor's cursor should be rendered.
|
|
24
|
+
*/
|
|
25
|
+
export enum TextEditorCursorStyle {
|
|
26
|
+
/**
|
|
27
|
+
* As a vertical line
|
|
28
|
+
*/
|
|
29
|
+
Line = 1,
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* As a block
|
|
33
|
+
*/
|
|
34
|
+
Block = 2,
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* As a horizontal line, under character
|
|
38
|
+
*/
|
|
39
|
+
Underline = 3,
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* As a thin vertical line
|
|
43
|
+
*/
|
|
44
|
+
LineThin = 4,
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* As an outlined block, on top of a character
|
|
48
|
+
*/
|
|
49
|
+
BlockOutline = 5,
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* As a thin horizontal line, under a character
|
|
53
|
+
*/
|
|
54
|
+
UnderlineThin = 6
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export function cursorStyleToString(cursorStyle: TextEditorCursorStyle): 'line' | 'block' | 'underline' | 'line-thin' | 'block-outline' | 'underline-thin' {
|
|
58
|
+
switch (cursorStyle) {
|
|
59
|
+
case TextEditorCursorStyle.Line:
|
|
60
|
+
return 'line';
|
|
61
|
+
case TextEditorCursorStyle.Block:
|
|
62
|
+
return 'block';
|
|
63
|
+
case TextEditorCursorStyle.Underline:
|
|
64
|
+
return 'underline';
|
|
65
|
+
case TextEditorCursorStyle.LineThin:
|
|
66
|
+
return 'line-thin';
|
|
67
|
+
case TextEditorCursorStyle.BlockOutline:
|
|
68
|
+
return 'block-outline';
|
|
69
|
+
case TextEditorCursorStyle.UnderlineThin:
|
|
70
|
+
return 'underline-thin';
|
|
71
|
+
default:
|
|
72
|
+
throw new Error('cursorStyleToString: Unknown cursorStyle');
|
|
73
|
+
}
|
|
74
|
+
}
|
package/src/common/env.ts
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
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
|
-
export interface QueryParameters {
|
|
18
|
-
[key: string]: string | string[]
|
|
19
|
-
}
|
|
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
|
+
export interface QueryParameters {
|
|
18
|
+
[key: string]: string | string[]
|
|
19
|
+
}
|