You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
1.4 KiB
Markdown
22 lines
1.4 KiB
Markdown
---
|
|
# claudbg-6gx6
|
|
title: 'TUI: color toggle with ''c'' key'
|
|
status: completed
|
|
type: task
|
|
priority: normal
|
|
created_at: 2026-03-31T00:33:01Z
|
|
updated_at: 2026-03-31T04:32:25Z
|
|
parent: claudbg-qpfe
|
|
---
|
|
|
|
In the TUI, pressing `c` toggles color coding on/off globally (affects all transcript views). Color is on by default unless NO_COLOR is set. The toggle state persists for the duration of the TUI session.
|
|
|
|
## Summary of Changes
|
|
|
|
Added a global color toggle to the TUI, activated with the `c` key:
|
|
|
|
- **`src/tui/state.rs`**: Added `color_enabled: bool` field to `AppState`. Initialised in `AppState::new()` by checking the `NO_COLOR` env var (false if set and non-empty, true otherwise). Added tests for both cases.
|
|
- **`src/tui/run.rs`**: Added `KeyCode::Char('c')` to the global event fallback handler to toggle `state.color_enabled`. Added a test for the toggle.
|
|
- **`src/tui/screens/transcript.rs`**: Updated `build_chat_lines` to accept a `color_enabled: bool` parameter and conditionally apply ratatui `Style` colours to role labels (orange for assistant, grey for user), tool-use lines (cyan), tool-result lines (green/red), and image lines (yellow). When `color_enabled` is false, all spans use `Style::default()`. Updated the call site in `render_transcript` to pass `state.color_enabled`. Updated all test calls to pass `false`.
|
|
- **`src/tui/modals/help_modal.rs`**: Added `c toggle color` line to `HELP_TEXT` and bumped `DIALOG_HEIGHT` from 14 to 15 to accommodate it.
|