aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/lua/executor.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2025-08-28 23:43:10 -0400
committerJustin M. Keyes <justinkz@gmail.com>2025-12-30 01:44:24 -0500
commit20e77c5d886af54d1f7b6844cffc11129f579ad9 (patch)
treee7098a90f9333fa52ae98b0bdd9d0cc82830131f /src/nvim/lua/executor.c
parent03377b95523324a2a1657435f12c13a493ee5360 (diff)
downloadrneovim-20e77c5d886af54d1f7b6844cffc11129f579ad9.tar.gz
rneovim-20e77c5d886af54d1f7b6844cffc11129f579ad9.tar.bz2
rneovim-20e77c5d886af54d1f7b6844cffc11129f579ad9.zip
build: ship "_core/*" as bytecode (built-into Nvim binary)
Problem: We want to encourage implementing core features in Lua instead of C, but it's clumsy because: - Core Lua code (built into `nvim` so it is available even if VIMRUNTIME is missing/invalid) requires manually updating CMakeLists.txt, or stuffing it into `_editor.lua`. - Core Lua modules are not organized similar to C modules, `_editor.lua` is getting too big. Solution: - Introduce `_core/` where core Lua code can live. All Lua modules added there will automatically be included as bytecode in the `nvim` binary. - Move these core modules into `_core/*`: ``` _defaults.lua _editor.lua _options.lua _system.lua shared.lua ``` TODO: - Move `_extui/ => _core/ui2/`
Diffstat (limited to 'src/nvim/lua/executor.c')
-rw-r--r--src/nvim/lua/executor.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/nvim/lua/executor.c b/src/nvim/lua/executor.c
index 4073e0f9a8..181a549e23 100644
--- a/src/nvim/lua/executor.c
+++ b/src/nvim/lua/executor.c
@@ -2137,8 +2137,8 @@ void nlua_set_sctx(sctx_T *current)
// Files where internal wrappers are defined so we can ignore them
// like vim.o/opt etc are defined in _options.lua
char *ignorelist[] = {
- "vim/_editor.lua",
- "vim/_options.lua",
+ "vim/_core/editor.lua",
+ "vim/_core/options.lua",
"vim/keymap.lua",
};
int ignorelist_size = sizeof(ignorelist) / sizeof(ignorelist[0]);
@@ -2404,14 +2404,14 @@ plain: {}
return arena_printf(arena, "<Lua %d>", ref).data;
}
-/// Execute the vim._defaults module to set up default mappings and autocommands
+/// Execute the vim._core.defaults module to set up default mappings and autocommands
void nlua_init_defaults(void)
{
lua_State *const L = global_lstate;
assert(L);
lua_getglobal(L, "require");
- lua_pushstring(L, "vim._defaults");
+ lua_pushstring(L, "vim._core.defaults");
if (nlua_pcall(L, 1, 0)) {
fprintf(stderr, "%s\n", lua_tostring(L, -1));
}