Skip to content

IGNITE-27726 CLI: Add color theme configuration for improved readability#7540

Merged
PakhomovAlexander merged 1 commit intoapache:mainfrom
unisonteam:IGNITE-27726
Feb 9, 2026
Merged

IGNITE-27726 CLI: Add color theme configuration for improved readability#7540
PakhomovAlexander merged 1 commit intoapache:mainfrom
unisonteam:IGNITE-27726

Conversation

@PakhomovAlexander
Copy link
Contributor

Summary

Adds configurable color themes to improve CLI readability on terminals with different background colors (light vs dark). Previously, CLI colors were hardcoded for dark backgrounds only, making output difficult to read on light-themed terminals.

https://issues.apache.org/jira/browse/IGNITE-27726

Changes

New Configuration Option

  • Added ignite.cli.color-scheme config key
  • Users can switch themes via: cli config set ignite.cli.color-scheme <theme>

Available Themes

Theme Description
solarized-dark Default. Solarized Dark palette - excellent readability on dark backgrounds
solarized-light Solarized Light palette - excellent readability on light backgrounds
dark High-contrast colors for dark backgrounds
light Dark colors optimized for light backgrounds

Architecture

  • ColorScheme enum: Defines ANSI 256-color codes for each theme (UI colors + syntax highlighting)
  • ColorSchemeProvider interface: Enables dynamic color scheme resolution
  • AnsiStringSupport: Refactored to use semantic Color enum that resolves to actual ANSI codes based on current scheme
  • Color scheme is read from config on each use, so changes take effect immediately without restart

Themed Components

All CLI output components now respect the color scheme:

  • Status indicators (node status, cluster status)
  • REPL prompts (connected/disconnected states)
  • Syntax highlighting (SQL, JSON, HOCON)
  • Error messages and warnings
  • UI elements (options, commands, URLs)

Add configurable color themes to improve CLI readability on terminals
with different background colors. Users can switch themes via:
  cli config set ignite.cli.color-scheme <theme>

Available themes:
- solarized-dark (default): Solarized Dark palette for dark backgrounds
- solarized-light: Solarized Light palette for light backgrounds
- dark: High-contrast colors for dark backgrounds
- light: Dark colors optimized for light backgrounds
@PakhomovAlexander
Copy link
Contributor Author

Screenshot 2026-02-05 at 18 04 40 Screenshot 2026-02-05 at 18 03 22 Screenshot 2026-02-05 at 17 59 02

three new themes added: solirized-dark, solirized-light, light (dark -- the old one, not shown in screenshots)

@PakhomovAlexander PakhomovAlexander merged commit c6a3e7d into apache:main Feb 9, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant