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
|
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)
|
function actions.move_to_bottom(prompt_bufnr)
|
||||||
local current_picker = actions.get_current_picker(prompt_bufnr)
|
local current_picker = actions.get_current_picker(prompt_bufnr)
|
||||||
current_picker:set_selection(p_scroller.bottom(current_picker.sorting_strategy,
|
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,
|
["j"] = actions.move_selection_next,
|
||||||
["k"] = actions.move_selection_previous,
|
["k"] = actions.move_selection_previous,
|
||||||
["H"] = actions.move_to_top,
|
["H"] = actions.move_to_top,
|
||||||
|
["M"] = actions.move_to_middle,
|
||||||
["L"] = actions.move_to_bottom,
|
["L"] = actions.move_to_bottom,
|
||||||
|
|
||||||
["<Down>"] = actions.move_selection_next,
|
["<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)
|
return (num_results > max_results) and 0 or (max_results - num_results)
|
||||||
end
|
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)
|
scroller.bottom = function(sorting_strategy, max_results, num_results)
|
||||||
if sorting_strategy == 'ascending' then
|
if sorting_strategy == 'ascending' then
|
||||||
return math.min(max_results, num_results) - 1
|
return math.min(max_results, num_results) - 1
|
||||||
|
|||||||
@@ -112,7 +112,14 @@ describe('scroller', function()
|
|||||||
end)
|
end)
|
||||||
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()
|
it('should handle ascending', function()
|
||||||
eq(0, p_scroller.top('ascending', 20, 1000))
|
eq(0, p_scroller.top('ascending', 20, 1000))
|
||||||
eq(19, p_scroller.bottom('ascending', 20, 1000))
|
eq(19, p_scroller.bottom('ascending', 20, 1000))
|
||||||
|
|||||||
Reference in New Issue
Block a user