Skip to content

Commit 08d49b5

Browse files
unhappychoiceclaude
andcommitted
feat: restructure theme system with consolidated and separated colors
- Consolidate duplicate colors into semantic naming: * key colors: key_back, key_action, key_navigation * status colors: status_success, status_error, status_warning, status_info * metrics colors: metrics_* prefix for performance indicators * typing colors: typing_* prefix for typing interface - Remove countdown colors (use status colors in sequence) - Remove highlight color (use key_action for selections) - Separate language colors into dedicated files: * lang_dark.json, lang_light.json, lang_ascii.json - Improve light theme language color visibility on white background - Remove old ascii_dark.json and ascii_light.json files 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 2a79fde commit 08d49b5

File tree

8 files changed

+144
-114
lines changed

8 files changed

+144
-114
lines changed

assets/themes/ascii.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "ASCII",
3+
"description": "Classic terminal color scheme with ASCII-style colors on dark background",
4+
"colors": {
5+
"border": "blue",
6+
"title": "white",
7+
"text": "white",
8+
"text_secondary": "dark_gray",
9+
"background": "black",
10+
"background_secondary": "dark_gray",
11+
"status_success": "green",
12+
"status_info": "cyan",
13+
"status_warning": "yellow",
14+
"status_error": "red",
15+
"key_back": "red",
16+
"key_action": "light_blue",
17+
"key_navigation": "light_blue",
18+
"metrics_score": "magenta",
19+
"metrics_cpm_wpm": "green",
20+
"metrics_accuracy": "yellow",
21+
"metrics_duration": "cyan",
22+
"metrics_stage_info": "blue",
23+
"typing_untyped_text": "white",
24+
"typing_typed_text": "light_blue",
25+
"typing_cursor_fg": "black",
26+
"typing_cursor_bg": "white",
27+
"typing_mistake_bg": "red"
28+
}
29+
}

assets/themes/ascii_dark.json

Lines changed: 0 additions & 57 deletions
This file was deleted.

assets/themes/ascii_light.json

Lines changed: 0 additions & 57 deletions
This file was deleted.

assets/themes/dark.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "Dark",
3+
"description": "Modern dark theme with precise RGB colors",
4+
"colors": {
5+
"border": {"r": 100, "g": 149, "b": 237},
6+
"title": {"r": 255, "g": 255, "b": 255},
7+
"text": {"r": 255, "g": 255, "b": 255},
8+
"text_secondary": {"r": 96, "g": 96, "b": 96},
9+
"background": {"r": 0, "g": 0, "b": 0},
10+
"background_secondary": {"r": 64, "g": 64, "b": 64},
11+
"status_success": {"r": 46, "g": 160, "b": 67},
12+
"status_info": {"r": 96, "g": 165, "b": 250},
13+
"status_warning": {"r": 245, "g": 158, "b": 11},
14+
"status_error": {"r": 239, "g": 68, "b": 68},
15+
"key_back": {"r": 239, "g": 68, "b": 68},
16+
"key_action": {"r": 96, "g": 165, "b": 250},
17+
"key_navigation": {"r": 96, "g": 165, "b": 250},
18+
"metrics_score": {"r": 168, "g": 85, "b": 247},
19+
"metrics_cpm_wpm": {"r": 46, "g": 160, "b": 67},
20+
"metrics_accuracy": {"r": 245, "g": 158, "b": 11},
21+
"metrics_duration": {"r": 34, "g": 211, "b": 238},
22+
"metrics_stage_info": {"r": 100, "g": 149, "b": 237},
23+
"typing_untyped_text": {"r": 192, "g": 192, "b": 192},
24+
"typing_typed_text": {"r": 96, "g": 165, "b": 250},
25+
"typing_cursor_fg": {"r": 0, "g": 0, "b": 0},
26+
"typing_cursor_bg": {"r": 220, "g": 220, "b": 220},
27+
"typing_mistake_bg": {"r": 239, "g": 68, "b": 68}
28+
}
29+
}

assets/themes/lang_ascii.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"lang_rust": "yellow",
3+
"lang_python": "yellow",
4+
"lang_javascript": "yellow",
5+
"lang_typescript": "blue",
6+
"lang_go": "cyan",
7+
"lang_java": "red",
8+
"lang_c": "gray",
9+
"lang_cpp": "blue",
10+
"lang_csharp": "magenta",
11+
"lang_php": "light_blue",
12+
"lang_ruby": "red",
13+
"lang_swift": "red",
14+
"lang_kotlin": "magenta",
15+
"lang_scala": "red",
16+
"lang_haskell": "magenta",
17+
"lang_dart": "cyan",
18+
"lang_default": "white"
19+
}

assets/themes/lang_dark.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"lang_rust": {"r": 222, "g": 165, "b": 132},
3+
"lang_python": {"r": 255, "g": 212, "b": 59},
4+
"lang_javascript": {"r": 240, "g": 219, "b": 79},
5+
"lang_typescript": {"r": 49, "g": 120, "b": 198},
6+
"lang_go": {"r": 0, "g": 173, "b": 181},
7+
"lang_java": {"r": 237, "g": 41, "b": 57},
8+
"lang_c": {"r": 85, "g": 85, "b": 85},
9+
"lang_cpp": {"r": 0, "g": 89, "b": 156},
10+
"lang_csharp": {"r": 239, "g": 117, "b": 27},
11+
"lang_php": {"r": 119, "g": 123, "b": 180},
12+
"lang_ruby": {"r": 204, "g": 52, "b": 45},
13+
"lang_swift": {"r": 250, "g": 109, "b": 63},
14+
"lang_kotlin": {"r": 124, "g": 75, "b": 255},
15+
"lang_scala": {"r": 220, "g": 50, "b": 47},
16+
"lang_haskell": {"r": 94, "g": 80, "b": 134},
17+
"lang_dart": {"r": 0, "g": 180, "b": 240},
18+
"lang_default": {"r": 255, "g": 255, "b": 255}
19+
}

assets/themes/lang_light.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"lang_rust": {"r": 222, "g": 165, "b": 132},
3+
"lang_python": {"r": 184, "g": 134, "b": 11},
4+
"lang_javascript": {"r": 181, "g": 137, "b": 0},
5+
"lang_typescript": {"r": 49, "g": 120, "b": 198},
6+
"lang_go": {"r": 0, "g": 173, "b": 181},
7+
"lang_java": {"r": 237, "g": 41, "b": 57},
8+
"lang_c": {"r": 85, "g": 85, "b": 85},
9+
"lang_cpp": {"r": 0, "g": 89, "b": 156},
10+
"lang_csharp": {"r": 239, "g": 117, "b": 27},
11+
"lang_php": {"r": 119, "g": 123, "b": 180},
12+
"lang_ruby": {"r": 204, "g": 52, "b": 45},
13+
"lang_swift": {"r": 250, "g": 109, "b": 63},
14+
"lang_kotlin": {"r": 124, "g": 75, "b": 255},
15+
"lang_scala": {"r": 220, "g": 50, "b": 47},
16+
"lang_haskell": {"r": 94, "g": 80, "b": 134},
17+
"lang_dart": {"r": 0, "g": 120, "b": 180},
18+
"lang_default": {"r": 64, "g": 64, "b": 64}
19+
}

assets/themes/light.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "Light",
3+
"description": "Modern light theme with precise RGB colors",
4+
"colors": {
5+
"border": {"r": 100, "g": 149, "b": 237},
6+
"title": {"r": 0, "g": 0, "b": 0},
7+
"text": {"r": 0, "g": 0, "b": 0},
8+
"text_secondary": {"r": 150, "g": 150, "b": 150},
9+
"background": {"r": 255, "g": 255, "b": 255},
10+
"background_secondary": {"r": 200, "g": 200, "b": 200},
11+
"status_success": {"r": 46, "g": 160, "b": 67},
12+
"status_info": {"r": 96, "g": 165, "b": 250},
13+
"status_warning": {"r": 245, "g": 158, "b": 11},
14+
"status_error": {"r": 239, "g": 68, "b": 68},
15+
"key_back": {"r": 239, "g": 68, "b": 68},
16+
"key_action": {"r": 96, "g": 165, "b": 250},
17+
"key_navigation": {"r": 96, "g": 165, "b": 250},
18+
"metrics_score": {"r": 168, "g": 85, "b": 247},
19+
"metrics_cpm_wpm": {"r": 46, "g": 160, "b": 67},
20+
"metrics_accuracy": {"r": 245, "g": 158, "b": 11},
21+
"metrics_duration": {"r": 34, "g": 211, "b": 238},
22+
"metrics_stage_info": {"r": 100, "g": 149, "b": 237},
23+
"typing_untyped_text": {"r": 0, "g": 0, "b": 0},
24+
"typing_typed_text": {"r": 96, "g": 165, "b": 250},
25+
"typing_cursor_fg": {"r": 255, "g": 255, "b": 255},
26+
"typing_cursor_bg": {"r": 40, "g": 40, "b": 40},
27+
"typing_mistake_bg": {"r": 239, "g": 68, "b": 68}
28+
}
29+
}

0 commit comments

Comments
 (0)