aboutsummaryrefslogtreecommitdiff
path: root/.config/awesome/quarrel/native/src/lib.rs
blob: 4f1780d5704a936c756a5c253317da9f0e24e0e7 (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 net;
// mod http;
mod util;
mod moondrop;

use mlua::prelude::*;
use lenses::{ _Lense };

#[mlua::lua_module]
fn qnative(lua: &Lua) -> LuaResult<LuaTable> {
    let lenses = lua.create_table()?;
    lenses.push(_Lense(lenses::calculator::Calculator))?;
    lenses.push(_Lense(lenses::application::Application::default()))?;
    // lenses.set("1", lua.create_function(lenses::calculator::Application::query)?)?;
    // lenses.set("2", lua.create_function(lenses::application::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 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("net", net)?;
    exports.set("util", util)?;

    Ok(exports)
}