feat(ts): include parser ABI version in checkhealth

This commit is contained in:
Thomas Vigouroux 2021-04-01 17:07:46 +02:00
parent 86ced59a6a
commit e8bc3d717e
No known key found for this signature in database
GPG Key ID: 16A6001CD57B9100
3 changed files with 9 additions and 2 deletions

View File

@ -21,7 +21,9 @@ function M.check_health()
if not is_loadable then
report_error(string.format("Impossible to load parser for %s: %s", parsername, ret))
elseif ret then
report_ok(string.format("Loaded parser for %s", parsername))
local lang = ts.language.inspect_language(parsername)
report_ok(string.format("Loaded parser for %s: ABI version %d",
parsername, lang._abi_version))
else
report_error(string.format("Unable to load parser for %s", parsername))
end

View File

@ -229,6 +229,11 @@ int tslua_inspect_lang(lua_State *L)
}
lua_setfield(L, -2, "fields"); // [retval]
uint32_t lang_version = ts_language_version(lang);
lua_pushinteger(L, lang_version); // [retval, version]
lua_setfield(L, -2, "_abi_version");
return 1;
}

View File

@ -45,7 +45,7 @@ describe('treesitter API', function()
return {keys, lang.fields, symbols}
]]))
eq({fields=true, symbols=true}, keys)
eq({fields=true, symbols=true, _abi_version=true}, keys)
local fset = {}
for _,f in pairs(fields) do