Add ctx.ui.setFooter() for extensions to replace footer component
Extensions can now replace the built-in footer with a custom component: - setFooter(factory) replaces with custom component - setFooter(undefined) restores built-in footer Includes example extension demonstrating context usage display. Closes #481
This commit is contained in:
@@ -934,7 +934,7 @@ const text = await ctx.ui.editor("Edit:", "prefilled text");
|
||||
ctx.ui.notify("Done!", "info"); // "info" | "warning" | "error"
|
||||
```
|
||||
|
||||
### Widgets and Status
|
||||
### Widgets, Status, and Footer
|
||||
|
||||
```typescript
|
||||
// Status in footer (persistent until cleared)
|
||||
@@ -946,6 +946,13 @@ ctx.ui.setWidget("my-widget", ["Line 1", "Line 2"]);
|
||||
ctx.ui.setWidget("my-widget", (tui, theme) => new Text(theme.fg("accent", "Custom"), 0, 0));
|
||||
ctx.ui.setWidget("my-widget", undefined); // Clear
|
||||
|
||||
// Custom footer (replaces built-in footer entirely)
|
||||
ctx.ui.setFooter((tui, theme) => ({
|
||||
render(width) { return [theme.fg("dim", "Custom footer")]; },
|
||||
invalidate() {},
|
||||
}));
|
||||
ctx.ui.setFooter(undefined); // Restore built-in footer
|
||||
|
||||
// Terminal title
|
||||
ctx.ui.setTitle("pi - my-project");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user