From 9bb62777b251ddc7a277debf19f0b3796e8ec81f Mon Sep 17 00:00:00 2001 From: TJ DeVries Date: Sat, 29 Aug 2020 22:55:48 -0400 Subject: [PATCH] fix: Think I fixed the weird movements --- lua/telescope/finders.lua | 2 +- lua/telescope/log.lua | 2 +- lua/telescope/pickers.lua | 23 ++++++++--------------- lua/tests/telescope_spec.lua | 9 +++++++++ 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/lua/telescope/finders.lua b/lua/telescope/finders.lua index 3ac548c..64dfcaa 100644 --- a/lua/telescope/finders.lua +++ b/lua/telescope/finders.lua @@ -72,7 +72,7 @@ function Finder:_find(prompt, process_result, process_complete) self.job:shutdown() end - log.info("Finding...") + log.trace("Finding...") if self.static and self.done then log.info("Using previous results") for _, v in ipairs(self._cached_lines) do diff --git a/lua/telescope/log.lua b/lua/telescope/log.lua index a9bc2b0..a04ef42 100644 --- a/lua/telescope/log.lua +++ b/lua/telescope/log.lua @@ -1,4 +1,4 @@ return require('plenary.log').new { plugin = 'telescope', - level = 'debug', + level = 'info', } diff --git a/lua/telescope/pickers.lua b/lua/telescope/pickers.lua index 817ecb8..c0f9e62 100644 --- a/lua/telescope/pickers.lua +++ b/lua/telescope/pickers.lua @@ -237,28 +237,21 @@ function Picker:find(opts) self.manager:add_entry(sort_score, entry) end - local process_complete = vim.schedule_wrap(function() + local process_complete = function() self:set_selection(self:get_selection_row()) local worst_line = self.max_results - self.manager.num_results() - if worst_line == 0 then + if worst_line <= 0 then return end - local empty_lines = utils.repeated_table(worst_line, "") - vim.api.nvim_buf_set_lines(results_bufnr, 0, worst_line, false, empty_lines) + vim.schedule(function() + local empty_lines = utils.repeated_table(worst_line, "") + vim.api.nvim_buf_set_lines(results_bufnr, 0, worst_line, false, empty_lines) - log.debug("Worst Line after process_complete: %s", worst_line, results_bufnr) - - -- local fun = require('fun') - -- local zip = fun.zip - -- local tomap = fun.tomap - - -- log.trace("%s", tomap(zip( - -- a.nvim_buf_get_lines(results_bufnr, worst_line, self.max_results, false), - -- self.line_scores - -- ))) - end) + log.trace("Worst Line after process_complete: %s", worst_line, results_bufnr) + end) + end local ok, msg = pcall(function() return finder(prompt, process_result, process_complete) diff --git a/lua/tests/telescope_spec.lua b/lua/tests/telescope_spec.lua index de2de2e..e98226d 100644 --- a/lua/tests/telescope_spec.lua +++ b/lua/tests/telescope_spec.lua @@ -222,6 +222,15 @@ describe('Sorters', function() assert(exact_match < ok_match) assert(ok_match < no_match) end) + + it('sorts multiple finds better', function() + local sorter = require('telescope.sorters').get_norcalli_sorter() + + local multi_match = sorter:score('generics', 'exercises/generics/generics2.rs') + local one_match = sorter:score('abcdef', 'exercises/generics/README.md') + + assert(multi_match < one_match) + end) end) end)