Description
Deleting/trashing multiple marked files or directories can lead to annoying errors when a queued operation tries to delete something that a different operation already deleted. This doesn't happen with the new visual operations that use utils.filter_descendant_nodes.
Video demo: https://asciinema.org/a/5n7WsgavWaHmYTeM
Neovim version
NVIM v0.11.6
Build type: Release
LuaJIT 2.1.1772619647
Operating system and version
macOS 26.3.1
Windows variant
No response
nvim-tree version
dfeeb12
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 {
name = "my-luals",
cmd = { "lua-language-server" },
root_dir = vim.loop.cwd(),
}
end,
})
]]
Steps to reproduce
- Bookmark multiple nested directories/nodes either individually or in bulk visually
(marked) dir
(marked) nested dir
(marked) file
- Press
bd or bt to delete or trash bookmarked nodes
Expected behavior
Bookmark bulk operations should filter out descendant nodes and not attempt deleting the nodes that were affected by deleting their parent.
Actual behavior
Bookmark bulk operations acts on the first marked directory, which results in deleting the rest of the nested notes, and then attempt to act on the now gone children, logging errors for each unsuccessfull attempt.
Description
Deleting/trashing multiple marked files or directories can lead to annoying errors when a queued operation tries to delete something that a different operation already deleted. This doesn't happen with the new visual operations that use
utils.filter_descendant_nodes.Video demo: https://asciinema.org/a/5n7WsgavWaHmYTeM
Neovim version
Operating system and version
macOS 26.3.1
Windows variant
No response
nvim-tree version
dfeeb12
Clean room replication
Steps to reproduce
bdorbtto delete or trash bookmarked nodesExpected behavior
Bookmark bulk operations should filter out descendant nodes and not attempt deleting the nodes that were affected by deleting their parent.
Actual behavior
Bookmark bulk operations acts on the first marked directory, which results in deleting the rest of the nested notes, and then attempt to act on the now gone children, logging errors for each unsuccessfull attempt.