diff options
-rw-r--r-- | src/config/keymap/keymapping.rs (renamed from src/config/keymap.rs) | 5 | ||||
-rw-r--r-- | src/config/keymap/keyparse.rs (renamed from src/util/key_mapping.rs) | 0 | ||||
-rw-r--r-- | src/config/keymap/mod.rs | 5 | ||||
-rw-r--r-- | src/config/mimetype/entry.rs (renamed from src/config/mimetype.rs) | 44 | ||||
-rw-r--r-- | src/config/mimetype/mod.rs | 5 | ||||
-rw-r--r-- | src/config/mimetype/registry.rs | 48 | ||||
-rw-r--r-- | src/util/mod.rs | 1 |
7 files changed, 60 insertions, 48 deletions
diff --git a/src/config/keymap.rs b/src/config/keymap/keymapping.rs index 1d54984..c3f6ee1 100644 --- a/src/config/keymap.rs +++ b/src/config/keymap/keymapping.rs @@ -6,11 +6,10 @@ use std::collections::{hash_map::Entry, HashMap}; use termion::event::MouseEvent; use termion::event::{Event, Key}; +use super::keyparse::str_to_event; use crate::commands::{CommandKeybind, KeyCommand}; +use crate::config::{parse_to_config_file, ConfigStructure, Flattenable}; use crate::io::IoWorkerOptions; -use crate::util::key_mapping::str_to_event; - -use super::{parse_to_config_file, ConfigStructure, Flattenable}; #[derive(Debug, Deserialize)] struct CommandKeymap { diff --git a/src/util/key_mapping.rs b/src/config/keymap/keyparse.rs index de1e0dd..de1e0dd 100644 --- a/src/util/key_mapping.rs +++ b/src/config/keymap/keyparse.rs diff --git a/src/config/keymap/mod.rs b/src/config/keymap/mod.rs new file mode 100644 index 0000000..a224626 --- /dev/null +++ b/src/config/keymap/mod.rs @@ -0,0 +1,5 @@ +pub mod keyparse; + +mod keymapping; + +pub use self::keymapping::AppKeyMapping; diff --git a/src/config/mimetype.rs b/src/config/mimetype/entry.rs index 82ef88b..b445582 100644 --- a/src/config/mimetype.rs +++ b/src/config/mimetype/entry.rs @@ -1,11 +1,8 @@ use serde_derive::Deserialize; -use std::collections::HashMap; use std::fmt; use std::io::Read; use std::process; -use super::{parse_config_file, ConfigStructure}; - #[derive(Debug, Deserialize)] pub struct AppMimetypeEntry { #[serde(rename = "command")] @@ -140,44 +137,3 @@ impl std::fmt::Display for AppMimetypeEntry { f.write_str("") } } - -#[derive(Debug, Deserialize)] -pub struct AppMimetypeRegistry { - #[serde(default, skip)] - empty_vec: Vec<AppMimetypeEntry>, - #[serde(default)] - pub extension: HashMap<String, Vec<AppMimetypeEntry>>, - #[serde(default)] - pub mimetype: HashMap<String, Vec<AppMimetypeEntry>>, -} - -impl AppMimetypeRegistry { - pub fn get_entries_for_ext(&self, extension: &str) -> &[AppMimetypeEntry] { - match self.extension.get(extension) { - Some(s) => s, - None => &self.empty_vec, - } - } - pub fn get_entries_for_mimetype(&self, mimetype: &str) -> &[AppMimetypeEntry] { - match self.mimetype.get(mimetype) { - Some(s) => s, - None => &self.empty_vec, - } - } -} - -impl ConfigStructure for AppMimetypeRegistry { - fn get_config(file_name: &str) -> Self { - parse_config_file::<AppMimetypeRegistry>(file_name).unwrap_or_else(Self::default) - } -} - -impl std::default::Default for AppMimetypeRegistry { - fn default() -> Self { - Self { - empty_vec: Vec::new(), - mimetype: HashMap::new(), - extension: HashMap::new(), - } - } -} diff --git a/src/config/mimetype/mod.rs b/src/config/mimetype/mod.rs new file mode 100644 index 0000000..a8cae63 --- /dev/null +++ b/src/config/mimetype/mod.rs @@ -0,0 +1,5 @@ +mod entry; +mod registry; + +pub use self::entry::AppMimetypeEntry; +pub use self::registry::AppMimetypeRegistry; diff --git a/src/config/mimetype/registry.rs b/src/config/mimetype/registry.rs new file mode 100644 index 0000000..47d680e --- /dev/null +++ b/src/config/mimetype/registry.rs @@ -0,0 +1,48 @@ +use serde_derive::Deserialize; +use std::collections::HashMap; + +use super::AppMimetypeEntry; +use crate::config::{parse_config_file, ConfigStructure}; + +pub type MimetypeRegistry = HashMap<String, Vec<AppMimetypeEntry>>; + +#[derive(Debug, Deserialize)] +pub struct AppMimetypeRegistry { + #[serde(default, skip)] + empty_vec: Vec<AppMimetypeEntry>, + #[serde(default)] + pub extension: MimetypeRegistry, + #[serde(default)] + pub mimetype: MimetypeRegistry, +} + +impl AppMimetypeRegistry { + pub fn get_entries_for_ext(&self, extension: &str) -> &[AppMimetypeEntry] { + match self.extension.get(extension) { + Some(s) => s, + None => &self.empty_vec, + } + } + pub fn get_entries_for_mimetype(&self, mimetype: &str) -> &[AppMimetypeEntry] { + match self.mimetype.get(mimetype) { + Some(s) => s, + None => &self.empty_vec, + } + } +} + +impl ConfigStructure for AppMimetypeRegistry { + fn get_config(file_name: &str) -> Self { + parse_config_file::<AppMimetypeRegistry>(file_name).unwrap_or_else(Self::default) + } +} + +impl std::default::Default for AppMimetypeRegistry { + fn default() -> Self { + Self { + empty_vec: Vec::new(), + mimetype: MimetypeRegistry::new(), + extension: MimetypeRegistry::new(), + } + } +} diff --git a/src/util/mod.rs b/src/util/mod.rs index fcc5eb4..ebacf29 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -5,7 +5,6 @@ pub mod display; pub mod event; pub mod format; pub mod input; -pub mod key_mapping; pub mod load_child; pub mod name_resolution; pub mod select; |