fix(lsp): rename fails on missing parent directory #27291

Problem:
If a rename results in a path that has missing parent directory(s), it
will fail.

Solution:
Do a recursive mkdir before attempting the rename.
This commit is contained in:
Tomasz N 2024-02-08 22:06:54 +01:00 committed by GitHub
parent 52b6a9a93b
commit f0e61e6d92
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -693,6 +693,9 @@ function M.rename(old_fname, new_fname, opts)
end)
end
local newdir = assert(vim.fs.dirname(new_fname))
vim.fn.mkdir(newdir, 'p')
local ok, err = os.rename(old_fname, new_fname)
assert(ok, err)