Skip to content

fix(coding-agent): unify themed UI styles - #58

Merged
Pepps233 merged 13 commits into
feat/automatic-parent-continuationfrom
fix/theme-selection-styles
Aug 15, 2026
Merged

Pepps233 merged 13 commits into
feat/automatic-parent-continuationfrom
fix/theme-selection-styles

Conversation

@Pepps233

@Pepps233 Pepps233 commented Aug 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Unify theme-sensitive UI styling across startup content, selectors, prompt input, tool output, and built-in themes.

Reasoning

Theme previews updated the startup logo border but left other intro content styled with the previous theme. Selection rendering also mixed semantic colors and arrow glyphs, while prompt, tool, and warning colors had inconsistent contrast in related UI states.

This branch makes those states use shared semantic styles and ensures theme-dependent content is recomputed when the active theme changes.

Changes

  • Recompute styled startup details during rendering so theme previews and hot reloads update the complete intro.
  • Add selectionAccent as the semantic selected-row foreground, with compatibility fallbacks for themes that only define autocompleteSelected.
  • Share the > selected prefix and blank unselected prefix across TUI selectors.
  • Keep the prompt cursor visible on empty input, align wrapped text after the prompt marker, and preserve editable bash-mode behavior.
  • Improve built-in warning, success, accent, tool-state, and dark-theme background colors.
  • Render read ranges with the accent color and plan markers with the neutral tool-output color.
  • Make the update_plan schema compatible with DeepSeek while preserving its update-or-clear contract.
  • Update theme documentation, schema, and regression coverage.

Testing

  • npm run check
  • node --test --test-reporter=spec test/select-list.test.ts test/settings-list.test.ts from packages/tui
  • Focused Vitest coverage for themes, intro rendering, selectors, editor input, and scoped-model regressions
  • Interactive ./diffex-test.sh verification in tmux for dark/light theme previews, intro rendering, selection styles, and prompt behavior

@Pepps233 Pepps233 self-assigned this Aug 15, 2026
@Pepps233 Pepps233 added bug Something isn't working bug fix and removed bug Something isn't working labels Aug 15, 2026
@Pepps233
Pepps233 requested a review from Issacboy123 August 15, 2026 20:27
@Pepps233
Pepps233 marked this pull request as ready for review August 15, 2026 20:27
- Recomputes styled header details when the active theme changes
- Keeps theme previews and hot reloads visually consistent
- Uses one blue semantic token for selector prefixes and primary selected text
- Replaces divergent arrow glyphs with the shared greater-than marker
- Keeps the typing position visible before the user enters text
- Preserves placeholder styling while highlighting its first grapheme
- Improves warning contrast across built-in dark and light themes
- Keeps semantic warning styling consistent through the shared yellow variable
- Blinks the empty placeholder cursor with the same reverse-video style as typed input
- Keeps placeholder and wrapped user text aligned after a persistent greater-than marker
- Give update_plan the root object type required by DeepSeek
- Preserve strict update-or-clear branches in the tool contract
- Makes bash mode visually distinct without duplicating its activation prefix
- Keeps the concealed prefix editable so deleting it restores the normal prompt
- Keeps the transcript empty after starting a fresh session
- Avoids redundant feedback when the cleared state is already visible
- Aligns completed tool cards with the revised dark palette
- Keeps the styling centralized in the existing theme token
@Pepps233
Pepps233 force-pushed the fix/theme-selection-styles branch from e9716b7 to a449242 Compare August 15, 2026 22:29
@Pepps233
Pepps233 merged commit b4f7da0 into main Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant