fixes #175 | early return if internal state is invalid(does not match nvim's state
This commit is contained in:
@@ -279,8 +279,11 @@ end
|
|||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
|
|
||||||
|
function is_bufnr_valid(bufnr)
|
||||||
|
return vim.fn.bufexists(bufnr) == 1
|
||||||
|
end
|
||||||
function M.draw(tree, reload)
|
function M.draw(tree, reload)
|
||||||
if not tree.bufnr then return end
|
if not is_bufnr_valid(tree.bufnr) then return end
|
||||||
api.nvim_buf_set_option(tree.bufnr, 'modifiable', true)
|
api.nvim_buf_set_option(tree.bufnr, 'modifiable', true)
|
||||||
local cursor = api.nvim_win_get_cursor(tree.winnr())
|
local cursor = api.nvim_win_get_cursor(tree.winnr())
|
||||||
if reload then
|
if reload then
|
||||||
@@ -300,7 +303,7 @@ function M.draw(tree, reload)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function M.render_hl(bufnr)
|
function M.render_hl(bufnr)
|
||||||
if not bufnr then return end
|
if not is_bufnr_valid(bufnr) then return end
|
||||||
api.nvim_buf_clear_namespace(bufnr, namespace_id, 0, -1)
|
api.nvim_buf_clear_namespace(bufnr, namespace_id, 0, -1)
|
||||||
for _, data in ipairs(hl) do
|
for _, data in ipairs(hl) do
|
||||||
api.nvim_buf_add_highlight(bufnr, namespace_id, data[1], data[2], data[3], data[4])
|
api.nvim_buf_add_highlight(bufnr, namespace_id, data[1], data[2], data[3], data[4])
|
||||||
|
|||||||
Reference in New Issue
Block a user