Skip to content

bug: delete occurs before move/copy #780

Description

@Natejoestev

Did you check the docs and existing issues?

  • I have read the docs
  • I have searched the existing issues

Neovim version (nvim -v)

0.12.5

Operating system/version

Arch Linux

Describe the bug

When moving or copying multiple files/directories and deleting their parent (in bulk), the delete operations are executed first, thus removing the targets and being unable to move or copy.

What is the severity of this bug?

tolerable (can work around it)

Steps To Reproduce

  1. dd on a.txt inside home/parent1/of/
  2. p inside home/destination/
  3. dd on home/parent1/
  4. dd on b.txt inside home/parent2/of/
  5. p inside home/destination/
  6. dd on home/parent2/
  7. when :w, it asks:
DELETE home/parent1/
DELETE home/parent2/
MOVE home/parent1/of/a.txt -> home/destination/a.txt
MOVE home/parent2/of/b.txt -> home/destination/b.txt

Expected Behavior

delete operations should remain last (to allow bulk operations).
(the only time i could see wanting them first is if you delete a directory to paste a new one in)

Directory structure

home/parent1/of/a.txt
home/parent2/of/b.txt
home/destination/

Repro

-- save as repro.lua
-- run with nvim -u repro.lua
-- DO NOT change the paths
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "runtime", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "--single-branch",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  {
        "stevearc/oil.nvim",
        config = function()
            require("oil").setup({
              -- add any needed settings here
            })
        end,
  },
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

Did you check the bug with a clean config?

  • I have confirmed that the bug reproduces with nvim -u repro.lua using the repro.lua file above.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions