summaryrefslogtreecommitdiffstats
path: root/src/bin
diff options
context:
space:
mode:
authorMartin Nordholts <enselic@gmail.com>2021-07-13 21:53:29 +0200
committerMartin Nordholts <enselic@gmail.com>2021-07-15 16:22:35 +0200
commit6ef2bb3283e1ba5f41316ed819bebe63f758054f (patch)
tree121a473c82ba67889562efb579f852bbd75eda76 /src/bin
parentfc0794a83dc9afc36cf5ee9402cdd0c3dd93d6dd (diff)
De-duplicate some themes.bin and syntaxes.bin related code
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/bat/assets.rs24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/bin/bat/assets.rs b/src/bin/bat/assets.rs
index ef6484ab..38dce43a 100644
--- a/src/bin/bat/assets.rs
+++ b/src/bin/bat/assets.rs
@@ -18,21 +18,9 @@ pub fn cache_dir() -> Cow<'static, str> {
}
pub fn clear_assets() {
- let theme_set_path = PROJECT_DIRS.cache_dir().join("themes.bin");
- let syntax_set_path = PROJECT_DIRS.cache_dir().join("syntaxes.bin");
- let metadata_file = PROJECT_DIRS.cache_dir().join("metadata.yaml");
-
- print!("Clearing theme set cache ... ");
- fs::remove_file(theme_set_path).ok();
- println!("okay");
-
- print!("Clearing syntax set cache ... ");
- fs::remove_file(syntax_set_path).ok();
- println!("okay");
-
- print!("Clearing metadata file ... ");
- fs::remove_file(metadata_file).ok();
- println!("okay");
+ clear_asset("themes.bin", "theme set cache");
+ clear_asset("syntaxes.bin", "syntax set cache");
+ clear_asset("metadata.yaml", "metadata file");
}
pub fn assets_from_cache_or_binary() -> Result<HighlightingAssets> {
@@ -56,3 +44,9 @@ pub fn assets_from_cache_or_binary() -> Result<HighlightingAssets> {
Ok(HighlightingAssets::from_cache(&cache_dir)
.unwrap_or_else(|_| HighlightingAssets::from_binary()))
}
+
+fn clear_asset(filename: &str, description: &str) {
+ print!("Clearing {} ... ", description);
+ fs::remove_file(PROJECT_DIRS.cache_dir().join(filename)).ok();
+ println!("okay");
+}