summaryrefslogtreecommitdiffstats
path: root/src/config/preview.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/preview.rs')
-rw-r--r--src/config/preview.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/config/preview.rs b/src/config/preview.rs
index 24175b8..dd6665d 100644
--- a/src/config/preview.rs
+++ b/src/config/preview.rs
@@ -1,7 +1,7 @@
use serde_derive::Deserialize;
use std::collections::HashMap;
-use crate::config::{parse_config_file, Flattenable};
+use super::{parse_config_file, ConfigStructure, Flattenable};
use crate::PREVIEW_FILE;
#[derive(Debug, Deserialize)]
@@ -43,16 +43,19 @@ pub struct JoshutoPreview {
pub mimetype: HashMap<String, JoshutoPreviewEntry>,
}
-impl JoshutoPreview {
- pub fn new() -> Self {
+impl ConfigStructure for JoshutoPreview {
+ fn get_config() -> Self {
+ parse_config_file::<JoshutoRawPreview, JoshutoPreview>(PREVIEW_FILE)
+ .unwrap_or_else(JoshutoPreview::default)
+ }
+}
+
+impl std::default::Default for JoshutoPreview {
+ fn default() -> Self {
JoshutoPreview {
extension: HashMap::new(),
mimetype: HashMap::new(),
}
}
-
- pub fn get_config() -> JoshutoPreview {
- parse_config_file::<JoshutoRawPreview, JoshutoPreview>(PREVIEW_FILE)
- .unwrap_or_else(JoshutoPreview::new)
- }
}
+