[FEATURE] Mods: allow styled text on the same row as the native PromptHint line
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
A mod can add text to the left side of the footer only through PromptHint's tail, which the terminal draws dim. I want to show the model, the effort and ultracode there, with ultracode in the theme's effortUltra purple.
On 2.1.287 (fullscreen, Windows) every way to style it fails:
tailis a plain string, drawn dim.- Returning my own tree that embeds the native node (
await next(e)) keeps the mode pill and the hints alive, but my elements always go to a second row. I tried aBoxwith no props,flexDirection="row"withflexWrap="nowrap"andflexShrink={0}, and my text before the native node: same result. - A
Boxwithwidtharound the native node is refused:engine node under a Box with prop "width"; the engine drew its own. - Replacing the line without the native node loses the live permission-mode pill (
⏵⏵ auto mode on), which is in no prop.
So a footer mod has to choose between styled text and the native hints.
Proposed Solution
Any one of these:
- Let
tailtake styled segments, for example[{ text: 'ultracode', color: 'effortUltra', bold: true }], or a small inline tree ofText. - Make the native node inline, so
<Box flexDirection="row">{native}<Text color=…>…</Text></Box>stays on one row. - Expose the mode pill (and the hint) as props, so a plugin can redraw the whole line itself.
Alternative Solutions
Keep tail dim, or move the styled text to SessionMode, on the right side of the footer, which does accept a styled tree.
Priority
Low - Nice to have
Feature Category
Interactive mode (TUI)
Use Case Example
A status-bar mod shows Opus 5.5 · xhigh · ultracode on the left of the footer and usage on the right. The right side (SessionMode) draws colors and bold fine; the left side cannot.
Additional Context
Related: #98808 (opaque engine nodes in ui.render).