From 6b6f8f1b6b894fefe1304a8af15b358806b09137 Mon Sep 17 00:00:00 2001 From: David Date: Wed, 13 Jan 2021 11:31:13 +0200 Subject: [PATCH] fixes #175 | early return if internal state is invalid(does not match nvim's state --- lua/lib/renderer.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lua/lib/renderer.lua b/lua/lib/renderer.lua index d2ed6b31..376c6754 100644 --- a/lua/lib/renderer.lua +++ b/lua/lib/renderer.lua @@ -279,8 +279,11 @@ end local M = {} +function is_bufnr_valid(bufnr) + return vim.fn.bufexists(bufnr) == 1 +end 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) local cursor = api.nvim_win_get_cursor(tree.winnr()) if reload then @@ -300,7 +303,7 @@ function M.draw(tree, reload) end 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) for _, data in ipairs(hl) do api.nvim_buf_add_highlight(bufnr, namespace_id, data[1], data[2], data[3], data[4])