Skip to content

Commit

Permalink
feat(ui): use [[ & ]] to navigate between plugins. Fixes #1463
Browse files Browse the repository at this point in the history
  • Loading branch information
folke committed Jun 29, 2024
1 parent 3772914 commit 5e3c112
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 1 deletion.
2 changes: 2 additions & 0 deletions lua/lazy/view/config.lua
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ M.keys = {
profile_sort = "<C-s>",
profile_filter = "<C-f>",
abort = "<C-c>",
next = "]]",
prev = "[[",
}

---@type table<string,LazyViewCommand>
Expand Down
22 changes: 22 additions & 0 deletions lua/lazy/view/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,28 @@ function M.create()
end
end)

self:on_key(ViewConfig.keys.next, function()
local cursor = vim.api.nvim_win_get_cursor(self.view.win)
for l = 1, #self.render.locations, 1 do
local loc = self.render.locations[l]
if loc.from > cursor[1] then
vim.api.nvim_win_set_cursor(self.view.win, { loc.from, 8 })
return
end
end
end)

self:on_key(ViewConfig.keys.prev, function()
local cursor = vim.api.nvim_win_get_cursor(self.view.win)
for l = #self.render.locations, 1, -1 do
local loc = self.render.locations[l]
if loc.from < cursor[1] then
vim.api.nvim_win_set_cursor(self.view.win, { loc.from, 8 })
return
end
end
end)

self:on_key(ViewConfig.keys.profile_sort, function()
if self.state.mode == "profile" then
self.state.profile.sort_time_taken = not self.state.profile.sort_time_taken
Expand Down
10 changes: 9 additions & 1 deletion lua/lazy/view/render.lua
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,15 @@ function M:help()
:nl()
self:append("or the plugin was just updated. Otherwise the plugin webpage will open."):nl():nl()

self:append("Use "):append("<d>", "LazySpecial"):append(" on a commit or plugin to open the diff view"):nl()
self:append("Use "):append("<d>", "LazySpecial"):append(" on a commit or plugin to open the diff view"):nl():nl()
self
:append("Use ")
:append("<]]>", "LazySpecial")
:append(" and ")
:append("<[[>", "LazySpecial")
:append(" to navigate between plugins")
:nl()
:nl()
self:nl()

self:append("Keyboard Shortcuts", "LazyH2"):nl()
Expand Down

0 comments on commit 5e3c112

Please sign in to comment.