Add ctx.ui.theme getter for styling status text with theme colors
- Add theme property to HookUIContext interface - Implement in interactive, RPC, and no-op contexts - Add status-line.ts example hook - Document styling with theme colors in hooks.md
This commit is contained in:
@@ -375,6 +375,9 @@ export class InteractiveMode {
|
||||
custom: (factory) => this.showHookCustom(factory),
|
||||
setEditorText: (text) => this.editor.setText(text),
|
||||
getEditorText: () => this.editor.getText(),
|
||||
get theme() {
|
||||
return theme;
|
||||
},
|
||||
};
|
||||
this.setToolUIContext(uiContext, true);
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ import * as crypto from "node:crypto";
|
||||
import * as readline from "readline";
|
||||
import type { AgentSession } from "../../core/agent-session.js";
|
||||
import type { HookUIContext } from "../../core/hooks/index.js";
|
||||
import { theme } from "../interactive/theme/theme.js";
|
||||
import type { RpcCommand, RpcHookUIRequest, RpcHookUIResponse, RpcResponse, RpcSessionState } from "./rpc-types.js";
|
||||
|
||||
// Re-export types for consumers
|
||||
@@ -150,6 +151,10 @@ export async function runRpcMode(session: AgentSession): Promise<never> {
|
||||
// Host should track editor state locally if needed
|
||||
return "";
|
||||
},
|
||||
|
||||
get theme() {
|
||||
return theme;
|
||||
},
|
||||
});
|
||||
|
||||
// Set up hooks with RPC-based UI context
|
||||
|
||||
Reference in New Issue
Block a user