mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 03:05:11 -07:00
ts: Add language version to vim.treesitter (#14255)
This commit is contained in:
parent
f89bfa6869
commit
240cec9192
@ -32,6 +32,12 @@ retained for the lifetime of a buffer but this is subject to change. A plugin
|
||||
should keep a reference to the parser object as long as it wants incremental
|
||||
updates.
|
||||
|
||||
*vim.treesitter.language_version*
|
||||
To check which language version is compiled with neovim, the number is stored
|
||||
within `vim.treesitter.language_version`. This number is not too helpful
|
||||
unless you are wondering about compatibility between different versions of
|
||||
compiled grammars.
|
||||
|
||||
Parser files *treesitter-parsers*
|
||||
|
||||
Parsers are the heart of tree-sitter. They are libraries that tree-sitter will
|
||||
|
@ -10,6 +10,8 @@ local parsers = {}
|
||||
|
||||
local M = vim.tbl_extend("error", query, language)
|
||||
|
||||
M.language_version = vim._ts_get_language_version()
|
||||
|
||||
setmetatable(M, {
|
||||
__index = function (t, k)
|
||||
if k == "highlighter" then
|
||||
|
@ -1272,6 +1272,12 @@ bool nlua_exec_file(const char *path)
|
||||
return true;
|
||||
}
|
||||
|
||||
int tslua_get_language_version(lua_State *L)
|
||||
{
|
||||
lua_pushnumber(L, TREE_SITTER_LANGUAGE_VERSION);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void nlua_add_treesitter(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL
|
||||
{
|
||||
tslua_init(lstate);
|
||||
@ -1288,8 +1294,11 @@ static void nlua_add_treesitter(lua_State *const lstate) FUNC_ATTR_NONNULL_ALL
|
||||
lua_pushcfunction(lstate, tslua_inspect_lang);
|
||||
lua_setfield(lstate, -2, "_ts_inspect_language");
|
||||
|
||||
lua_pushcfunction(lstate, ts_lua_parse_query);
|
||||
lua_pushcfunction(lstate, tslua_parse_query);
|
||||
lua_setfield(lstate, -2, "_ts_parse_query");
|
||||
|
||||
lua_pushcfunction(lstate, tslua_get_language_version);
|
||||
lua_setfield(lstate, -2, "_ts_get_language_version");
|
||||
}
|
||||
|
||||
int nlua_expand_pat(expand_T *xp,
|
||||
|
@ -1109,7 +1109,7 @@ static int querycursor_gc(lua_State *L)
|
||||
|
||||
// Query methods
|
||||
|
||||
int ts_lua_parse_query(lua_State *L)
|
||||
int tslua_parse_query(lua_State *L)
|
||||
{
|
||||
if (lua_gettop(L) < 2 || !lua_isstring(L, 1) || !lua_isstring(L, 2)) {
|
||||
return luaL_error(L, "string expected");
|
||||
|
Loading…
Reference in New Issue
Block a user