diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-08-08 21:46:54 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2024-08-08 21:46:54 +0200 |
| commit | 4763d8ce3b833df1e7321a407b08666f69657fdb (patch) | |
| tree | 472e38eedef269c244726083bab94afa2942d945 /src/config/keymap/template.rs | |
| parent | 41d707480f2138a8a9b00b4efac4c87ed0eb79fc (diff) | |
refactore runnable
Diffstat (limited to 'src/config/keymap/template.rs')
| -rw-r--r-- | src/config/keymap/template.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/config/keymap/template.rs b/src/config/keymap/template.rs index 5425eb8..cf68f80 100644 --- a/src/config/keymap/template.rs +++ b/src/config/keymap/template.rs @@ -23,7 +23,7 @@ macro_rules! KeyMapSections { if let Some(func) = func { let func = func.lock().unwrap(); - match func.run() { + match func.run((), &lua::get()) { Ok(value) => value, _ => def } @@ -32,7 +32,7 @@ macro_rules! KeyMapSections { } } - pub fn map(event: KeyEvent, func: impl Runnable + 'static) { + pub fn map(event: KeyEvent, func: impl Runnable<(), bool> + 'static) { GlobalConfig::instance_mut() .keymap .$key @@ -56,11 +56,9 @@ macro_rules! KeyMapSections { fn add_methods<'lua, M: mlua::prelude::LuaUserDataMethods<'lua, Self>>( methods: &mut M, ) { - methods.add_function("map", |lua, (event, func): (String, Function<'_>)| { - let key = lua.create_registry_value(func)?; - + methods.add_function("map", |_, (event, func): (String, OwnedFunction)| { if let Ok(event) = event_from_string(event) { - $name::map(event, key); + $name::map(event, func); } Ok(()) }); |