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
- Add `_colors.py` module with `ColorMode` enum and `Colors` class
- Add global `--color` flag (auto/always/never) to CLI root parser
- Support `NO_COLOR` and `FORCE_COLOR` environment variables (CPython-style)
- Update `load.py` with semantic colors (info, success, error, highlight, etc.)
- Update `ls.py` and `debug_info.py` to use Colors class
Copy file name to clipboardExpand all lines: AGENTS.md
+66Lines changed: 66 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -195,3 +195,69 @@ $ uv run pytest --cov
195
195
- **QA every edit**: Run formatting and tests before committing
196
196
- **Minimum Python**: 3.10+ (per pyproject.toml)
197
197
- **Minimum tmux**: 3.2+ (as per README)
198
+
199
+
## CLI Color Semantics (Revision 1, 2026-01-04)
200
+
201
+
The CLI uses semantic colors via the `Colors` class in `src/tmuxp/_internal/colors.py`. Colors are chosen based on **hierarchy level** and **semantic meaning**, not just data type.
**Never use the same color for adjacent hierarchy levels.** If headers and items are both blue, they blend together. Each level must be visually distinct.
260
+
261
+
**Avoid dim/faint styling.** The ANSI dim attribute (`\x1b[2m`) is too dark to read on black terminal backgrounds. This includes both standard and bright color variants with dim.
262
+
263
+
**Bold may not render distinctly.** Some terminal/font combinations don't differentiate bold from normal weight. Don't rely on bold alone for visual distinction - pair it with color differences.
0 commit comments