aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/quarrel/native/src/lib.rs
blob: d89b610637af6f939cab71c619586204444e3218 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
mod lenses;
mod net;

use mlua::prelude::*;
use html_escape::decode_html_entities_to_string;

#[mlua::lua_module]
fn qnative(lua: &Lua) -> LuaResult<LuaTable> {
    let lenses = lua.create_table()?;
    lenses.set("1", lua.create_function(lenses::calculator::query)?)?;
    lenses.set("2", lua.create_function(lenses::application::query)?)?;

    let exports = lua.create_table()?;
    exports.set("lenses", lenses)?;
    exports.set("get_essid", lua.create_function(net::get_first_essid)?)?;
    exports.set("decode_html", lua.create_function(|_: &Lua, string: String| {
        let mut output = String::new();
        decode_html_entities_to_string(string, &mut output);
        Ok(output)
    })?)?;

    Ok(exports)
}