nvim-tree / nvim-tree/nvim-tree.lua
`nvim-tree` does not allow renaming the file even with changed letter capitalization
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 8.6k
- Forks
- 639
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 2
Description
Description
I'm trying to rename a file by changing the first letter from lowercase to uppercase, but I'm getting an error that says the file cannot be renamed because it already exists.
Neovim version
NVIM v0.9.5
Build type: Release
LuaJIT 2.1.1710088188
Operating system and version
macOS 14.3
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 {}
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
- mkdir test
- cd test
- touch test.js
- nvim -nu /tmp/nvt-min.lua
- :NvimTreeOpen
- Press
rto rename the file. - Rename the file to
Test.js
Expected behavior
It should be possible to rename the file test.js to Test.js without considering case sensitivity.
Actual behavior
https://github.com/nvim-tree/nvim-tree.lua/assets/44513615/8f9d53c5-f453-4864-aab4-6bb8700dbc57
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 with the clean-room configuration and reproduce the case-sensitive rename through nvim-tree's r action after opening it with :NvimTreeOpen. Trace the rename entry point for the test.js to Test.js case; done means the rename succeeds on macOS 14.3 without the existing-file error.
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
- 45/100