Made up/down commands on projectsearch ResultView scroll view

Fixes #14
This commit is contained in:
rxi 2020-02-22 13:36:08 +00:00
parent 613f9c2ba6
commit 2eab24032b

View file

@ -139,6 +139,14 @@ function ResultsView:each_visible_result()
end end
function ResultsView:scroll_to_make_selected_visible()
local h = self:get_line_height()
local y = self:get_results_yoffset() + h * (self.selected_idx - 1)
self.scroll.to.y = math.min(self.scroll.to.y, y)
self.scroll.to.y = math.max(self.scroll.to.y, y + h - self.size.y)
end
function ResultsView:draw() function ResultsView:draw()
self:draw_background(style.background) self:draw_background(style.background)
@ -225,11 +233,13 @@ command.add(ResultsView, {
["project-search:select-previous"] = function() ["project-search:select-previous"] = function()
local view = core.active_view local view = core.active_view
view.selected_idx = math.max(view.selected_idx - 1, 1) view.selected_idx = math.max(view.selected_idx - 1, 1)
view:scroll_to_make_selected_visible()
end, end,
["project-search:select-next"] = function() ["project-search:select-next"] = function()
local view = core.active_view local view = core.active_view
view.selected_idx = math.min(view.selected_idx + 1, #view.results) view.selected_idx = math.min(view.selected_idx + 1, #view.results)
view:scroll_to_make_selected_visible()
end, end,
["project-search:open-selected"] = function() ["project-search:open-selected"] = function()