Skip to content

Add six popular developer themes (Dracula, Nord, Solarized, Monokai, Catppuccin) - #35

Open
sfloess wants to merge 9 commits into
mainfrom
feature/popular-developer-themes
Open

sfloess wants to merge 9 commits into
mainfrom
feature/popular-developer-themes

Conversation

@sfloess

@sfloess sfloess commented Aug 5, 2026

Copy link
Copy Markdown
Member

Summary

Adds six widely-used community color schemes as first-class built-in themes (16 total).

Theme Load name Style
Dracula dracula Official dark purple palette
Nord nord Arctic blue-gray
Solarized Dark solarized-dark Precision muted dark
Solarized Light solarized-light Precision muted light
Monokai monokai Classic TextMate/Sublime
Catppuccin (Mocha) catppuccin Soft pastel dark

Changes

  • New theme modules under curses_themes/themes/
  • Registered in ThemeManager (lazy load)
  • Exported from package __init__ and themes/__init__
  • Builtin theme smoke tests extended
  • README updated: 16 themes, developer palette table, comparison rows
  • Examples: theme_switcher.py and demo_themes.py cycle all registered themes

Issues review

Usage

theme = ThemeManager.load('dracula')  # or nord, solarized-dark, monokai, catppuccin, ...
theme.apply(stdscr)

Test plan

  • 629 tests passed locally on branch (~96.5% coverage)
  • All 16 themes load via ThemeManager.list_themes() / load()
  • CI on this PR
  • Optional follow-up: GUIDE.md / THEMES.md gallery sections + screenshots for new themes

Note on manager.py

Some method docstrings were condensed during an earlier restore. Core behavior is intact and tests pass. A follow-up can restore full docstring examples from main if desired.

@sonarqubecloud

sonarqubecloud Bot commented Aug 5, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
7.5% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

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