Add built-in theme support with various pre-defined themes
Some checks failed
ci/someci/tag/woodpecker/5 Pipeline is pending
ci/someci/tag/woodpecker/6 Pipeline is pending
ci/someci/tag/woodpecker/7 Pipeline is pending
ci/someci/tag/woodpecker/1 Pipeline failed
ci/someci/tag/woodpecker/2 Pipeline failed
ci/someci/tag/woodpecker/3 Pipeline failed
ci/someci/tag/woodpecker/4 Pipeline failed

- Introduce multiple built-in themes (`default_dark`, `default_light`, `gruvbox`, `dracula`, `solarized`, `midnight-ocean`, `rose-pine`, `monokai`, `material-dark`, `material-light`).
- Implement theming system with customizable color schemes for all UI components in the TUI.
- Include documentation for themes in `themes/README.md`.
- Add fallback mechanisms for default themes in case of parsing errors.
- Support custom themes with overrides via configuration.
This commit is contained in:
2025-10-03 07:44:11 +02:00
parent 6a3f44f911
commit 96e2482782
24 changed files with 1740 additions and 247 deletions

View File

@@ -202,7 +202,7 @@ pub struct UiSettings {
impl UiSettings {
fn default_theme() -> String {
"default".to_string()
"default_dark".to_string()
}
fn default_word_wrap() -> bool {
@@ -388,7 +388,9 @@ mod tests {
#[cfg(target_os = "macos")]
{
// macOS should use ~/Library/Application Support
assert!(path.to_string_lossy().contains("Library/Application Support"));
assert!(path
.to_string_lossy()
.contains("Library/Application Support"));
}
println!("Config conversation path: {}", path.display());