diff options
Diffstat (limited to '.config/awesome/ui/fresnel/lenses/src/calculator.rs')
| -rw-r--r-- | .config/awesome/ui/fresnel/lenses/src/calculator.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/.config/awesome/ui/fresnel/lenses/src/calculator.rs b/.config/awesome/ui/fresnel/lenses/src/calculator.rs new file mode 100644 index 0000000..792985d --- /dev/null +++ b/.config/awesome/ui/fresnel/lenses/src/calculator.rs @@ -0,0 +1,25 @@ +use meval::eval_str; +use mlua::prelude::*; + +use crate::entry::{ + entries_to_lua_table, + Entry, +}; + +pub fn query(lua: &Lua, input: String) -> LuaResult<LuaTable> { + println!("{:?}", input); + let result = match eval_str(input.trim()) { + Ok(ok) => ok.to_string(), + Err(_) => return Ok(lua.create_table()?), + }; + + Ok(entries_to_lua_table( + vec![Entry { + message: result, + exec: None, + // icon: '', + provider: "Calculator".to_string(), + }], + lua, + )) +} |
