Skip to content

Commit 3b68b94

Browse files
authored
Merge branch 'master' into chore-undefined-field
2 parents 1e1a273 + 82ab19e commit 3b68b94

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

lua/nvim-tree/diagnostics.lua

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,13 @@ function M.update()
167167
end
168168
end
169169
log.profile_end(profile)
170-
if view.is_buf_valid(view.get_bufnr()) then
170+
171+
local bufnr = view.get_bufnr()
172+
local should_draw = bufnr
173+
and vim.api.nvim_buf_is_valid(bufnr)
174+
and vim.api.nvim_buf_is_loaded(bufnr)
175+
and vim.api.nvim_get_option_value("buflisted", { buf = bufnr })
176+
if should_draw then
171177
local explorer = core.get_explorer()
172178
if explorer then
173179
explorer.renderer:draw()

lua/nvim-tree/view.lua

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,15 @@ local tabinitial = {
6565
}
6666

6767
local BUFNR_PER_TAB = {}
68+
69+
---@type { name: string, value: any }[]
6870
local BUFFER_OPTIONS = {
69-
swapfile = false,
70-
buftype = "nofile",
71-
modifiable = false,
72-
filetype = "NvimTree",
73-
bufhidden = "wipe",
74-
buflisted = false,
71+
{ name = "bufhidden", value = "wipe" },
72+
{ name = "buflisted", value = false },
73+
{ name = "buftype", value = "nofile" },
74+
{ name = "filetype", value = "NvimTree" },
75+
{ name = "modifiable", value = false },
76+
{ name = "swapfile", value = false },
7577
}
7678

7779
---@param bufnr integer
@@ -101,8 +103,9 @@ local function create_buffer(bufnr)
101103
BUFNR_PER_TAB[tab] = bufnr or vim.api.nvim_create_buf(false, false)
102104
vim.api.nvim_buf_set_name(M.get_bufnr(), "NvimTree_" .. tab)
103105

104-
for option, value in pairs(BUFFER_OPTIONS) do
105-
vim.bo[M.get_bufnr()][option] = value
106+
bufnr = M.get_bufnr()
107+
for _, option in ipairs(BUFFER_OPTIONS) do
108+
vim.api.nvim_set_option_value(option.name, option.value, { buf = bufnr })
106109
end
107110

108111
require("nvim-tree.keymap").on_attach(M.get_bufnr())
@@ -515,12 +518,6 @@ function M.get_bufnr()
515518
return BUFNR_PER_TAB[vim.api.nvim_get_current_tabpage()]
516519
end
517520

518-
---@param bufnr number
519-
---@return boolean
520-
function M.is_buf_valid(bufnr)
521-
return bufnr and vim.api.nvim_buf_is_valid(bufnr) and vim.api.nvim_buf_is_loaded(bufnr)
522-
end
523-
524521
function M._prevent_buffer_override()
525522
local view_winnr = M.get_winnr()
526523
local view_bufnr = M.get_bufnr()

0 commit comments

Comments
 (0)