mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-15 20:03:05 +00:00
- user_bash event for intercepting ! and !! commands (#528) - Extensions can return { operations } or { result } to redirect/replace - executeBashWithOperations() for custom BashOperations execution - session.recordBashResult() for extensions handling bash themselves - Theme API: getAllThemes(), getTheme(), setTheme() on ctx.ui - mac-system-theme.ts example: sync with macOS dark/light mode - Updated ssh.ts to use user_bash event
25 lines
642 B
TypeScript
25 lines
642 B
TypeScript
/**
|
|
* Syncs pi theme with macOS system appearance (dark/light mode).
|
|
*
|
|
* Usage:
|
|
* pi -e examples/extensions/mac-system-theme.ts
|
|
*/
|
|
|
|
import { execSync } from "node:child_process";
|
|
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
|
|
function isDarkMode(): boolean {
|
|
try {
|
|
execSync("defaults read -g AppleInterfaceStyle", { encoding: "utf-8" });
|
|
return true; // Returns "Dark" if dark mode
|
|
} catch {
|
|
return false; // Throws if light mode
|
|
}
|
|
}
|
|
|
|
export default function (pi: ExtensionAPI) {
|
|
pi.on("session_start", (_event, ctx) => {
|
|
const theme = isDarkMode() ? "dark" : "light";
|
|
ctx.ui.setTheme(theme);
|
|
});
|
|
}
|