feat: move snippets, keybinding actions and macros out of core into plugins

This commit is contained in:
LukeGus committed 2026-09-29 11:39:14 -05:00
1 parent d9bba10612
commit e0c30a4e6f
262 files changed
+9091 -10744

No files matched your search

@@ -0,0 +1,32 @@
import { useEffect } from "react";
import { useSettings } from "@termix/plugin-sdk/frontend";
import { SnippetVariablesDialog } from "./SnippetVariablesDialog";
import { readSnippetSettings } from "./settings";
import { setConfirmExecution, usePendingPrompt } from "./prompt-store";
/**
* Always mounted at the shell's root (the shell.overlay slot), so a snippet
* started from the command palette, a keybinding or a host button can ask
* for its inputs after whatever started it has closed.
*/
export function SnippetOverlay() {
const settings = useSettings("user");
const prompt = usePendingPrompt();
const confirmExecution = readSnippetSettings(
settings.values,
).confirmExecution;
useEffect(() => {
setConfirmExecution(confirmExecution);
}, [confirmExecution]);
if (!prompt) return null;
return (
<SnippetVariablesDialog
snippet={prompt.snippet}
host={prompt.host}
onCancel={() => prompt.settle(null)}
onConfirm={(_resolved, values) => prompt.settle(values)}
/>
);
}