mirror of
https://github.com/openai/codex.git
synced 2026-10-18 17:18:52 +00:00
## What changed Remove trailing periods from concise built-in option descriptions and disabled-option explanations, and simplify wording across TUI menus. Share the built-in permission preset descriptions between permission pickers. Document the convention in `codex-rs/tui/styles.md`, including normal punctuation for descriptions with multiple sentences and preservation of externally supplied descriptions. ## Testing Update menu assertions and rendering snapshots for the revised copy and line wrapping. GitOrigin-RevId: 3231d25484178452ab001af5ddc982460d14f94a
2.5 KiB
2.5 KiB
Headers, primary, and secondary text
-
Headers: Use
bold. For markdown with various header levels, leave in the#signs. -
Primary text: Default.
-
Secondary text: Use
style::secondary_text_style()for shared footer descriptions and status lines. It resolves a readable muted foreground when the terminal palette is known and clears inherited dim/bold modifiers. Other secondary surfaces may still usedim. -
Keyboard hints: Use
key_hintspan helpers for compact, uniformly bold shortcut labels and readable secondary descriptions. Include+,/, and chord separators in the label's emphasis. The?shortcut reference uses readable accent-colored keys without bold. Separate composer footer actions with·.
Foreground colors
- Default: Most of the time, just use the default foreground color.
resetcan help get it back. - Active controls and input emphasis: Use
style::accent_style()orstyle::accent_color_on(background)for text on a painted surface. - Semantic statuses: Use
style::status_style(StatusTone); terminal-owned ANSI colors remain the fallback for limited palettes. - Success and additions: Use ANSI
green. - Errors, failures and deletions: Use ANSI
red. - Codex: Use ANSI
magenta.
Avoid
- Avoid unchecked custom foreground colors. Use
style::readable_color_on(color, background)for theme-derived text, passing the background actually painted behind it.Nonemeans the terminal background; color reduction is included in the contrast check. When the background is unknown, supported theme colors are preserved rather than guessed. Generic code renderers preserve configured syntax foregrounds; diff rendering resolves them against its add/delete fills. - Avoid ANSI
black&whiteas foreground colors because the default terminal theme color will do a better job. (Useresetif you need to in order to get those.) The exception is if you need contrast rendering over a manually colored background. - Avoid ANSI
blueandyellowbecause for now the style guide doesn't use them. Prefer a foreground color mentioned above.
(There are some rules to try to catch this in clippy.toml.)
Menu descriptions
- Prefer concise built-in option descriptions and disabled-option explanations without trailing periods.
- When a description needs multiple sentences, keep normal punctuation, including the final period. Do not combine sentences at the expense of clarity.
- Preserve externally supplied descriptions as written.