You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TUI: bold action word and neutral_7 details on tool-call rows, hide zero diff sides (#14554)
## Description
Tool-call output rows in the TUI transcript rendered their whole label
in a single weight and color, so the action word did not stand out from
its details, and file-edit headers always printed both diff sides even
when one was zero (`+3 −0`).
This adds `styled_tool_call_label_spans`, which splits a tool-call label
into a **bold foreground action word** and regular `neutral_7` details,
and routes every tool-call surface through it:
- generic/fallback tool-call rows (`agent_block_sections.rs`) — covers
read, grep, glob, codebase search, MCP calls, and the rest,
- resolved shell-command headers (`tui_shell_command_view.rs`),
- file-edit headers and their pre-diff fallbacks
(`tui_file_edits_view.rs`).
Because all surfaces share one helper, they stay consistent as labels
change. The action word is located semantically rather than
positionally, since a few terminal-state labels place it last (`` `cmd`
exited … ``, `MCP tool … failed`); agent-authored summaries with no
known action word fall back to bolding their first word.
Diff stats now come from `file_edit_stats_label`, which emits `+N`,
`−M`, both, or nothing at all when a file has no changes — zero sides
are never rendered.
State glyphs and their colors, disclosure chevrons, hover styling, and
unrelated transcript chrome are untouched.
## Linked Issue
[APP-5068](https://linear.app/warpdotdev/issue/APP-5068/tui-bold-action-word-neutral-7-details-on-tool-call-rows-hide-zero)
- [x] The linked issue is labeled `ready-to-implement` (tracked in
Linear; triage complete, spec intentionally skipped).
- [x] Screenshots of the implementation are included below.
## Testing
Added regression tests across five files:
- `tui_builder_tests.rs` — `neutral_7_text_style` resolves to
`internal_colors::neutral_7` and carries no bold modifier.
- `tool_call_labels_tests.rs` — only the semantic action word is bolded,
including when it is trailing; details use `neutral_7`.
- `tui_file_edits_view_tests.rs` — `file_edit_stats_label` omits zero
sides (`+3`, `−2`, `+3 −2`, none), and header spans style the action,
details, and non-zero stats.
- `agent_block_tests.rs` and `tui_shell_command_view_tests.rs` —
cell-level assertions on rendered rows: glyph cell keeps its own style,
action cells are bold primary, detail cells are non-bold `neutral_7`.
What passed locally:
- `cargo nextest run -p warp_tui` — **871/871 passed**
- `cargo clippy -p warp_tui --all-targets --tests -- -D warnings` —
clean
- `./script/format` — clean
- `cargo build -p warp_tui --bin warp-tui-oss` — clean
- `./script/presubmit` — its `format`, inline-test check, `clippy`,
`clang-format`, and `wgslfmt` stages all passed, but the full-workspace
`cargo test --no-run` build could not complete in this sandbox: the
dedicated 55 GB `target` volume filled up (`No space left on device`,
then a bus-error link failure). **At the requester's direction,
presubmit was skipped and this PR was opened without it — CI is the
backstop for the full-repo gate.**
- [x] I have manually verified my changes in the running TUI (rendered
through the real cell-buffer/frame-renderer path and captured from a
live terminal).
### Screenshots / Videos
Rows rendered through the actual TUI frame renderer and captured from a
live terminal — note the bold `Read` / `Grepped` / `Ran` / `Updated`
against regular neutral details, the untouched green `✓` glyphs, and the
single `+3` with no `−0`:

<!-- oz:computer-use-videos start -->
### Computer-use video recordings
[View video recording: APP-5068 TUI visual verification clip rendered
from the captured terminal
frame.](https://staging.warp.dev/api/v1/agent/artifacts/019fb4d5-b889-7862-941e-a43e57800088/download)
<!-- oz:computer-use-videos end -->
## Agent Mode
- [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode
<!--
CHANGELOG-IMPROVEMENT: TUI tool-call rows now bold the action word and
render their details in a softer neutral tone, and file-edit rows no
longer show empty `+0`/`−0` counts.
-->
<!-- factory-agent:
{"source":"factory-agent","task_id":"APP-5068","task_source":"linear","task_url":"https://linear.app/warpdotdev/issue/APP-5068/tui-bold-action-word-neutral-7-details-on-tool-call-rows-hide-zero","oz_run_id":"019fb4a5-585c-747b-809a-ca7441c70e02","repo":"warpdotdev/warp"}
-->
_Conversation:
https://staging.warp.dev/conversation/61d28ba7-1716-4e5c-b4b2-6d8423edd2a2_
_Run:
https://oz.staging.warp.dev/runs/019fb4a5-585c-747b-809a-ca7441c70e02_
_This PR was generated with [Oz](https://warp.dev/oz)._
---------
Co-authored-by: Oz <oz-agent@warp.dev>
Co-authored-by: Warp <agent@warp.dev>
Co-authored-by: harryalbert <harryalbert364@gmail.com>
0 commit comments