nvim-tree / nvim-tree.lua

A file explorer tree for neovim written in lua
Other
7.18k stars 611 forks source link

Sibling navigation doesn't work with group empty #2798

Open Cnly opened 4 months ago

Cnly commented 4 months ago

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

  1. Prepare a directory structure where empty-grouping will take effect
  2. nvim -nu /tmp/nvt-min.lua
  3. :NvimTreeToggle
  4. See example in description

Expected behavior

No response

Actual behavior

No response

alex-courtis commented 4 months ago

Thank you, reproduced.

Issues with grouped folders are sometimes tricky.