We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 77cd1e1 commit 6780a8aCopy full SHA for 6780a8a
2 files changed
lua/diffview/path.lua
@@ -317,8 +317,8 @@ function PathLib:join(...)
317
318
for i = 1, table.maxn(segments) do
319
local cur = segments[i]
320
- if cur then
321
- if i > 1 and not ret:sub(-1, -1):match("[\\/]") then
+ if cur and cur ~= "" then
+ if #ret > 0 and not ret:sub(-1, -1):match("[\\/]") then
322
ret = ret .. self.sep
323
end
324
ret = ret .. cur
tests/functional/pathlib_spec.lua
@@ -266,6 +266,7 @@ describe("diffview.path", function()
266
eq([[/foo/bar/baz]], pl:join({ "/", "foo", "bar", "baz" }))
267
eq([[/foo/bar/baz]], pl:join({ "/foo/bar", "baz" }))
268
eq([[/foo/bar/baz]], pl:join({ "/", "foo/", "/bar///", "/baz" }))
269
+ eq([[foo/bar/baz]], pl:join({ "", "foo", "bar", "baz" }))
270
end)
271
272
it("works for Windows paths", function()
@@ -275,6 +276,7 @@ describe("diffview.path", function()
275
276
eq([[C:\foo\bar\baz]], pl:join({ "C:\\foo\\bar", "baz" }))
277
eq([[C:\foo\bar\baz]], pl:join({ "C:\\", "foo\\", "\\bar\\\\", "\\baz" }))
278
eq([[\foo\bar\baz]], pl:join({ "\\", "foo", "bar", "baz" }))
279
+ eq([[foo\bar\baz]], pl:join({ "", "foo", "bar", "baz" }))
280
281
eq([[\\foo\bar\baz]], pl:join({ [[\\]], "foo", "bar", "baz" }))
282
eq([[\\foo\bar\baz]], pl:join({ [[\\foo\\bar]], "baz" }))
0 commit comments