summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJeff Zhao <jeff.no.zhao@gmail.com>2021-04-30 11:15:19 -0400
committerJeff Zhao <jeff.no.zhao@gmail.com>2021-04-30 11:17:48 -0400
commite17bf9d8cf283aaa02e2cee92331b593aba4b704 (patch)
treefefa11adb08f065b8029434db4ecb36755c09b51 /src
parent49758f09f45b39845ede9626fe0ca4f3eedf6698 (diff)
move more config into their own folders
Diffstat (limited to 'src')
-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.rs5
-rw-r--r--src/config/mimetype/entry.rs (renamed from src/config/mimetype.rs)44
-rw-r--r--src/config/mimetype/mod.rs5
-rw-r--r--src/config/mimetype/registry.rs48
-rw-r--r--src/util/mod.rs1
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;