summaryrefslogtreecommitdiffstats
path: root/src/config/keymap.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/keymap.rs')
-rw-r--r--src/config/keymap.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/config/keymap.rs b/src/config/keymap.rs
index 4b44b2d..9fb2e7d 100644
--- a/src/config/keymap.rs
+++ b/src/config/keymap.rs
@@ -32,12 +32,8 @@ impl Flattenable<JoshutoKeymap> for JoshutoRawKeymap {
if let Some(maps) = self.mapcommand {
for mapcommand in maps {
match commands::from_args(mapcommand.command.as_str(), mapcommand.args.as_ref()) {
- Some(command) => {
- insert_keycommand(&mut keymaps, command, &mapcommand.keys[..]);
- }
- None => {
- eprintln!("Unknown command: {}", mapcommand.command);
- }
+ Some(command) => insert_keycommand(&mut keymaps, command, &mapcommand.keys[..]),
+ None => eprintln!("Unknown command: {}", mapcommand.command),
}
}
}
@@ -51,14 +47,16 @@ pub struct JoshutoKeymap {
}
impl JoshutoKeymap {
- pub fn new() -> Self {
- let keymaps = HashMap::new();
- JoshutoKeymap { keymaps }
- }
-
pub fn get_config() -> JoshutoKeymap {
parse_config_file::<JoshutoRawKeymap, JoshutoKeymap>(KEYMAP_FILE)
- .unwrap_or_else(JoshutoKeymap::new)
+ .unwrap_or_else(JoshutoKeymap::default)
+ }
+}
+
+impl std::default::Default for JoshutoKeymap {
+ fn default() -> Self {
+ let keymaps = HashMap::new();
+ JoshutoKeymap { keymaps }
}
}