Skip to content

Feature: /theme slash command and custom theme palettes #836

Description

@alecuba16

Summary

Add a /theme slash command to the TUI for switching between built-in and custom color themes, plus support for custom theme palettes defined as TOML files under ~/.jcode/themes/<name>.toml.

Problem

jcode ships with auto/dark/light theme detection, but users have no way to:

  1. Switch theme from inside the TUI without editing config and restarting.
  2. Define a custom color palette (e.g. a branded or accessibility-oriented scheme).

Proposal

  • /theme slash command cycles / selects themes (auto, dark, light, or a custom theme file name).
  • Custom themes live in ~/.jcode/themes/<name>.toml and define a palette of named colors.
  • Themes with an explicit background color fill Color::Reset cells so the app is readable regardless of the terminal default background.
  • Custom themes that declare their own palette opt out of the terminal-adaptation (luminance-flip) pass.

Implementation

A working implementation is ready for review on the feature/themes-light-dark-config branch (rebased onto latest master, 699 insertions across 20 files, jcode-config-types + jcode-tui-style + jcode-tui build, theme + tui-style tests pass).

@1jehuang would be great if you could take a look.

Metadata

Metadata

Assignees

No one assigned

    Labels

    autonomous: noNeeds your brain: a product/design decision is required before anyone acts.enhancementNew feature or requesttriage: needs-decisionNeeds maintainer decision/design thought

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions