Merge pull request #66 from m-abubakar/fix_error_on_close

Fix #65 Error on closing outline when computer is running slow
This commit is contained in:
~hedy
2025-02-23 22:28:27 +08:00
committed by GitHub
2 changed files with 14 additions and 6 deletions

View File

@@ -9,14 +9,18 @@ local M = {
---Clear all highlights in buffer ---Clear all highlights in buffer
---@param bufnr integer ---@param bufnr integer
function M.clear_all_ns(bufnr) function M.clear_all_ns(bufnr)
vim.api.nvim_buf_clear_namespace(bufnr, -1, 0, -1) if vim.api.nvim_buf_is_valid(bufnr) then
pcall(function() vim.api.nvim_buf_clear_namespace(bufnr, -1, 0, -1) end)
end
end end
---Clear hover highlights in buffer ---Clear hover highlights in buffer
---@param bufnr integer ---@param bufnr integer
function M.clear_hovers(bufnr) function M.clear_hovers(bufnr)
if vim.api.nvim_buf_is_valid(bufnr) then
vim.api.nvim_buf_clear_namespace(bufnr, M.ns.hover, 0, -1) vim.api.nvim_buf_clear_namespace(bufnr, M.ns.hover, 0, -1)
end end
end
---Add single hover highlights ---Add single hover highlights
---@param bufnr integer ---@param bufnr integer

View File

@@ -99,14 +99,18 @@ end
---Replace all lines in buffer with given new `lines` ---Replace all lines in buffer with given new `lines`
---@param lines string[] ---@param lines string[]
function View:rewrite_lines(lines) function View:rewrite_lines(lines)
if self.buf and vim.api.nvim_buf_is_valid(self.buf) then
vim.api.nvim_buf_set_option(self.buf, 'modifiable', true) vim.api.nvim_buf_set_option(self.buf, 'modifiable', true)
vim.api.nvim_buf_set_lines(self.buf, 0, -1, false, lines) vim.api.nvim_buf_set_lines(self.buf, 0, -1, false, lines)
vim.api.nvim_buf_set_option(self.buf, 'modifiable', false) vim.api.nvim_buf_set_option(self.buf, 'modifiable', false)
end end
end
function View:clear_all_ns() function View:clear_all_ns()
if self.buf then
highlight.clear_all_ns(self.buf) highlight.clear_all_ns(self.buf)
end end
end
---Ensure all existing highlights are already cleared before calling! ---Ensure all existing highlights are already cleared before calling!
---@param hl outline.HL[] ---@param hl outline.HL[]