dots/.config/awesome/ui/fresnel/lenses/src/calculator.rs

26 lines
551 B
Rust

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,
))
}