fix(ui): when closing details, jump to plugin header. Closes #1338

This commit is contained in:
Folke Lemaitre 2024-06-29 14:12:57 +02:00
parent 5bddef2415
commit 3772914075
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
2 changed files with 20 additions and 1 deletions

View File

@ -96,7 +96,17 @@ function M.create()
name = plugin.name,
kind = plugin._.kind,
}
self.state.plugin = not vim.deep_equal(self.state.plugin, selected) and selected or nil
local open = not vim.deep_equal(self.state.plugin, selected)
if not open then
local row = self.render:get_row(selected)
if row then
vim.api.nvim_win_set_cursor(self.view.win, { row, 8 })
end
end
self.state.plugin = open and selected or nil
self:update()
end
end)

View File

@ -122,6 +122,15 @@ function M:get_plugin(row)
end
end
---@param selected {name:string, kind?: LazyPluginKind}
function M:get_row(selected)
for _, loc in ipairs(self.locations) do
if loc.kind == selected.kind and loc.name == selected.name then
return loc.from
end
end
end
function M:title()
self:nl()
local modes = vim.tbl_filter(function(c)