From 05e9da390fbb9a595b15df4860f61efde81ea9d2 Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Mon, 28 Dec 2020 10:34:31 +0100 Subject: [PATCH] bat cache --build: Print syntect error message for themes if any This will fix #614 by making it clear what is wrong by showing the following error message: Failed to load one or more themes from '/Users/me/.config/bat/themes' (reason: 'Invalid syntax theme settings') We also need to add a check if theme_dir.exists(), otherwise an absent dir will seem like an error: Failed to load one or more themes from '/Users/me/.config/bat/themes' (reason: 'IO error for operation on /Users/me/.config/bat/themes: No such file or directory (os error 2)') (This is the same check we already have for syntax_dir.) --- src/assets.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/assets.rs b/src/assets.rs index 5e0c0644..55b4941e 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -38,9 +38,16 @@ impl HighlightingAssets { }; let theme_dir = source_dir.join("themes"); - - let res = theme_set.add_from_folder(&theme_dir); - if res.is_err() { + if theme_dir.exists() { + let res = theme_set.add_from_folder(&theme_dir); + if let Err(err) = res { + println!( + "Failed to load one or more themes from '{}' (reason: '{}')", + theme_dir.to_string_lossy(), + err, + ); + } + } else { println!( "No themes were found in '{}', using the default set", theme_dir.to_string_lossy()