Closed
Description
Description
When I close the parent node with backspace, the tree does not redraw, so the parent node still appears as opened. It updates when another action triggers the redraw, but until then the tree rendered is out of sync with the actual state.
This seems to be happening after this commit 3 days ago, where this line is evaluating to nil
.
nvim-tree.mp4
What you are seeing in the video:
- I open the
plugin
directory - I close it with the 'close parent node' mapping. The tree looks the same, but you can see the cursor position change.
- I open another directory triggering the redraw
- The
plugin
directory closes. - I repeat the first two steps.
- I open copilot plugin file.
- It opens a completely different file.
Neovim version
NVIM v0.10.1
Build type: RelWithDebInfo
LuaJIT 2.1.1725453128
Operating system and version
Arch linux - Linux 6.6.52-1-lts x86_64
Windows variant
No response
nvim-tree version
Clean room replication
vim.g.loaded_netrw = 1
vim.g.loaded_netrwPlugin = 1
vim.cmd [[set runtimepath=$VIMRUNTIME]]
vim.cmd [[set packpath=/tmp/nvt-min/site]]
local package_root = "/tmp/nvt-min/site/pack"
local install_path = package_root .. "/packer/start/packer.nvim"
local function load_plugins()
require("packer").startup {
{
"wbthomason/packer.nvim",
"nvim-tree/nvim-tree.lua",
"nvim-tree/nvim-web-devicons",
-- ADD PLUGINS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
},
config = {
package_root = package_root,
compile_path = install_path .. "/plugin/packer_compiled.lua",
display = { non_interactive = true },
},
}
end
if vim.fn.isdirectory(install_path) == 0 then
print "Installing nvim-tree and dependencies."
vim.fn.system { "git", "clone", "--depth=1", "https://github.com/wbthomason/packer.nvim", install_path }
end
load_plugins()
require("packer").sync()
vim.cmd [[autocmd User PackerComplete ++once echo "Ready!" | lua setup()]]
vim.opt.termguicolors = true
vim.opt.cursorline = true
-- MODIFY NVIM-TREE SETTINGS THAT ARE _NECESSARY_ FOR REPRODUCING THE ISSUE
_G.setup = function()
require("nvim-tree").setup {}
end
-- UNCOMMENT this block for diagnostics issues, substituting pattern and cmd as appropriate.
-- Requires diagnostics.enable = true in setup.
--[[
vim.api.nvim_create_autocmd("FileType", {
pattern = "lua",
callback = function()
vim.lsp.start { cmd = { "lua-language-server" } }
end,
})
]]
Steps to reproduce
- nvim -nu /tmp/nvt-min.lua
- NvimTreeOpen
- Open directory node
- Close using the 'close parent node' mapping
Expected behavior
Tree should redraw after closing parent node
Actual behavior
Tree is not redrawing