From 3d469c19caf5a0689904ed9d8abf59bdbcdf3d2f Mon Sep 17 00:00:00 2001 From: Will Hopkins Date: Sat, 9 Dec 2023 00:07:12 -0800 Subject: [PATCH] fix: check displayed list for removed values fix: properly pass list item tables to events in `resolve_displayed` --- lua/harpoon/list.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lua/harpoon/list.lua b/lua/harpoon/list.lua index a9a7cf4..d14ae31 100644 --- a/lua/harpoon/list.lua +++ b/lua/harpoon/list.lua @@ -129,11 +129,11 @@ function HarpoonList:resolve_displayed(displayed) local list_displayed = self:display() for i, v in ipairs(list_displayed) do - local index = index_of(list_displayed, v) + local index = index_of(displayed, v) if index == -1 then Listeners.listeners:emit( Listeners.event_names.REMOVE, - { list = self, item = v, idx = i } + { list = self, item = self.items[i], idx = i } ) end end @@ -141,11 +141,11 @@ function HarpoonList:resolve_displayed(displayed) for i, v in ipairs(displayed) do local index = index_of(list_displayed, v) if index == -1 then + new_list[i] = self.config.create_list_item(self.config, v) Listeners.listeners:emit( Listeners.event_names.ADD, - { list = self, item = v, idx = i } + { list = self, item = new_list[i], idx = i } ) - new_list[i] = self.config.create_list_item(self.config, v) else local index_in_new_list = index_of(new_list, self.items[index], self.config)