Skip to main content

luaur_repl_cli/functions/
get_chunkname.rs

1use core::ffi::{c_char, c_void};
2use luaur_code_gen::type_aliases::lua_state::lua_State;
3
4use crate::functions::write::{luarequire_WriteResult, write};
5use crate::records::repl_requirer::ReplRequirer;
6
7pub unsafe fn get_chunkname(
8    _L: *mut lua_State,
9    ctx: *mut c_void,
10    buffer: *mut c_char,
11    buffer_size: usize,
12    size_out: *mut usize,
13) -> luarequire_WriteResult {
14    let req = &*(ctx as *const ReplRequirer);
15    let path = req.vfs.get_file_path();
16    let chunkname = alloc::format!("@{}", path);
17
18    write(
19        &chunkname as *const alloc::string::String as *const c_void,
20        buffer,
21        buffer_size,
22        size_out,
23    )
24}