diff --git a/lua/lazy/manage/task/init.lua b/lua/lazy/manage/task/init.lua index 0296d18..92596e3 100644 --- a/lua/lazy/manage/task/init.lua +++ b/lua/lazy/manage/task/init.lua @@ -9,7 +9,6 @@ local Process = require("lazy.manage.process") ---@class LazyTask ---@field plugin LazyPlugin ---@field name string ----@field type string ---@field output string ---@field status string ---@field error? string @@ -40,6 +39,10 @@ function Task.new(plugin, name, task, opts) self.output = "" self.status = "" plugin._.tasks = plugin._.tasks or {} + ---@param other LazyTask + plugin._.tasks = vim.tbl_filter(function(other) + return other.name ~= name or other:is_running() + end, plugin._.tasks) table.insert(plugin._.tasks, self) return self end diff --git a/lua/lazy/view/render.lua b/lua/lazy/view/render.lua index a2544cd..0ff5e6f 100644 --- a/lua/lazy/view/render.lua +++ b/lua/lazy/view/render.lua @@ -338,7 +338,6 @@ end ---@param task LazyTask function M:log(task) - -- FIXME: only show last log task local log = vim.trim(task.output) if log ~= "" then local lines = vim.split(log, "\n")