mirror of https://github.com/helix-editor/helix
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
902 B
Rust
34 lines
902 B
Rust
2 months ago
|
use helix_view::theme::Loader;
|
||
|
|
||
|
use crate::{path, DynError};
|
||
|
|
||
|
pub fn theme_check() -> Result<(), DynError> {
|
||
|
let theme_names = [
|
||
|
vec!["default".to_string(), "base16_default".to_string()],
|
||
|
Loader::read_names(&path::themes()),
|
||
|
]
|
||
|
.concat();
|
||
|
let loader = Loader::new(&[path::runtime()]);
|
||
|
let mut errors_present = false;
|
||
|
|
||
|
for name in theme_names {
|
||
|
let (_, warnings) = loader.load_with_warnings(&name).unwrap();
|
||
|
|
||
|
if !warnings.is_empty() {
|
||
|
errors_present = true;
|
||
|
println!("Theme '{name}' loaded with errors:");
|
||
|
for warning in warnings {
|
||
|
println!("\t* {}", warning);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
match errors_present {
|
||
|
true => Err("Errors found when loading bundled themes".into()),
|
||
|
false => {
|
||
|
println!("Theme check successful!");
|
||
|
Ok(())
|
||
|
}
|
||
|
}
|
||
|
}
|