26 lines
551 B
Rust
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,
|
|
))
|
|
}
|