nvim-tree / nvim-tree/nvim-tree.lua
Sibling navigation doesn't work with group empty
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 8.6k
- Forks
- 639
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 2
Description
Description
When group empty is enabled, the prev / next sibling commands will not work properly. I'll give an example:
In the image, there's an empty-grouped item in the middle. When using "next sibling" at (1), nvim-tree will do nothing. When using "previous sibling" at (2), the cursor will skip the grouped item and go right to (1).
Neovim version
NVIM v0.10.0
Build type: Release
LuaJIT 2.1.1713773202
Operating system and version
macOS 14.5
Windows variant
No response
nvim-tree version
2086e56
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 {
renderer = {
group_empty = true,
},
}
end
Steps to reproduce
- Prepare a directory structure where empty-grouping will take effect
nvim -nu /tmp/nvt-min.lua:NvimTreeToggle- See example in description
Expected behavior
No response
Actual behavior
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the sibling-navigation commands exposed through NvimTreeToggle and trace how renderer.group_empty changes the tree items used for previous/next navigation. Reproduce the empty-group case from the issue's minimal setup and verify that both directions visit the grouped item rather than doing nothing or skipping it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100