From f7116d268aff3fae88d8de408e8c807295618a5c Mon Sep 17 00:00:00 2001 From: delta Date: Tue, 4 Apr 2023 15:43:40 +0200 Subject: restructure and improve config --- .../quarrel/native/src/lenses/calculator.rs | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .config/awesome/quarrel/native/src/lenses/calculator.rs (limited to '.config/awesome/quarrel/native/src/lenses/calculator.rs') diff --git a/.config/awesome/quarrel/native/src/lenses/calculator.rs b/.config/awesome/quarrel/native/src/lenses/calculator.rs new file mode 100644 index 0000000..89b738e --- /dev/null +++ b/.config/awesome/quarrel/native/src/lenses/calculator.rs @@ -0,0 +1,36 @@ +// use meval::eval_str; +use cpc::{ + eval, + units::Unit, +}; +use mlua::prelude::*; + +use crate::lenses::entry::{ + entries_to_lua_table, + Entry, +}; + +pub fn query<'a>(lua: &Lua, input: String) -> LuaResult { + let result = match eval(input.trim(), true, Unit::Celsius, false) { + Ok(result) => { + format!( + "{}{}", + result.value, + match result.unit { + Unit::NoUnit => "".to_owned(), + _ => format!(" {:?}", result.unit), + } + ) + } + Err(_) => return lua.create_table(), + }; + + Ok(entries_to_lua_table( + vec![Entry { + message: result, + exec: None, + provider: "Calculator".to_string(), + }], + lua, + )) +} -- cgit v1.2.3