@theia/plugin-ext 1.77.0-next.7 → 1.77.0-next.77
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/lib/common/character-classifier.js.map +1 -1
- package/lib/common/plugin-api-rpc.d.ts +2 -0
- package/lib/common/plugin-api-rpc.d.ts.map +1 -1
- package/lib/common/plugin-api-rpc.js.map +1 -1
- package/lib/common/plugin-protocol.d.ts +9 -0
- package/lib/common/plugin-protocol.d.ts.map +1 -1
- package/lib/common/plugin-protocol.js +19 -1
- package/lib/common/plugin-protocol.js.map +1 -1
- package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
- package/lib/hosted/browser/hosted-plugin.js +4 -2
- package/lib/hosted/browser/hosted-plugin.js.map +1 -1
- package/lib/hosted/browser/hosted-plugin.spec.d.ts +2 -0
- package/lib/hosted/browser/hosted-plugin.spec.d.ts.map +1 -0
- package/lib/hosted/browser/hosted-plugin.spec.js +59 -0
- package/lib/hosted/browser/hosted-plugin.spec.js.map +1 -0
- package/lib/hosted/browser/worker/worker-main.js +2 -1
- package/lib/hosted/browser/worker/worker-main.js.map +1 -1
- package/lib/hosted/browser-only/browser-only-plugin-paths-service.js +1 -1
- package/lib/hosted/browser-only/browser-only-plugin-paths-service.js.map +1 -1
- package/lib/hosted/browser-only/browser-only-plugin-paths-service.spec.js +2 -1
- package/lib/hosted/browser-only/browser-only-plugin-paths-service.spec.js.map +1 -1
- package/lib/hosted/node/hosted-plugin-localization-service.js +2 -2
- package/lib/hosted/node/hosted-plugin-localization-service.js.map +1 -1
- package/lib/hosted/node/hosted-plugin-process.js +1 -1
- package/lib/hosted/node/hosted-plugin-process.js.map +1 -1
- package/lib/hosted/node/plugin-deployer-handler-impl.js +1 -1
- package/lib/hosted/node/plugin-deployer-handler-impl.js.map +1 -1
- package/lib/hosted/node/plugin-ext-hosted-backend-module.js +2 -1
- package/lib/hosted/node/plugin-ext-hosted-backend-module.js.map +1 -1
- package/lib/hosted/node/plugin-host-proxy.d.ts.map +1 -1
- package/lib/hosted/node/plugin-host-proxy.js +10 -6
- package/lib/hosted/node/plugin-host-proxy.js.map +1 -1
- package/lib/hosted/node/plugin-host-rpc.js +1 -1
- package/lib/hosted/node/plugin-host-rpc.js.map +1 -1
- package/lib/hosted/node/plugin-host.js +2 -1
- package/lib/hosted/node/plugin-host.js.map +1 -1
- package/lib/hosted/node/plugin-reader.js +6 -6
- package/lib/hosted/node/plugin-reader.js.map +1 -1
- package/lib/hosted/node/plugin-reader.spec.js +4 -3
- package/lib/hosted/node/plugin-reader.spec.js.map +1 -1
- package/lib/hosted/node/plugin-require-override.d.ts.map +1 -1
- package/lib/hosted/node/plugin-require-override.js +3 -1
- package/lib/hosted/node/plugin-require-override.js.map +1 -1
- package/lib/hosted/node/plugin-require-override.spec.d.ts +2 -0
- package/lib/hosted/node/plugin-require-override.spec.d.ts.map +1 -0
- package/lib/hosted/node/plugin-require-override.spec.js +40 -0
- package/lib/hosted/node/plugin-require-override.spec.js.map +1 -0
- package/lib/hosted/node/scanners/file-plugin-uri-factory.js +1 -1
- package/lib/hosted/node/scanners/file-plugin-uri-factory.js.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.js +2 -2
- package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.spec.js +5 -4
- package/lib/hosted/node/scanners/scanner-theia.spec.js.map +1 -1
- package/lib/hosted/node-electron/scanner-theia-electron.js +1 -1
- package/lib/hosted/node-electron/scanner-theia-electron.js.map +1 -1
- package/lib/main/browser/commands.js +1 -1
- package/lib/main/browser/commands.js.map +1 -1
- package/lib/main/browser/comments/comment-thread-widget.js +3 -2
- package/lib/main/browser/comments/comment-thread-widget.js.map +1 -1
- package/lib/main/browser/comments/comments-contribution.js +1 -1
- package/lib/main/browser/comments/comments-contribution.js.map +1 -1
- package/lib/main/browser/custom-editors/custom-editor-opener.spec.js +3 -2
- package/lib/main/browser/custom-editors/custom-editor-opener.spec.js.map +1 -1
- package/lib/main/browser/custom-editors/custom-editor-widget.js +1 -1
- package/lib/main/browser/custom-editors/custom-editor-widget.js.map +1 -1
- package/lib/main/browser/custom-editors/custom-editors-main.js +2 -1
- package/lib/main/browser/custom-editors/custom-editors-main.js.map +1 -1
- package/lib/main/browser/decorations/decorations-main.js +2 -1
- package/lib/main/browser/decorations/decorations-main.js.map +1 -1
- package/lib/main/browser/dialogs-main.js +2 -1
- package/lib/main/browser/dialogs-main.js.map +1 -1
- package/lib/main/browser/documents-main.js +3 -2
- package/lib/main/browser/documents-main.js.map +1 -1
- package/lib/main/browser/file-system-main-impl.js +3 -2
- package/lib/main/browser/file-system-main-impl.js.map +1 -1
- package/lib/main/browser/hierarchy/hierarchy-types-converters.js +3 -2
- package/lib/main/browser/hierarchy/hierarchy-types-converters.js.map +1 -1
- package/lib/main/browser/languages-main.js +3 -3
- package/lib/main/browser/languages-main.js.map +1 -1
- package/lib/main/browser/languages-main.spec.js +2 -1
- package/lib/main/browser/languages-main.spec.js.map +1 -1
- package/lib/main/browser/main-file-system-event-service.d.ts +1 -22
- package/lib/main/browser/main-file-system-event-service.d.ts.map +1 -1
- package/lib/main/browser/main-file-system-event-service.js +2 -48
- package/lib/main/browser/main-file-system-event-service.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 -12
- package/lib/main/browser/menus/menus-contribution-handler.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 +3 -2
- package/lib/main/browser/notebooks/renderers/output-webview-internal.js.map +1 -1
- package/lib/main/browser/plugin-contribution-handler.js +1 -1
- package/lib/main/browser/plugin-contribution-handler.js.map +1 -1
- package/lib/main/browser/plugin-ext-widget.js +1 -1
- package/lib/main/browser/plugin-ext-widget.js.map +1 -1
- package/lib/main/browser/plugin-icon-service.js +1 -1
- package/lib/main/browser/plugin-icon-service.js.map +1 -1
- package/lib/main/browser/plugin-icon-theme-service.d.ts +2 -2
- package/lib/main/browser/plugin-icon-theme-service.d.ts.map +1 -1
- package/lib/main/browser/plugin-icon-theme-service.js +2 -2
- package/lib/main/browser/plugin-icon-theme-service.js.map +1 -1
- package/lib/main/browser/plugin-icon-theme-service.spec.js +2 -1
- package/lib/main/browser/plugin-icon-theme-service.spec.js.map +1 -1
- package/lib/main/browser/plugin-shared-style.js.map +1 -1
- package/lib/main/browser/scm-main.d.ts +3 -1
- package/lib/main/browser/scm-main.d.ts.map +1 -1
- package/lib/main/browser/scm-main.js +6 -3
- package/lib/main/browser/scm-main.js.map +1 -1
- package/lib/main/browser/scm-main.spec.js +31 -0
- package/lib/main/browser/scm-main.spec.js.map +1 -1
- package/lib/main/browser/status-bar-message-registry-main.js +2 -1
- package/lib/main/browser/status-bar-message-registry-main.js.map +1 -1
- package/lib/main/browser/text-editor-main.js +2 -1
- package/lib/main/browser/text-editor-main.js.map +1 -1
- package/lib/main/browser/text-editors-main.js +2 -1
- package/lib/main/browser/text-editors-main.js.map +1 -1
- package/lib/main/browser/view/plugin-tree-view-node-label-provider.js +1 -1
- package/lib/main/browser/view/plugin-tree-view-node-label-provider.js.map +1 -1
- package/lib/main/browser/view/plugin-view-registry.d.ts +17 -2
- package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
- package/lib/main/browser/view/plugin-view-registry.js +72 -21
- package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
- package/lib/main/browser/view/plugin-view-registry.spec.js +188 -9
- package/lib/main/browser/view/plugin-view-registry.spec.js.map +1 -1
- package/lib/main/browser/view/tree-view-decorator-service.js +1 -1
- package/lib/main/browser/view/tree-view-decorator-service.js.map +1 -1
- package/lib/main/browser/view/tree-view-widget.js +2 -2
- package/lib/main/browser/view/tree-view-widget.js.map +1 -1
- package/lib/main/browser/webview/pre/main.spec.d.ts +2 -0
- package/lib/main/browser/webview/pre/main.spec.d.ts.map +1 -0
- package/lib/main/browser/webview/pre/main.spec.js +45 -0
- package/lib/main/browser/webview/pre/main.spec.js.map +1 -0
- package/lib/main/browser/webview/webview-theme-data-provider.d.ts +1 -1
- package/lib/main/browser/webview/webview-theme-data-provider.d.ts.map +1 -1
- package/lib/main/browser/webview/webview.d.ts.map +1 -1
- package/lib/main/browser/webview/webview.js +6 -3
- package/lib/main/browser/webview/webview.js.map +1 -1
- package/lib/main/browser/window-state-main.js +2 -1
- package/lib/main/browser/window-state-main.js.map +1 -1
- package/lib/main/browser/workspace-main.js +1 -1
- package/lib/main/browser/workspace-main.js.map +1 -1
- package/lib/main/common/plugin-theia-environment.js +1 -1
- package/lib/main/common/plugin-theia-environment.js.map +1 -1
- package/lib/main/node/handlers/plugin-theia-directory-handler.js +4 -4
- package/lib/main/node/handlers/plugin-theia-directory-handler.js.map +1 -1
- package/lib/main/node/handlers/plugin-theia-file-handler.js +3 -3
- package/lib/main/node/handlers/plugin-theia-file-handler.js.map +1 -1
- package/lib/main/node/paths/plugin-paths-service.js +4 -4
- package/lib/main/node/paths/plugin-paths-service.js.map +1 -1
- package/lib/main/node/plugin-deployer-directory-handler-context-impl.js +2 -1
- package/lib/main/node/plugin-deployer-directory-handler-context-impl.js.map +1 -1
- package/lib/main/node/plugin-deployer-file-handler-context-impl.js +3 -2
- package/lib/main/node/plugin-deployer-file-handler-context-impl.js.map +1 -1
- package/lib/main/node/plugin-deployer-impl.d.ts.map +1 -1
- package/lib/main/node/plugin-deployer-impl.js +7 -2
- package/lib/main/node/plugin-deployer-impl.js.map +1 -1
- package/lib/main/node/plugin-deployer-impl.spec.d.ts +2 -0
- package/lib/main/node/plugin-deployer-impl.spec.d.ts.map +1 -0
- package/lib/main/node/plugin-deployer-impl.spec.js +66 -0
- package/lib/main/node/plugin-deployer-impl.spec.js.map +1 -0
- package/lib/main/node/plugin-github-resolver.js +1 -1
- package/lib/main/node/plugin-github-resolver.js.map +1 -1
- package/lib/main/node/plugin-http-resolver.js +1 -1
- package/lib/main/node/plugin-http-resolver.js.map +1 -1
- package/lib/main/node/plugin-service.d.ts +1 -1
- package/lib/main/node/plugin-service.d.ts.map +1 -1
- package/lib/main/node/plugin-service.js +4 -4
- package/lib/main/node/plugin-service.js.map +1 -1
- package/lib/main/node/plugins-key-value-storage.js +2 -2
- package/lib/main/node/plugins-key-value-storage.js.map +1 -1
- package/lib/main/node/plugins-key-value-storage.spec.js +2 -1
- package/lib/main/node/plugins-key-value-storage.spec.js.map +1 -1
- package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js +2 -2
- package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.js.map +1 -1
- package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.spec.js +4 -3
- package/lib/main/node/resolvers/local-directory-plugin-deployer-resolver.spec.js.map +1 -1
- package/lib/main/node/resolvers/local-plugin-deployer-resolver.js +3 -3
- package/lib/main/node/resolvers/local-plugin-deployer-resolver.js.map +1 -1
- package/lib/main/node/temp-dir-util.js +3 -2
- package/lib/main/node/temp-dir-util.js.map +1 -1
- package/lib/plugin/comments.d.ts +1 -1
- package/lib/plugin/comments.d.ts.map +1 -1
- package/lib/plugin/custom-editors.js +2 -1
- package/lib/plugin/custom-editors.js.map +1 -1
- package/lib/plugin/decorations.spec.js +2 -1
- package/lib/plugin/decorations.spec.js.map +1 -1
- package/lib/plugin/document-data.d.ts.map +1 -1
- package/lib/plugin/document-data.js +0 -1
- package/lib/plugin/document-data.js.map +1 -1
- package/lib/plugin/documents.js +2 -1
- package/lib/plugin/documents.js.map +1 -1
- package/lib/plugin/editors-and-documents.js +1 -1
- package/lib/plugin/editors-and-documents.js.map +1 -1
- package/lib/plugin/file-system-event-service-ext-impl.d.ts +1 -1
- package/lib/plugin/file-system-event-service-ext-impl.d.ts.map +1 -1
- package/lib/plugin/file-system-event-service-ext-impl.js +3 -2
- package/lib/plugin/file-system-event-service-ext-impl.js.map +1 -1
- package/lib/plugin/file-system-ext-impl.js +5 -4
- package/lib/plugin/file-system-ext-impl.js.map +1 -1
- package/lib/plugin/file-system-watcher.spec.js +2 -1
- package/lib/plugin/file-system-watcher.spec.js.map +1 -1
- package/lib/plugin/known-commands.js +5 -5
- package/lib/plugin/known-commands.js.map +1 -1
- package/lib/plugin/known-commands.spec.js +2 -1
- package/lib/plugin/known-commands.spec.js.map +1 -1
- package/lib/plugin/languages/call-hierarchy.js +2 -1
- package/lib/plugin/languages/call-hierarchy.js.map +1 -1
- package/lib/plugin/languages/code-action.js +2 -1
- package/lib/plugin/languages/code-action.js.map +1 -1
- package/lib/plugin/languages/color.js +2 -1
- package/lib/plugin/languages/color.js.map +1 -1
- package/lib/plugin/languages/completion.js +2 -1
- package/lib/plugin/languages/completion.js.map +1 -1
- package/lib/plugin/languages/declaration.js +3 -2
- package/lib/plugin/languages/declaration.js.map +1 -1
- package/lib/plugin/languages/definition.js +3 -2
- package/lib/plugin/languages/definition.js.map +1 -1
- package/lib/plugin/languages/document-drop-edit.js +4 -3
- package/lib/plugin/languages/document-drop-edit.js.map +1 -1
- package/lib/plugin/languages/document-formatting.js +2 -1
- package/lib/plugin/languages/document-formatting.js.map +1 -1
- package/lib/plugin/languages/document-highlight.js +3 -2
- package/lib/plugin/languages/document-highlight.js.map +1 -1
- package/lib/plugin/languages/evaluatable-expression.js +2 -1
- package/lib/plugin/languages/evaluatable-expression.js.map +1 -1
- package/lib/plugin/languages/folding.js +2 -1
- package/lib/plugin/languages/folding.js.map +1 -1
- package/lib/plugin/languages/hover.js +2 -1
- package/lib/plugin/languages/hover.js.map +1 -1
- package/lib/plugin/languages/implementation.js +3 -2
- package/lib/plugin/languages/implementation.js.map +1 -1
- package/lib/plugin/languages/inlay-hints.js +2 -1
- package/lib/plugin/languages/inlay-hints.js.map +1 -1
- package/lib/plugin/languages/inline-completion.js +2 -1
- package/lib/plugin/languages/inline-completion.js.map +1 -1
- package/lib/plugin/languages/inline-values.js +2 -1
- package/lib/plugin/languages/inline-values.js.map +1 -1
- package/lib/plugin/languages/lens.js +2 -1
- package/lib/plugin/languages/lens.js.map +1 -1
- package/lib/plugin/languages/link-provider.js +2 -1
- package/lib/plugin/languages/link-provider.js.map +1 -1
- package/lib/plugin/languages/multi-document-highlight.js +3 -2
- package/lib/plugin/languages/multi-document-highlight.js.map +1 -1
- package/lib/plugin/languages/on-type-formatting.js +2 -1
- package/lib/plugin/languages/on-type-formatting.js.map +1 -1
- package/lib/plugin/languages/outline.js +3 -2
- package/lib/plugin/languages/outline.js.map +1 -1
- package/lib/plugin/languages/range-formatting.js +2 -1
- package/lib/plugin/languages/range-formatting.js.map +1 -1
- package/lib/plugin/languages/reference.js +2 -1
- package/lib/plugin/languages/reference.js.map +1 -1
- package/lib/plugin/languages/rename.js +2 -1
- package/lib/plugin/languages/rename.js.map +1 -1
- package/lib/plugin/languages/selection-range.js +2 -1
- package/lib/plugin/languages/selection-range.js.map +1 -1
- package/lib/plugin/languages/signature.js +2 -1
- package/lib/plugin/languages/signature.js.map +1 -1
- package/lib/plugin/languages/type-definition.js +3 -2
- package/lib/plugin/languages/type-definition.js.map +1 -1
- package/lib/plugin/languages/type-hierarchy.js +2 -1
- package/lib/plugin/languages/type-hierarchy.js.map +1 -1
- package/lib/plugin/languages/util.js +2 -1
- package/lib/plugin/languages/util.js.map +1 -1
- package/lib/plugin/languages/workspace-symbol.js +2 -1
- package/lib/plugin/languages/workspace-symbol.js.map +1 -1
- package/lib/plugin/node/debug/debug.spec.js +2 -1
- package/lib/plugin/node/debug/debug.spec.js.map +1 -1
- package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js +3 -2
- package/lib/plugin/node/debug/plugin-node-debug-adapter-creator.js.map +1 -1
- package/lib/plugin/node/env-node-ext.js +1 -1
- package/lib/plugin/node/env-node-ext.js.map +1 -1
- package/lib/plugin/notebook/notebook-document.js +3 -2
- package/lib/plugin/notebook/notebook-document.js.map +1 -1
- package/lib/plugin/notebook/notebook-editors.js +2 -1
- package/lib/plugin/notebook/notebook-editors.js.map +1 -1
- package/lib/plugin/notebook/notebooks.js +2 -1
- package/lib/plugin/notebook/notebooks.js.map +1 -1
- package/lib/plugin/path.spec.js +2 -1
- package/lib/plugin/path.spec.js.map +1 -1
- package/lib/plugin/plugin-context.js +1 -1
- package/lib/plugin/plugin-context.js.map +1 -1
- package/lib/plugin/plugin-icon-path.js +2 -1
- package/lib/plugin/plugin-icon-path.js.map +1 -1
- package/lib/plugin/plugin-manager.js +2 -2
- package/lib/plugin/plugin-manager.js.map +1 -1
- package/lib/plugin/preference-registry.spec.js +2 -1
- package/lib/plugin/preference-registry.spec.js.map +1 -1
- package/lib/plugin/quick-open.js +2 -1
- package/lib/plugin/quick-open.js.map +1 -1
- package/lib/plugin/relative-pattern.spec.js +3 -2
- package/lib/plugin/relative-pattern.spec.js.map +1 -1
- package/lib/plugin/scm.d.ts.map +1 -1
- package/lib/plugin/scm.js +14 -1
- package/lib/plugin/scm.js.map +1 -1
- package/lib/plugin/scm.spec.js +56 -1
- package/lib/plugin/scm.spec.js.map +1 -1
- package/lib/plugin/tasks/task-provider.js +2 -1
- package/lib/plugin/tasks/task-provider.js.map +1 -1
- package/lib/plugin/tasks/tasks.js +2 -1
- package/lib/plugin/tasks/tasks.js.map +1 -1
- package/lib/plugin/telemetry-ext.spec.js +2 -1
- package/lib/plugin/telemetry-ext.spec.js.map +1 -1
- package/lib/plugin/terminal-ext.js +1 -1
- package/lib/plugin/terminal-ext.js.map +1 -1
- package/lib/plugin/terminal-ext.spec.js +2 -1
- package/lib/plugin/terminal-ext.spec.js.map +1 -1
- package/lib/plugin/tests.js +1 -1
- package/lib/plugin/tests.js.map +1 -1
- package/lib/plugin/text-editor.js +2 -1
- package/lib/plugin/text-editor.js.map +1 -1
- package/lib/plugin/text-editors.js +2 -1
- package/lib/plugin/text-editors.js.map +1 -1
- package/lib/plugin/tree/tree-views.d.ts.map +1 -1
- package/lib/plugin/tree/tree-views.js +2 -1
- package/lib/plugin/tree/tree-views.js.map +1 -1
- package/lib/plugin/type-converters.js +6 -5
- package/lib/plugin/type-converters.js.map +1 -1
- package/lib/plugin/type-converters.spec.js +5 -4
- package/lib/plugin/type-converters.spec.js.map +1 -1
- package/lib/plugin/types-impl.d.ts +10 -0
- package/lib/plugin/types-impl.d.ts.map +1 -1
- package/lib/plugin/types-impl.js +7 -1
- package/lib/plugin/types-impl.js.map +1 -1
- package/lib/plugin/types-impl.spec.js +25 -2
- package/lib/plugin/types-impl.spec.js.map +1 -1
- package/lib/plugin/workspace.js +2 -2
- package/lib/plugin/workspace.js.map +1 -1
- package/lib/plugin/workspace.spec.js +2 -1
- package/lib/plugin/workspace.spec.js.map +1 -1
- package/lib/plugin-ext-frontend-electron-module.js +2 -1
- package/lib/plugin-ext-frontend-electron-module.js.map +1 -1
- package/lib/plugin-ext-frontend-module.js +2 -1
- package/lib/plugin-ext-frontend-module.js.map +1 -1
- package/package.json +32 -32
- package/src/common/character-classifier.ts +1 -1
- package/src/common/plugin-api-rpc.ts +2 -0
- package/src/common/plugin-protocol.ts +18 -0
- package/src/hosted/browser/hosted-plugin.spec.ts +66 -0
- package/src/hosted/browser/hosted-plugin.ts +3 -1
- package/src/hosted/node/plugin-host-proxy.ts +6 -3
- package/src/hosted/node/plugin-reader.ts +1 -1
- package/src/hosted/node/plugin-require-override.spec.ts +44 -0
- package/src/hosted/node/plugin-require-override.ts +1 -0
- package/src/main/browser/file-system-main-impl.ts +1 -1
- package/src/main/browser/main-file-system-event-service.ts +2 -49
- package/src/main/browser/menus/menus-contribution-handler.ts +6 -13
- package/src/main/browser/notebooks/renderers/output-webview-internal.ts +6 -3
- package/src/main/browser/plugin-shared-style.ts +2 -2
- package/src/main/browser/scm-main.spec.ts +32 -0
- package/src/main/browser/scm-main.ts +6 -2
- package/src/main/browser/view/plugin-view-registry.spec.ts +277 -12
- package/src/main/browser/view/plugin-view-registry.ts +76 -21
- package/src/main/browser/view/tree-view-widget.tsx +1 -1
- package/src/main/browser/webview/pre/main.js +19 -10
- package/src/main/browser/webview/pre/main.spec.ts +46 -0
- package/src/main/browser/webview/webview.ts +7 -3
- package/src/main/node/handlers/plugin-theia-directory-handler.ts +1 -1
- package/src/main/node/handlers/plugin-theia-file-handler.ts +1 -1
- package/src/main/node/plugin-deployer-file-handler-context-impl.ts +1 -1
- package/src/main/node/plugin-deployer-impl.spec.ts +75 -0
- package/src/main/node/plugin-deployer-impl.ts +7 -2
- package/src/main/node/plugin-service.ts +1 -1
- package/src/plugin/document-data.ts +0 -1
- package/src/plugin/file-system-event-service-ext-impl.ts +1 -1
- package/src/plugin/file-system-ext-impl.ts +2 -2
- package/src/plugin/known-commands.ts +5 -5
- package/src/plugin/plugin-context.ts +4 -4
- package/src/plugin/plugin-manager.ts +1 -1
- package/src/plugin/scm.spec.ts +67 -1
- package/src/plugin/scm.ts +18 -1
- package/src/plugin/tests.ts +2 -2
- package/src/plugin/tree/tree-views.ts +2 -1
- package/src/plugin/type-converters.spec.ts +1 -1
- package/src/plugin/types-impl.spec.ts +25 -0
- package/src/plugin/types-impl.ts +7 -0
- package/lib/main/browser/main-file-system-event-service.spec.d.ts +0 -2
- package/lib/main/browser/main-file-system-event-service.spec.d.ts.map +0 -1
- package/lib/main/browser/main-file-system-event-service.spec.js +0 -100
- package/lib/main/browser/main-file-system-event-service.spec.js.map +0 -1
- package/src/main/browser/main-file-system-event-service.spec.ts +0 -125
|
@@ -96,6 +96,7 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
96
96
|
// TODO workbench.panel.comments - Theia does not have a proper comments view yet
|
|
97
97
|
this.updateFocusedView();
|
|
98
98
|
this.shell.onDidChangeActiveWidget(() => this.updateFocusedView());
|
|
99
|
+
this.onDidExpandView(viewId => this.prepareWelcomeOnlyView(viewId).catch(e => this.logger.error(e)));
|
|
99
100
|
this.widgetManager.onWillCreateWidget(({ factoryId, widget, waitUntil }) => {
|
|
100
101
|
if (factoryId === browser_2.EXPLORER_VIEW_CONTAINER_ID && widget instanceof browser_1.ViewContainer) {
|
|
101
102
|
waitUntil(this.prepareViewContainer('explorer', widget));
|
|
@@ -267,16 +268,32 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
267
268
|
}, viewContainer.when?.trim()));
|
|
268
269
|
return toDispose;
|
|
269
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* Toggles the view container the same way as {@link AbstractViewContribution.toggleView}:
|
|
273
|
+
* collapses its panel if it is the visible tab, otherwise opens and activates it.
|
|
274
|
+
*/
|
|
270
275
|
async toggleViewContainer(id) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
276
|
+
const existing = await this.getPluginViewContainer(id);
|
|
277
|
+
const tabBar = existing && this.shell.getTabBarFor(existing);
|
|
278
|
+
const area = existing && this.shell.getAreaFor(existing);
|
|
279
|
+
if (existing && tabBar && area && this.shell.isExpanded(area) && tabBar.currentTitle === existing.title) {
|
|
280
|
+
if (area === 'left' || area === 'right') {
|
|
281
|
+
await this.shell.collapsePanel(area);
|
|
282
|
+
}
|
|
283
|
+
else if (area === 'bottom') {
|
|
284
|
+
// Don't collapse the bottom panel if it's currently split
|
|
285
|
+
if (this.shell.bottomAreaTabBars.length === 1) {
|
|
286
|
+
await this.shell.collapsePanel('bottom');
|
|
287
|
+
}
|
|
279
288
|
}
|
|
289
|
+
else {
|
|
290
|
+
existing.dispose();
|
|
291
|
+
}
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
const widget = await this.openViewContainer(id);
|
|
295
|
+
if (widget) {
|
|
296
|
+
await this.shell.activateWidget(widget.id);
|
|
280
297
|
}
|
|
281
298
|
}
|
|
282
299
|
doRegisterViewContainer(id, location, options, when) {
|
|
@@ -289,18 +306,22 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
289
306
|
toDispose.push(disposable_1.Disposable.create(() => this.viewContainerClauseContexts.delete(id)));
|
|
290
307
|
}
|
|
291
308
|
}
|
|
292
|
-
const toggleCommandId = `plugin.view-container.${id}.toggle`;
|
|
293
309
|
// Some plugins may register empty view containers.
|
|
294
310
|
// We should not register commands for them immediately, as that leads to bad UX.
|
|
295
311
|
// Instead, we register commands the first time we add a view to them.
|
|
296
312
|
let activate = () => {
|
|
313
|
+
// Like VS Code, use the container's id, e.g. `workbench.view.extension.${id}`, as the command id
|
|
297
314
|
toDispose.push(this.commands.registerCommand({
|
|
298
|
-
id
|
|
315
|
+
id,
|
|
299
316
|
category: core_1.nls.localizeByDefault('View'),
|
|
300
317
|
label: core_1.nls.localizeByDefault('Toggle {0}', options.label)
|
|
301
318
|
}, {
|
|
302
319
|
execute: () => this.toggleViewContainer(id)
|
|
303
320
|
}));
|
|
321
|
+
// Kept for backward compatibility with keybindings that use the former command id
|
|
322
|
+
toDispose.push(this.commands.registerCommand({ id: `plugin.view-container.${id}.toggle` }, {
|
|
323
|
+
execute: () => this.toggleViewContainer(id)
|
|
324
|
+
}));
|
|
304
325
|
toDispose.push(this.registerViewMenuAction(id, options.label));
|
|
305
326
|
toDispose.push(this.quickView?.registerItem({
|
|
306
327
|
label: options.label,
|
|
@@ -401,7 +422,7 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
401
422
|
}
|
|
402
423
|
}
|
|
403
424
|
const disposable = this.menus.registerMenuAction(browser_1.CommonMenus.VIEW_VIEWS, {
|
|
404
|
-
commandId:
|
|
425
|
+
commandId: id,
|
|
405
426
|
label: menuLabel,
|
|
406
427
|
when: containerInfo.when
|
|
407
428
|
});
|
|
@@ -468,14 +489,22 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
468
489
|
when: view.when,
|
|
469
490
|
open: () => this.openView(view.id, { activate: true })
|
|
470
491
|
}));
|
|
471
|
-
toDispose.push(this.commands.registerCommand({
|
|
472
|
-
|
|
492
|
+
toDispose.push(this.commands.registerCommand({
|
|
493
|
+
id: `${view.id}.focus`,
|
|
494
|
+
category: this.viewContainers.get(viewContainerId)?.options.label,
|
|
495
|
+
label: core_1.nls.localizeByDefault('Focus on {0} View', view.name)
|
|
496
|
+
}, {
|
|
497
|
+
execute: async (options) => { await this.openView(view.id, this.toOpenViewOptions(options)); },
|
|
498
|
+
isVisible: () => this.isViewVisible(view.id)
|
|
473
499
|
}));
|
|
474
500
|
toDispose.push(this.commands.registerCommand({ id: `${view.id}.open` }, {
|
|
475
|
-
execute: async () => { await this.openView(view.id,
|
|
501
|
+
execute: async (options) => { await this.openView(view.id, this.toOpenViewOptions(options)); }
|
|
476
502
|
}));
|
|
477
503
|
return toDispose;
|
|
478
504
|
}
|
|
505
|
+
toOpenViewOptions(options) {
|
|
506
|
+
return options?.preserveFocus ? { reveal: true } : { activate: true };
|
|
507
|
+
}
|
|
479
508
|
async resolveWebviewView(viewId, webview, cancellation) {
|
|
480
509
|
const resolver = this.webviewViewResolvers.get(viewId);
|
|
481
510
|
if (resolver) {
|
|
@@ -545,13 +574,20 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
545
574
|
this.openView(viewId, preserveFocus ? { reveal: true } : { activate: true });
|
|
546
575
|
}
|
|
547
576
|
};
|
|
548
|
-
|
|
577
|
+
// Like VS Code, resolve a webview view only once it is visible: extensions start work in
|
|
578
|
+
// `resolveWebviewView`, and views that are hidden or never opened should not pay for it.
|
|
579
|
+
const resolveIfVisible = () => {
|
|
580
|
+
if (webview.isVisible) {
|
|
581
|
+
webviewView.resolve();
|
|
582
|
+
}
|
|
583
|
+
};
|
|
584
|
+
const toDispose = new disposable_1.DisposableCollection(this.onNewResolverRegistered(resolver => {
|
|
549
585
|
if (resolver.viewType === viewId) {
|
|
550
586
|
// Potentially re-activate if we have a new resolver
|
|
551
|
-
|
|
587
|
+
resolveIfVisible();
|
|
552
588
|
}
|
|
553
|
-
});
|
|
554
|
-
|
|
589
|
+
}), webview.onDidChangeVisibility(resolveIfVisible));
|
|
590
|
+
resolveIfVisible();
|
|
555
591
|
return webviewView;
|
|
556
592
|
}
|
|
557
593
|
registerViewWelcome(viewWelcome) {
|
|
@@ -642,7 +678,8 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
642
678
|
const currentDataWidget = widget.widgets[0];
|
|
643
679
|
const webviewId = currentDataWidget instanceof webview_1.WebviewWidget ? currentDataWidget.identifier?.id : undefined;
|
|
644
680
|
const viewDataWidget = await this.createViewDataWidget(view.id, webviewId);
|
|
645
|
-
|
|
681
|
+
// `onDidInitializeLayout` can dispose the data widget before it is added here.
|
|
682
|
+
if (widget.isDisposed || viewDataWidget?.isDisposed) {
|
|
646
683
|
viewDataWidget?.dispose();
|
|
647
684
|
return;
|
|
648
685
|
}
|
|
@@ -868,8 +905,8 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
868
905
|
return `view-welcome.${viewId}.${index}`;
|
|
869
906
|
}
|
|
870
907
|
/**
|
|
871
|
-
*
|
|
872
|
-
*
|
|
908
|
+
* Retrieves the restored state of the data widgets and disposes them: a view gets a new data widget
|
|
909
|
+
* once its data provider registers or, for a view with only welcome content, once it is expanded.
|
|
873
910
|
*/
|
|
874
911
|
onDidInitializeLayout() {
|
|
875
912
|
const widgets = this.widgetManager.getWidgets(exports.PLUGIN_VIEW_DATA_FACTORY_ID);
|
|
@@ -945,6 +982,20 @@ let PluginViewRegistry = class PluginViewRegistry {
|
|
|
945
982
|
}
|
|
946
983
|
return widget;
|
|
947
984
|
}
|
|
985
|
+
/**
|
|
986
|
+
* Gives an expanded view that has `viewsWelcome` content but neither a data provider nor a
|
|
987
|
+
* content widget its welcome widget, which `onDidInitializeLayout` disposes when it was restored.
|
|
988
|
+
*/
|
|
989
|
+
async prepareWelcomeOnlyView(viewId) {
|
|
990
|
+
if (this.views.get(viewId)?.[1]?.type === common_1.PluginViewType.Webview
|
|
991
|
+
|| this.viewDataProviders.has(viewId) || !this.getViewWelcomes(viewId).length) {
|
|
992
|
+
return;
|
|
993
|
+
}
|
|
994
|
+
const view = await this.getView(viewId);
|
|
995
|
+
if (view && !view.widgets.length) {
|
|
996
|
+
await this.prepareView(view);
|
|
997
|
+
}
|
|
998
|
+
}
|
|
948
999
|
async createViewWelcomeWidget(viewId) {
|
|
949
1000
|
const widget = await this.widgetManager.getOrCreateWidget(exports.PLUGIN_VIEW_DATA_FACTORY_ID, { id: viewId });
|
|
950
1001
|
if (!widget.model.root) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-view-registry.js","sourceRoot":"","sources":["../../../../src/main/browser/view/plugin-view-registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-view-registry.js","sourceRoot":"","sources":["../../../../src/main/browser/view/plugin-view-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({})
|
|
|
24
24
|
const chai_1 = require("chai");
|
|
25
25
|
const common_1 = require("@theia/core/lib/common");
|
|
26
26
|
const plugin_view_registry_1 = require("./plugin-view-registry");
|
|
27
|
+
const common_2 = require("../../../common");
|
|
28
|
+
const widget_1 = require("@theia/core/lib/browser/widgets/widget");
|
|
27
29
|
disableJSDOM();
|
|
28
30
|
/**
|
|
29
31
|
* Minimal stand-in for {@link MenuModelRegistry} that records the menu actions registered for the
|
|
@@ -42,7 +44,6 @@ class RecordingMenuModelRegistry {
|
|
|
42
44
|
describe('PluginViewRegistry - view menu labels', () => {
|
|
43
45
|
let registry;
|
|
44
46
|
let menus;
|
|
45
|
-
const toggleCommandId = (id) => `plugin.view-container.${id}.toggle`;
|
|
46
47
|
const internals = () => registry;
|
|
47
48
|
function registerContainer(id, label, location) {
|
|
48
49
|
internals().viewContainers.set(id, { id, location, options: { label }, onViewAdded: () => { } });
|
|
@@ -55,33 +56,33 @@ describe('PluginViewRegistry - view menu labels', () => {
|
|
|
55
56
|
});
|
|
56
57
|
it('uses the plain label for a single container', () => {
|
|
57
58
|
registerContainer('a', 'Claude Code', 'left');
|
|
58
|
-
(0, chai_1.expect)(menus.actions.get(
|
|
59
|
+
(0, chai_1.expect)(menus.actions.get('a')?.label).to.equal('Claude Code');
|
|
59
60
|
});
|
|
60
61
|
it('leaves distinct labels unsuffixed', () => {
|
|
61
62
|
registerContainer('a', 'Explorer', 'left');
|
|
62
63
|
registerContainer('b', 'Claude Code', 'right');
|
|
63
|
-
(0, chai_1.expect)(menus.actions.get(
|
|
64
|
-
(0, chai_1.expect)(menus.actions.get(
|
|
64
|
+
(0, chai_1.expect)(menus.actions.get('a')?.label).to.equal('Explorer');
|
|
65
|
+
(0, chai_1.expect)(menus.actions.get('b')?.label).to.equal('Claude Code');
|
|
65
66
|
});
|
|
66
67
|
it('suffixes the location when two containers share a label', () => {
|
|
67
68
|
registerContainer('a', 'Claude Code', 'left');
|
|
68
69
|
registerContainer('b', 'Claude Code', 'right');
|
|
69
|
-
(0, chai_1.expect)(menus.actions.get(
|
|
70
|
-
(0, chai_1.expect)(menus.actions.get(
|
|
70
|
+
(0, chai_1.expect)(menus.actions.get('a')?.label).to.equal('Claude Code (Side Bar)');
|
|
71
|
+
(0, chai_1.expect)(menus.actions.get('b')?.label).to.equal('Claude Code (Secondary Side Bar)');
|
|
71
72
|
});
|
|
72
73
|
it('drops the suffix from the remaining container once the duplicate is removed', () => {
|
|
73
74
|
registerContainer('a', 'Claude Code', 'left');
|
|
74
75
|
const disposeB = registerContainer('b', 'Claude Code', 'right');
|
|
75
76
|
disposeB.dispose();
|
|
76
|
-
(0, chai_1.expect)(menus.actions.get(
|
|
77
|
-
(0, chai_1.expect)(menus.actions.has(
|
|
77
|
+
(0, chai_1.expect)(menus.actions.get('a')?.label).to.equal('Claude Code');
|
|
78
|
+
(0, chai_1.expect)(menus.actions.has('b')).to.equal(false);
|
|
78
79
|
});
|
|
79
80
|
});
|
|
81
|
+
const welcome = (view) => ({ view, content: `[Hi](command:${view}.hi)`, order: 0 });
|
|
80
82
|
describe('PluginViewRegistry - welcome-only views', () => {
|
|
81
83
|
let registry;
|
|
82
84
|
let createdWidget;
|
|
83
85
|
let getOrCreateCalls;
|
|
84
|
-
const welcome = (view) => ({ view, content: `[Hi](command:${view}.hi)`, order: 0 });
|
|
85
86
|
const internals = () => registry;
|
|
86
87
|
beforeEach(() => {
|
|
87
88
|
registry = new plugin_view_registry_1.PluginViewRegistry();
|
|
@@ -117,4 +118,182 @@ describe('PluginViewRegistry - welcome-only views', () => {
|
|
|
117
118
|
(0, chai_1.expect)(getOrCreateCalls).to.have.lengthOf(0);
|
|
118
119
|
});
|
|
119
120
|
});
|
|
121
|
+
describe('PluginViewRegistry - welcome-only views on expand', () => {
|
|
122
|
+
const noop = () => common_1.Disposable.NULL;
|
|
123
|
+
let registry;
|
|
124
|
+
let view;
|
|
125
|
+
let prepared;
|
|
126
|
+
const internals = () => registry;
|
|
127
|
+
async function expand(viewId) {
|
|
128
|
+
internals().onDidExpandViewEmitter.fire(viewId);
|
|
129
|
+
await new Promise(resolve => setTimeout(resolve));
|
|
130
|
+
}
|
|
131
|
+
beforeEach(() => {
|
|
132
|
+
registry = new plugin_view_registry_1.PluginViewRegistry();
|
|
133
|
+
view = { widgets: [] };
|
|
134
|
+
prepared = [];
|
|
135
|
+
Object.assign(registry, {
|
|
136
|
+
shell: { activeWidget: undefined, onDidChangeActiveWidget: noop, initialized: new Promise(() => { }) },
|
|
137
|
+
viewContextKeys: { focusedView: { reset: () => { } } },
|
|
138
|
+
contextKeyService: { onDidChange: noop },
|
|
139
|
+
widgetManager: { onWillCreateWidget: noop, onDidCreateWidget: noop, getWidget: async () => view },
|
|
140
|
+
prepareView: async (widget) => { prepared.push(widget); }
|
|
141
|
+
});
|
|
142
|
+
internals().init();
|
|
143
|
+
internals().views.set('actions', ['container', {}]);
|
|
144
|
+
internals().viewsWelcome.set('actions', [welcome('actions')]);
|
|
145
|
+
});
|
|
146
|
+
it('prepares an empty welcome-only view when it is expanded, as after restoring a saved layout', async () => {
|
|
147
|
+
await expand('actions');
|
|
148
|
+
(0, chai_1.expect)(prepared).to.deep.equal([view]);
|
|
149
|
+
});
|
|
150
|
+
it('leaves a view with a data provider to the provider', async () => {
|
|
151
|
+
internals().viewDataProviders.set('actions', () => undefined);
|
|
152
|
+
await expand('actions');
|
|
153
|
+
(0, chai_1.expect)(prepared).to.have.lengthOf(0);
|
|
154
|
+
});
|
|
155
|
+
it('leaves a view that already has content alone', async () => {
|
|
156
|
+
view.widgets.push({});
|
|
157
|
+
await expand('actions');
|
|
158
|
+
(0, chai_1.expect)(prepared).to.have.lengthOf(0);
|
|
159
|
+
});
|
|
160
|
+
it('leaves a view without welcomes alone', async () => {
|
|
161
|
+
internals().viewsWelcome.delete('actions');
|
|
162
|
+
await expand('actions');
|
|
163
|
+
(0, chai_1.expect)(prepared).to.have.lengthOf(0);
|
|
164
|
+
});
|
|
165
|
+
it('leaves a webview view alone', async () => {
|
|
166
|
+
internals().views.set('actions', ['container', { type: common_2.PluginViewType.Webview }]);
|
|
167
|
+
await expand('actions');
|
|
168
|
+
(0, chai_1.expect)(prepared).to.have.lengthOf(0);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
describe('PluginViewRegistry - prepareView', () => {
|
|
172
|
+
let registry;
|
|
173
|
+
let view;
|
|
174
|
+
let dataWidget;
|
|
175
|
+
beforeEach(() => {
|
|
176
|
+
registry = new plugin_view_registry_1.PluginViewRegistry();
|
|
177
|
+
view = {
|
|
178
|
+
options: { viewId: 'actions' },
|
|
179
|
+
title: { label: '' },
|
|
180
|
+
widgets: [],
|
|
181
|
+
isDisposed: false,
|
|
182
|
+
addWidget(widget) {
|
|
183
|
+
this.widgets.push(widget);
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
dataWidget = { isDisposed: false, dispose: () => { } };
|
|
187
|
+
registry.views.set('actions', ['container', { id: 'actions', name: 'Actions' }]);
|
|
188
|
+
registry.createViewDataWidget = async () => dataWidget;
|
|
189
|
+
});
|
|
190
|
+
const prepareView = () => registry.prepareView(view);
|
|
191
|
+
it('adds the created data widget to the view', async () => {
|
|
192
|
+
await prepareView();
|
|
193
|
+
(0, chai_1.expect)(view.widgets).to.deep.equal([dataWidget]);
|
|
194
|
+
});
|
|
195
|
+
it('leaves the view empty when its data widget was disposed before it could be added', async () => {
|
|
196
|
+
dataWidget.isDisposed = true;
|
|
197
|
+
await prepareView();
|
|
198
|
+
(0, chai_1.expect)(view.widgets).to.have.lengthOf(0);
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
describe('PluginViewRegistry - VS Code view commands', () => {
|
|
202
|
+
let registry;
|
|
203
|
+
let commands;
|
|
204
|
+
const internals = () => registry;
|
|
205
|
+
beforeEach(() => {
|
|
206
|
+
registry = new plugin_view_registry_1.PluginViewRegistry();
|
|
207
|
+
commands = new Map();
|
|
208
|
+
registry.commands = {
|
|
209
|
+
registerCommand: (command) => {
|
|
210
|
+
commands.set(command.id, command);
|
|
211
|
+
return common_1.Disposable.create(() => commands.delete(command.id));
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
registry.menus = new RecordingMenuModelRegistry();
|
|
215
|
+
registry.quickView = { registerItem: () => common_1.Disposable.NULL };
|
|
216
|
+
});
|
|
217
|
+
it('registers the container id and the view focus and open commands once a view is added', () => {
|
|
218
|
+
const containerId = 'workbench.view.extension.sample';
|
|
219
|
+
internals().doRegisterViewContainer(containerId, 'left', { label: 'Sample' });
|
|
220
|
+
(0, chai_1.expect)(commands.has(containerId)).to.equal(false);
|
|
221
|
+
const disposeView = registry.registerView('sample', { id: 'sample.view', name: 'Sample View' });
|
|
222
|
+
(0, chai_1.expect)(commands.get(containerId)).to.include({ label: 'Toggle Sample', category: 'View' });
|
|
223
|
+
(0, chai_1.expect)(commands.get('plugin.view-container.workbench.view.extension.sample.toggle')?.label).to.equal(undefined);
|
|
224
|
+
(0, chai_1.expect)(commands.get('sample.view.focus')).to.include({ label: 'Focus on Sample View View', category: 'Sample' });
|
|
225
|
+
(0, chai_1.expect)(commands.has('sample.view.open')).to.equal(true);
|
|
226
|
+
disposeView.dispose();
|
|
227
|
+
(0, chai_1.expect)(commands.has('sample.view.focus')).to.equal(false);
|
|
228
|
+
(0, chai_1.expect)(commands.has('sample.view.open')).to.equal(false);
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
describe('PluginViewRegistry - webview view resolution', () => {
|
|
232
|
+
class FakeWebviewWidget extends widget_1.BaseWidget {
|
|
233
|
+
setContentOptions() { }
|
|
234
|
+
}
|
|
235
|
+
const viewId = 'test.webviewView';
|
|
236
|
+
let registry;
|
|
237
|
+
let webview;
|
|
238
|
+
let resolveCount;
|
|
239
|
+
let disableDom;
|
|
240
|
+
const createWebviewView = () => registry.createNewWebviewView(viewId);
|
|
241
|
+
const registerResolver = () => registry.registerWebviewView(viewId, { resolve: async () => { resolveCount++; } });
|
|
242
|
+
const settle = () => new Promise(resolve => setTimeout(resolve, 0));
|
|
243
|
+
before(() => disableDom = (0, jsdom_1.enableJSDOM)());
|
|
244
|
+
after(() => disableDom());
|
|
245
|
+
beforeEach(() => {
|
|
246
|
+
registry = new plugin_view_registry_1.PluginViewRegistry();
|
|
247
|
+
webview = new FakeWebviewWidget();
|
|
248
|
+
resolveCount = 0;
|
|
249
|
+
registry.widgetManager = { getOrCreateWidget: async () => webview };
|
|
250
|
+
});
|
|
251
|
+
afterEach(() => webview.dispose());
|
|
252
|
+
it('does not resolve a webview view that has not been shown', async () => {
|
|
253
|
+
await createWebviewView();
|
|
254
|
+
await registerResolver();
|
|
255
|
+
await settle();
|
|
256
|
+
(0, chai_1.expect)(resolveCount).to.equal(0);
|
|
257
|
+
});
|
|
258
|
+
it('resolves a webview view once it is shown', async () => {
|
|
259
|
+
await createWebviewView();
|
|
260
|
+
await registerResolver();
|
|
261
|
+
await settle();
|
|
262
|
+
widget_1.Widget.attach(webview, document.body);
|
|
263
|
+
await settle();
|
|
264
|
+
(0, chai_1.expect)(resolveCount).to.equal(1);
|
|
265
|
+
});
|
|
266
|
+
it('resolves a webview view that is shown before its provider is registered', async () => {
|
|
267
|
+
await createWebviewView();
|
|
268
|
+
widget_1.Widget.attach(webview, document.body);
|
|
269
|
+
await settle();
|
|
270
|
+
await registerResolver();
|
|
271
|
+
await settle();
|
|
272
|
+
(0, chai_1.expect)(resolveCount).to.equal(1);
|
|
273
|
+
});
|
|
274
|
+
it('resolves a webview view in a hidden parent only once the parent is shown', async () => {
|
|
275
|
+
const parent = new widget_1.Panel();
|
|
276
|
+
parent.hide();
|
|
277
|
+
parent.addWidget(webview);
|
|
278
|
+
widget_1.Widget.attach(parent, document.body);
|
|
279
|
+
await createWebviewView();
|
|
280
|
+
await registerResolver();
|
|
281
|
+
await settle();
|
|
282
|
+
(0, chai_1.expect)(resolveCount).to.equal(0);
|
|
283
|
+
parent.show();
|
|
284
|
+
await settle();
|
|
285
|
+
parent.hide();
|
|
286
|
+
parent.show();
|
|
287
|
+
await settle();
|
|
288
|
+
(0, chai_1.expect)(resolveCount).to.equal(1);
|
|
289
|
+
parent.dispose();
|
|
290
|
+
});
|
|
291
|
+
it('does not resolve a webview view that is disposed before it is shown', async () => {
|
|
292
|
+
await createWebviewView();
|
|
293
|
+
webview.dispose();
|
|
294
|
+
await registerResolver();
|
|
295
|
+
await settle();
|
|
296
|
+
(0, chai_1.expect)(resolveCount).to.equal(0);
|
|
297
|
+
});
|
|
298
|
+
});
|
|
120
299
|
//# sourceMappingURL=plugin-view-registry.spec.js.map
|