Skip to content

Commit

Permalink
fix(#2813): macos: enable file renaming with changed capitalization (#…
Browse files Browse the repository at this point in the history
…2814)

* fix(#2813): enable file renaming in `nvim-tree` with changed capitalization

* fix(#2813): check if is macos

---------

Co-authored-by: Alexander Courtis <[email protected]>
  • Loading branch information
samueldurantes and alex-courtis authored Jul 11, 2024
1 parent 2ede0de commit abfd1d1
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions lua/nvim-tree/actions/fs/rename-file.lua
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,25 @@ local function err_fmt(from, to, reason)
return string.format("Cannot rename %s -> %s: %s", from, to, reason)
end

local function rename_file_exists(node, to)
if not utils.is_macos then
return utils.file_exists(to)
end

if string.lower(node) == string.lower(to) then
return false
end

return utils.file_exists(to)
end

---@param node Node
---@param to string
function M.rename(node, to)
local notify_from = notify.render_path(node.absolute_path)
local notify_to = notify.render_path(to)

if utils.file_exists(to) then
if rename_file_exists(notify_from, notify_to) then
notify.warn(err_fmt(notify_from, notify_to, "file already exists"))
return
end
Expand Down Expand Up @@ -65,7 +77,7 @@ function M.rename(node, to)
notify.warn(err_fmt(notify_from, notify_to, err))
return
end
elseif not utils.file_exists(path_to_create) then
elseif not rename_file_exists(notify_from, path_to_create) then
local success = vim.loop.fs_mkdir(path_to_create, 493)
if not success then
notify.error("Could not create folder " .. notify.render_path(path_to_create))
Expand Down

0 comments on commit abfd1d1

Please sign in to comment.