From b747ca8af52129876b577a4f20f7105a05c6b002 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Sat, 10 Aug 2024 15:41:31 +0200 Subject: add global fileloader registry --- src/lua/runtime.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/lua/runtime.rs') diff --git a/src/lua/runtime.rs b/src/lua/runtime.rs index ce34827..6a0a230 100644 --- a/src/lua/runtime.rs +++ b/src/lua/runtime.rs @@ -3,14 +3,15 @@ use std::time::{SystemTime, UNIX_EPOCH}; use crate::{ config::{self, GlobalConfig}, - sheet::register::Register, state::GlobalState, + sheet::{loader::Loader, register::Register}, + state::GlobalState, }; pub fn neosheet(lua: &Lua) -> Result<()> { let exports = lua.create_table()?; exports - .set("sheets", lua.create_userdata(Register)?) + .set("sheet", lua.create_userdata(Register)?) .unwrap(); exports .set("config", lua.create_userdata(GlobalConfig::default())?) @@ -18,6 +19,9 @@ pub fn neosheet(lua: &Lua) -> Result<()> { exports .set("state", lua.create_userdata(GlobalState::default())?) .unwrap(); + exports + .set("loader", lua.create_proxy::()?) + .unwrap(); lua.globals() .get::<_, Table>("package")? @@ -45,10 +49,15 @@ pub fn package(lua: &Lua) -> Result<()> { package.set( "path", format!( - "{}/?.lua;{}/?/init.lua;{};./?.lua", + "{}/?.lua;{}/?/init.lua;{}/lib/?.lua;{}/lib/?/init.lua;{};./?.lua", + config::constants::USER_CONFIG_DIR.as_str(), + config::constants::USER_CONFIG_DIR.as_str(), config::constants::USER_CONFIG_DIR.as_str(), config::constants::USER_CONFIG_DIR.as_str(), - path.split(';').filter(|s| s.starts_with('/')).collect::>().join(";"), + path.split(';') + .filter(|s| s.starts_with('/')) + .collect::>() + .join(";"), ), )?; Ok(()) -- cgit v1.2.3-70-g09d2