aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--.config/nvim/lua/tests/uniquify.lua1
-rw-r--r--.config/nvim/lua/uniquify.lua6
2 files changed, 7 insertions, 0 deletions
diff --git a/.config/nvim/lua/tests/uniquify.lua b/.config/nvim/lua/tests/uniquify.lua
index 9f58298..a8a190f 100644
--- a/.config/nvim/lua/tests/uniquify.lua
+++ b/.config/nvim/lua/tests/uniquify.lua
@@ -17,6 +17,7 @@ function M.test(t)
{'foo/b/baz.txt', 'foo/bar/baz.txt', {'spam/bar/baz.txt'}},
{'foo/b/baz.txt', 'foo/bar/baz.txt', {'fiz/foo/bar/baz.txt', 'spam/bar/baz.txt'}},
{'fiz/f/b/baz.txt', 'fiz/foo/bar/baz.txt', {'foo/bar/baz.txt'}},
+ {'foo.txt', 'bar/foo.txt', {'bar/foo.txt'}},
}
for _, row in ipairs(test_cases) do
diff --git a/.config/nvim/lua/uniquify.lua b/.config/nvim/lua/uniquify.lua
index b9b9d32..c7f8482 100644
--- a/.config/nvim/lua/uniquify.lua
+++ b/.config/nvim/lua/uniquify.lua
@@ -8,6 +8,12 @@ local stricmp = vim.stricmp
function M.uniquify(this_path, other_paths)
+ for i = 1, #other_paths do
+ if other_paths[i] == this_path then
+ table.remove(other_paths, i)
+ end
+ end
+
-- Split each path into slash-separated parts.
for i = 1, #other_paths do
other_paths[i] = split(other_paths[i], '[\\/]')