Windows: Join with different separators #654
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a weird-edge case for Windows. Some functions can return a string path with Window's separators (i.e.
vim.fn.stdpath('data')
->C:\path\to\localappdata
). If I were to try and join them like so:the resulting
data
will be a mixed path likeC\local\app\data/dir/file.lua
.The proposed solution changes this so that the result is
C:\local\app\data\dir\file.lua
, and therefore keeps the behavior in line with other modules such aspathlib
from python.NOTE
For the additional test to pass for both Windows and Linux, the additional
:gsub("\\", sep)
was added.This means that:
would result in
local/app/data/dir/file.lua
even in Linux.Although I fail to see where this could be an issue, it can be removed.