theme_importer: Format generated themes (#3255)

This PR makes the `theme_importer` format the themes that it generates
automatically.

Release Notes:

- N/A
This commit is contained in:
Marshall Bowers 2023-11-07 18:45:09 +01:00 committed by GitHub
parent 64b899c68c
commit 25876161f8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 68 additions and 4 deletions

View file

@ -52,7 +52,10 @@ impl ThemeRegistry {
status: StatusColors::default(), status: StatusColors::default(),
git: GitStatusColors::default(), git: GitStatusColors::default(),
player: PlayerColors::default(), player: PlayerColors::default(),
syntax: SyntaxTheme::default_dark(), syntax: match user_theme.appearance {
Appearance::Light => SyntaxTheme::default_light(),
Appearance::Dark => SyntaxTheme::default_dark(),
},
}, },
} }
})); }));
@ -81,7 +84,7 @@ impl Default for ThemeRegistry {
}; };
this.insert_theme_families([zed_pro_family()]); 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 this
} }

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
mod andromeda; mod andromeda;
mod ayu; mod ayu;
mod dracula; mod dracula;
@ -24,7 +27,7 @@ pub use synthwave_84::*;
use crate::UserThemeFamily; use crate::UserThemeFamily;
pub(crate) fn all_imported_themes() -> Vec<UserThemeFamily> { pub(crate) fn all_user_themes() -> Vec<UserThemeFamily> {
vec![ vec![
rose_pine(), rose_pine(),
night_owl(), night_owl(),

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -1,3 +1,6 @@
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{ use crate::{

View file

@ -5,6 +5,7 @@ mod vscode;
use std::fs::{self, File}; use std::fs::{self, File};
use std::io::Write; use std::io::Write;
use std::path::PathBuf; use std::path::PathBuf;
use std::process::Command;
use std::str::FromStr; use std::str::FromStr;
use anyhow::{anyhow, Context, Result}; use anyhow::{anyhow, Context, Result};
@ -152,6 +153,9 @@ fn main() -> Result<()> {
let theme_module = format!( let theme_module = format!(
r#" r#"
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
use gpui::rgba; use gpui::rgba;
use crate::{{ use crate::{{
@ -174,7 +178,7 @@ fn main() -> Result<()> {
r#" r#"
use crate::UserThemeFamily; use crate::UserThemeFamily;
pub(crate) fn all_imported_themes() -> Vec<UserThemeFamily> {{ pub(crate) fn all_user_themes() -> Vec<UserThemeFamily> {{
vec![{all_themes}] vec![{all_themes}]
}} }}
"#, "#,
@ -187,6 +191,9 @@ fn main() -> Result<()> {
let mod_rs_contents = format!( let mod_rs_contents = format!(
r#" r#"
// This file was generated by the `theme_importer`.
// Be careful when modifying it by hand.
{mod_statements} {mod_statements}
{use_statements} {use_statements}
@ -208,5 +215,23 @@ fn main() -> Result<()> {
mod_rs_file.write_all(mod_rs_contents.as_bytes())?; 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(()) Ok(())
} }
fn format_themes_crate() -> std::io::Result<std::process::Output> {
Command::new("cargo")
.args(["fmt", "--package", "theme2"])
.output()
}