summaryrefslogtreecommitdiff
path: root/src/config/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/mod.rs')
-rw-r--r--src/config/mod.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs
index 4f8ad7d..cc4154c 100644
--- a/src/config/mod.rs
+++ b/src/config/mod.rs
@@ -1,8 +1,9 @@
use std::sync::{RwLock, RwLockReadGuard, RwLockWriteGuard};
+use lazy_static::lazy_static;
use mlua::{UserData, UserDataFields};
-use self::theme::Theme;
+use self::{keymap::KeyMap, theme::Theme};
pub mod constants;
pub mod theme;
@@ -11,15 +12,20 @@ pub mod keymap;
#[derive(Debug, Default)]
pub struct GlobalConfig {
pub theme: Theme,
+ pub keymap: KeyMap,
+}
+
+lazy_static! {
+ static ref GLOBAL_CONFIG: RwLock<GlobalConfig> = RwLock::new(GlobalConfig::new());
}
-static GLOBAL_CONFIG: RwLock<GlobalConfig> = RwLock::new(GlobalConfig::new());
const DUMMY_CONFIG: GlobalConfig = GlobalConfig::new();
impl GlobalConfig {
const fn new() -> Self {
Self {
theme: Theme::new(),
+ keymap: KeyMap::new(),
}
}
@@ -34,6 +40,7 @@ impl GlobalConfig {
impl UserData for GlobalConfig {
fn add_fields<'lua, F: UserDataFields<'lua, Self>>(fields: &mut F) {
- fields.add_field_function_get("theme", |_, _| Ok(DUMMY_CONFIG.theme))
+ fields.add_field_function_get("theme", |_, _| Ok(DUMMY_CONFIG.theme));
+ fields.add_field_function_get("keymap", |_, _| Ok(DUMMY_CONFIG.keymap));
}
}