diff --git a/crates/theme2/src/registry.rs b/crates/theme2/src/registry.rs index 17f154f06ef2c2850a9544e6c81827fc9a23ec9a..c6e195e757c8b349d98b105615d97aea40cbde3f 100644 --- a/crates/theme2/src/registry.rs +++ b/crates/theme2/src/registry.rs @@ -52,7 +52,10 @@ impl ThemeRegistry { status: StatusColors::default(), git: GitStatusColors::default(), player: PlayerColors::default(), - syntax: Arc::new(SyntaxTheme::default_dark()), + syntax: match user_theme.appearance { + Appearance::Light => Arc::new(SyntaxTheme::default_light()), + Appearance::Dark => Arc::new(SyntaxTheme::default_dark()), + }, }, } })); @@ -81,7 +84,7 @@ impl Default for ThemeRegistry { }; this.insert_theme_families([zed_pro_family()]); - this.insert_user_theme_familes(crate::all_imported_themes()); + this.insert_user_theme_familes(crate::all_user_themes()); this } diff --git a/crates/theme2/src/themes/andromeda.rs b/crates/theme2/src/themes/andromeda.rs index 0d58dc9d56eda3ae0530c5daf5a685161e6e30a1..22a0a8741c43f52a2f437dfa4a8bffb3b51f103b 100644 --- a/crates/theme2/src/themes/andromeda.rs +++ b/crates/theme2/src/themes/andromeda.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/ayu.rs b/crates/theme2/src/themes/ayu.rs index 6298de40eec342320c52303576b0c475113bf5e4..8d79289046b94389bffb0759d2210d76c440c4c0 100644 --- a/crates/theme2/src/themes/ayu.rs +++ b/crates/theme2/src/themes/ayu.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/dracula.rs b/crates/theme2/src/themes/dracula.rs index ea0e185e0553b130a4b0883db837e371fcb0a498..57c04851a5a45d821060d20d65b9b36f0d25e455 100644 --- a/crates/theme2/src/themes/dracula.rs +++ b/crates/theme2/src/themes/dracula.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/gruvbox.rs b/crates/theme2/src/themes/gruvbox.rs index d06f53da67574337e76abc72ad0fad51feb4287d..2e79b250dac13232ffa0bef549b34fe9eb6e7924 100644 --- a/crates/theme2/src/themes/gruvbox.rs +++ b/crates/theme2/src/themes/gruvbox.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/mod.rs b/crates/theme2/src/themes/mod.rs index b013a86989cdad96ca83dd7a619f9fb8af947694..c48338b184ac8678f8af3f13a274757435cdbca9 100644 --- a/crates/theme2/src/themes/mod.rs +++ b/crates/theme2/src/themes/mod.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + mod andromeda; mod ayu; mod dracula; @@ -24,7 +27,7 @@ pub use synthwave_84::*; use crate::UserThemeFamily; -pub(crate) fn all_imported_themes() -> Vec { +pub(crate) fn all_user_themes() -> Vec { vec![ rose_pine(), night_owl(), diff --git a/crates/theme2/src/themes/night_owl.rs b/crates/theme2/src/themes/night_owl.rs index 4227c53b7a0fc2d36f55eddec8722c9ace03003d..90ae45f8797c522258840c4d2efd28586be74c47 100644 --- a/crates/theme2/src/themes/night_owl.rs +++ b/crates/theme2/src/themes/night_owl.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/nord.rs b/crates/theme2/src/themes/nord.rs index 981b460d10e232f89834c6936ab2b9fe54c891ad..b1dedd6b16eb2cdc991aca441938cfa17a75e888 100644 --- a/crates/theme2/src/themes/nord.rs +++ b/crates/theme2/src/themes/nord.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/notctis.rs b/crates/theme2/src/themes/notctis.rs index d8673824db638a891cd08f1b0346c5cc4b9d1783..f5b8f1207d45ce5de6664b1bc7ffe9f8c3237172 100644 --- a/crates/theme2/src/themes/notctis.rs +++ b/crates/theme2/src/themes/notctis.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/palenight.rs b/crates/theme2/src/themes/palenight.rs index 64df5d7ecbf35c5e61a1555299bdb48bd9aab3b0..7ed27d3b7576601c4bcc573e2d43bbc818152f50 100644 --- a/crates/theme2/src/themes/palenight.rs +++ b/crates/theme2/src/themes/palenight.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/rose_pine.rs b/crates/theme2/src/themes/rose_pine.rs index 6fd641861a23042b5320f98a0ac0cab972a6542e..913af127fbbab692ccb1f0261c71ec10b1da1ac4 100644 --- a/crates/theme2/src/themes/rose_pine.rs +++ b/crates/theme2/src/themes/rose_pine.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/solarized.rs b/crates/theme2/src/themes/solarized.rs index 1f1c55f0817f26554953a332b7cd74d3320bbae4..0a78328e2e80f5895a2bd29a5c84d18f2777b042 100644 --- a/crates/theme2/src/themes/solarized.rs +++ b/crates/theme2/src/themes/solarized.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme2/src/themes/synthwave_84.rs b/crates/theme2/src/themes/synthwave_84.rs index a512c087ff842edc55172b240d5a58a3da8da524..8c0520ee11d13fc2d72939e3639cb0746fe5ae7b 100644 --- a/crates/theme2/src/themes/synthwave_84.rs +++ b/crates/theme2/src/themes/synthwave_84.rs @@ -1,3 +1,6 @@ +// This file was generated by the `theme_importer`. +// Be careful when modifying it by hand. + use gpui::rgba; use crate::{ diff --git a/crates/theme_importer/src/main.rs b/crates/theme_importer/src/main.rs index e2ece76b128d52b3fd42005f5a4afe60c66ce7ac..b41994a0be0c10d0a1ed9d18e2ef03c4deecf9f1 100644 --- a/crates/theme_importer/src/main.rs +++ b/crates/theme_importer/src/main.rs @@ -5,6 +5,7 @@ mod vscode; use std::fs::{self, File}; use std::io::Write; use std::path::PathBuf; +use std::process::Command; use std::str::FromStr; use anyhow::{anyhow, Context, Result}; @@ -152,6 +153,9 @@ fn main() -> Result<()> { let theme_module = format!( r#" + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. + use gpui::rgba; use crate::{{ @@ -174,7 +178,7 @@ fn main() -> Result<()> { r#" use crate::UserThemeFamily; - pub(crate) fn all_imported_themes() -> Vec {{ + pub(crate) fn all_user_themes() -> Vec {{ vec![{all_themes}] }} "#, @@ -187,6 +191,9 @@ fn main() -> Result<()> { let mod_rs_contents = format!( r#" + // This file was generated by the `theme_importer`. + // Be careful when modifying it by hand. + {mod_statements} {use_statements} @@ -208,5 +215,23 @@ fn main() -> Result<()> { mod_rs_file.write_all(mod_rs_contents.as_bytes())?; + println!("Formatting themes..."); + + let format_result = format_themes_crate() + // We need to format a second time to catch all of the formatting issues. + .and_then(|_| format_themes_crate()); + + if let Err(err) = format_result { + eprintln!("Failed to format themes: {}", err); + } + + println!("Done!"); + Ok(()) } + +fn format_themes_crate() -> std::io::Result { + Command::new("cargo") + .args(["fmt", "--package", "theme2"]) + .output() +}