Cleanup :Rename implementation

This commit is contained in:
Kenneth Benzie 2024-04-07 18:38:20 +01:00
parent d92a312992
commit 4b4a1dbf38

View File

@ -54,21 +54,21 @@ end, { bang = true })
-- :Rename the file associated with current buffer
vim.api.nvim_create_user_command('Rename', function(opts)
local from = vim.fn.expand('%')
local buffer = vim.api.nvim_get_current_buf()
local to = nil
local source = vim.fn.expand('%')
local dest = nil
local dir = vim.fn.expand('%:h')
if dir == '.' then
to = opts.args
dest = opts.args
else
to = dir .. '/' .. opts.args
dest = vim.fn.resolve(dir .. '/' .. opts.args)
end
vim.loop.fs_rename(from, to, function(err, success)
local buffer = vim.api.nvim_get_current_buf()
vim.loop.fs_rename(source, dest, function(err, success)
if not success then
error(err)
else
vim.schedule(function()
vim.cmd('edit ' .. to)
vim.cmd.edit(dest)
vim.api.nvim_buf_delete(buffer, {})
end)
end