test(treesitter): make internal lang test pending when necessary

This commit is contained in:
Thomas Vigouroux
2022-08-24 16:22:50 +02:00
parent b1eaa2b9a3
commit 26ebf67c39
4 changed files with 20 additions and 2 deletions

View File

@@ -1662,6 +1662,9 @@ static void nlua_add_treesitter(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL
lua_pushcfunction(lstate, tslua_has_language);
lua_setfield(lstate, -2, "_ts_has_language");
lua_pushcfunction(lstate, tslua_remove_lang);
lua_setfield(lstate, -2, "_ts_remove_language");
lua_pushcfunction(lstate, tslua_inspect_lang);
lua_setfield(lstate, -2, "_ts_inspect_language");

View File

@@ -21,6 +21,7 @@
#include "nvim/lib/kvec.h"
#include "nvim/log.h"
#include "nvim/lua/treesitter.h"
#include "nvim/map.h"
#include "nvim/memline.h"
#include "tree_sitter/api.h"
@@ -210,6 +211,17 @@ int tslua_add_language(lua_State *L)
return 1;
}
int tslua_remove_lang(lua_State *L)
{
const char *lang_name = luaL_checkstring(L, 1);
bool present = pmap_has(cstr_t)(&langs, lang_name);
if (present) {
pmap_del(cstr_t)(&langs, lang_name);
}
lua_pushboolean(L, present);
return 1;
}
int tslua_inspect_lang(lua_State *L)
{
const char *lang_name = luaL_checkstring(L, 1);