feat: adds M mapping in normal mode (#544)
This commit is contained in:
committed by
GitHub
parent
10627e889e
commit
67b0661537
@@ -78,6 +78,11 @@ function actions.move_to_top(prompt_bufnr)
|
||||
))
|
||||
end
|
||||
|
||||
function actions.move_to_middle(prompt_bufnr)
|
||||
local current_picker = actions.get_current_picker(prompt_bufnr)
|
||||
current_picker:set_selection(p_scroller.middle(nil, current_picker.max_results, nil))
|
||||
end
|
||||
|
||||
function actions.move_to_bottom(prompt_bufnr)
|
||||
local current_picker = actions.get_current_picker(prompt_bufnr)
|
||||
current_picker:set_selection(p_scroller.bottom(current_picker.sorting_strategy,
|
||||
|
||||
@@ -39,6 +39,7 @@ mappings.default_mappings = config.values.default_mappings or {
|
||||
["j"] = actions.move_selection_next,
|
||||
["k"] = actions.move_selection_previous,
|
||||
["H"] = actions.move_to_top,
|
||||
["M"] = actions.move_to_middle,
|
||||
["L"] = actions.move_to_bottom,
|
||||
|
||||
["<Down>"] = actions.move_selection_next,
|
||||
|
||||
@@ -80,6 +80,10 @@ scroller.top = function(sorting_strategy, max_results, num_results)
|
||||
return (num_results > max_results) and 0 or (max_results - num_results)
|
||||
end
|
||||
|
||||
scroller.middle = function(sorting_strategy, max_results, num_results)
|
||||
return math.floor(max_results/2)
|
||||
end
|
||||
|
||||
scroller.bottom = function(sorting_strategy, max_results, num_results)
|
||||
if sorting_strategy == 'ascending' then
|
||||
return math.min(max_results, num_results) - 1
|
||||
|
||||
@@ -112,7 +112,14 @@ describe('scroller', function()
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('should give top and bottom index', function()
|
||||
|
||||
describe('should give top, middle and bottom index', function()
|
||||
it('should handle middle index', function()
|
||||
eq(5, p_scroller.middle(nil, 11, nil))
|
||||
eq(10, p_scroller.middle(nil, 20, nil))
|
||||
eq(12, p_scroller.middle(nil, 25, nil))
|
||||
end)
|
||||
|
||||
it('should handle ascending', function()
|
||||
eq(0, p_scroller.top('ascending', 20, 1000))
|
||||
eq(19, p_scroller.bottom('ascending', 20, 1000))
|
||||
|
||||
Reference in New Issue
Block a user