summaryrefslogtreecommitdiff
path: root/src/config/keymap/template.rs
diff options
context:
space:
mode:
authorNathan Reiner <nathan@nathanreiner.xyz>2024-08-08 21:46:54 +0200
committerNathan Reiner <nathan@nathanreiner.xyz>2024-08-08 21:46:54 +0200
commit4763d8ce3b833df1e7321a407b08666f69657fdb (patch)
tree472e38eedef269c244726083bab94afa2942d945 /src/config/keymap/template.rs
parent41d707480f2138a8a9b00b4efac4c87ed0eb79fc (diff)
refactore runnable
Diffstat (limited to 'src/config/keymap/template.rs')
-rw-r--r--src/config/keymap/template.rs10
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(())
});