mirror of
https://github.com/ThePrimeagen/harpoon.git
synced 2025-07-14 01:50:27 +00:00
Merge pull request #628 from PedroBinotto/harpoon2
[BUGFIX] Calling `remove_at` to manipulate elements when using Telescope UI causes items list to become malformed
This commit is contained in:
commit
7f5bb6f187
@ -344,8 +344,8 @@ end
|
|||||||
--- @return string[]
|
--- @return string[]
|
||||||
function HarpoonList:encode()
|
function HarpoonList:encode()
|
||||||
local out = {}
|
local out = {}
|
||||||
for _, v in ipairs(self.items) do
|
for k, v in pairs(self.items) do
|
||||||
table.insert(out, self.config.encode(v))
|
out[k] = self.config.encode(v)
|
||||||
end
|
end
|
||||||
|
|
||||||
return out
|
return out
|
||||||
@ -357,9 +357,8 @@ end
|
|||||||
--- @param items string[]
|
--- @param items string[]
|
||||||
function HarpoonList.decode(list_config, name, items)
|
function HarpoonList.decode(list_config, name, items)
|
||||||
local list_items = {}
|
local list_items = {}
|
||||||
|
for k, item in pairs(items) do
|
||||||
for _, item in ipairs(items) do
|
list_items[k] = item ~= vim.NIL and list_config.decode(item) or nil
|
||||||
table.insert(list_items, list_config.decode(item))
|
|
||||||
end
|
end
|
||||||
|
|
||||||
return HarpoonList:new(list_config, name, list_items)
|
return HarpoonList:new(list_config, name, list_items)
|
||||||
|
@ -22,11 +22,16 @@ describe("list", function()
|
|||||||
})
|
})
|
||||||
local list_config = Config.get_config(config, "foo")
|
local list_config = Config.get_config(config, "foo")
|
||||||
|
|
||||||
local list = List.decode(list_config, "foo", { "foo:bar", "baz:qux" })
|
local list = List.decode(list_config, "foo", {
|
||||||
|
"foo:bar",
|
||||||
|
nil,
|
||||||
|
[3] = "baz:qux",
|
||||||
|
})
|
||||||
local displayed = list:display()
|
local displayed = list:display()
|
||||||
|
|
||||||
eq(displayed, {
|
eq(displayed, {
|
||||||
"foo---bar",
|
"foo---bar",
|
||||||
|
"",
|
||||||
"baz---qux",
|
"baz---qux",
|
||||||
})
|
})
|
||||||
end)
|
end)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user