aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/quarrel/native/src/lib.rs
blob: 472313ed1dcd0b1f29261fe60fe97e4527a8acbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
mod lenses;
mod mpd;
mod net;
mod util;

use mlua::prelude::*;

#[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 util = lua.create_table()?;
    util.set("decode_html", lua.create_function(util::decode_html)?)?;
    util.set("open_file", lua.create_function(util::FileHandle::new)?)?;

    let mpd = lua.create_table()?;
    mpd.set("init", lua.create_function(mpd::init)?)?;

    let net = lua.create_table()?;
    net.set("get_essid", lua.create_function(net::get_first_essid)?)?;

    let exports = lua.create_table()?;
    exports.set("lenses", lenses)?;
    exports.set("mpd", mpd)?;
    exports.set("net", net)?;
    exports.set("util", util)?;

    Ok(exports)
}