+ Workspace
+ ${context.workspace.label}
+ ${context.workspace.path}
+
+ `,
+ },
+ ],
+ }),
+};
diff --git a/src/client/src/components/PiWebApp.ts b/src/client/src/components/PiWebApp.ts
index 02014ad..205363e 100644
--- a/src/client/src/components/PiWebApp.ts
+++ b/src/client/src/components/PiWebApp.ts
@@ -11,7 +11,7 @@ import { WorkspaceController } from "../controllers/workspaceController";
import { KeyboardShortcutDispatcher } from "../keyboardShortcuts";
import type { QualifiedContributionId, QualifiedWorkspacePanelContribution, PluginRuntimeContext } from "../plugins/types";
import { corePlugin } from "../plugins/core";
-import { examplePlugin } from "../plugins/example";
+import { loadExternalPlugins } from "../plugins/external";
import { PluginRegistry } from "../plugins/registry";
import { queryNamespace, readNamespacedString } from "../namespacedQueryArgs";
import { readRoute, writeRoute } from "../route";
@@ -76,6 +76,7 @@ export class PiWebApp extends LitElement {
window.addEventListener("popstate", this.onPopState);
window.addEventListener("keydown", this.onKeyDown);
this.sessions.connectStatusUpdates();
+ void this.loadExternalPlugins();
void this.loadProjectsAndRestoreRoute();
}
@@ -215,6 +216,15 @@ export class PiWebApp extends LitElement {
return this.plugins.getActions(this.createPluginRuntimeContext());
}
+ private async loadExternalPlugins(): Promise