treesitter: simplify puhstree call process

This commit is contained in:
Thomas Vigouroux 2020-06-07 14:19:38 +02:00
parent 721f69c4af
commit 36d71e775a
2 changed files with 8 additions and 12 deletions

View File

@ -1128,21 +1128,11 @@ void ex_luafile(exarg_T *const eap)
}
}
static int create_tslua_parser(lua_State *L)
{
if (lua_gettop(L) < 1 || !lua_isstring(L, 1)) {
return luaL_error(L, "string expected");
}
const char *lang_name = lua_tostring(L, 1);
return tslua_push_parser(L, lang_name);
}
static void nlua_add_treesitter(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL
{
tslua_init(lstate);
lua_pushcfunction(lstate, create_tslua_parser);
lua_pushcfunction(lstate, tslua_push_parser);
lua_setfield(lstate, -2, "_create_ts_parser");
lua_pushcfunction(lstate, tslua_add_language);

View File

@ -214,8 +214,14 @@ int tslua_inspect_lang(lua_State *L)
return 1;
}
int tslua_push_parser(lua_State *L, const char *lang_name)
int tslua_push_parser(lua_State *L)
{
// Gather language
if (lua_gettop(L) < 1 || !lua_isstring(L, 1)) {
return luaL_error(L, "string expected");
}
const char *lang_name = lua_tostring(L, 1);
TSLanguage *lang = pmap_get(cstr_t)(langs, lang_name);
if (!lang) {
return luaL_error(L, "no such language: %s", lang_name);