mirror of
https://github.com/neovim/neovim.git
synced 2025-09-29 14:38:32 +00:00
treesitter: call bufload before parsing (#12603)
This commit is contained in:
@@ -75,6 +75,9 @@ function M.create_parser(bufnr, lang, id)
|
||||
if bufnr == 0 then
|
||||
bufnr = a.nvim_get_current_buf()
|
||||
end
|
||||
|
||||
vim.fn.bufload(bufnr)
|
||||
|
||||
local self = setmetatable({bufnr=bufnr, lang=lang, valid=false}, Parser)
|
||||
self._parser = vim._create_ts_parser(lang)
|
||||
self.change_cbs = {}
|
||||
|
@@ -307,11 +307,13 @@ static int parser_parse_buf(lua_State *L)
|
||||
}
|
||||
|
||||
long bufnr = lua_tointeger(L, 2);
|
||||
void *payload = handle_get_buffer(bufnr);
|
||||
if (!payload) {
|
||||
buf_T *buf = handle_get_buffer(bufnr);
|
||||
|
||||
if (!buf) {
|
||||
return luaL_error(L, "invalid buffer handle: %d", bufnr);
|
||||
}
|
||||
TSInput input = { payload, input_cb, TSInputEncodingUTF8 };
|
||||
|
||||
TSInput input = { (void *)buf, input_cb, TSInputEncodingUTF8 };
|
||||
TSTree *new_tree = ts_parser_parse(p->parser, p->tree, input);
|
||||
|
||||
uint32_t n_ranges = 0;
|
||||
|
Reference in New Issue
Block a user