feat(lua): add vim.mpack for msgpack support in lua

This commit is contained in:
Björn Linse
2021-09-04 17:16:51 +02:00
parent 2a08aeff1a
commit eaf661dacd
2 changed files with 22 additions and 0 deletions

View File

@@ -1139,16 +1139,19 @@ int luaopen_mpack(lua_State *L)
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
luaL_register(L, NULL, unpacker_methods);
lua_pop(L, 1);
/* Packer */
luaL_newmetatable(L, PACKER_META_NAME);
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
luaL_register(L, NULL, packer_methods);
lua_pop(L, 1);
/* Session */
luaL_newmetatable(L, SESSION_META_NAME);
lua_pushvalue(L, -1);
lua_setfield(L, -2, "__index");
luaL_register(L, NULL, session_methods);
lua_pop(L, 1);
/* NIL */
/* Check if NIL is already stored in the registry */
lua_getfield(L, LUA_REGISTRYINDEX, NIL_NAME);
@@ -1166,6 +1169,9 @@ int luaopen_mpack(lua_State *L)
/* Save NIL on the registry so we can access it easily from other functions */
lua_setfield(L, LUA_REGISTRYINDEX, NIL_NAME);
}
lua_pop(L, 1);
/* module */
lua_newtable(L);
luaL_register(L, NULL, mpack_functions);