diff options
| author | Tom <tapayne88@users.noreply.github.com> | 2021-07-02 11:42:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-02 12:42:25 +0200 |
| commit | c5a6ed16e2022e2d19936e00a8a39a97cba39f11 (patch) | |
| tree | 06ef437e6c5f5c7025dc49d7c6eba4df2b56c91f /lua | |
| parent | 50001d4965af3c95614b1423ab6d130068319cd9 (diff) | |
feat: `selection_strategy` closest (#885)
* Added closest selection_strategy to use default_selection_index initially but prefer highest ranked match when prompt not empty
* Updated supporting documentation to include selection_strategy
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/telescope/config.lua | 3 | ||||
| -rw-r--r-- | lua/telescope/pickers.lua | 6 |
2 files changed, 8 insertions, 1 deletions
diff --git a/lua/telescope/config.lua b/lua/telescope/config.lua index 847f067..01d3bc9 100644 --- a/lua/telescope/config.lua +++ b/lua/telescope/config.lua @@ -124,7 +124,8 @@ local telescope_defaults = { Available options are: - "reset" (default) - "follow" - - "row"]], + - "row" + - "closest"]], }, scroll_strategy = { diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index f8a0eea..e4c73e2 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -1069,6 +1069,12 @@ function Picker:get_result_completor(results_bufnr, find_id, prompt, status_upda else self:set_selection(self:get_reset_row()) end + elseif selection_strategy == 'closest' then + if prompt == "" and self.default_selection_index ~= nil then + self:set_selection(self:get_row(self.default_selection_index)) + else + self:set_selection(self:get_reset_row()) + end else error('Unknown selection strategy: ' .. selection_strategy) end |
