summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTJ DeVries <devries.timothyj@gmail.com>2020-08-29 22:55:48 -0400
committerTJ DeVries <devries.timothyj@gmail.com>2020-08-29 22:55:48 -0400
commit9bb62777b251ddc7a277debf19f0b3796e8ec81f (patch)
treed1aba4b63547036135deb9b2d2ceaf38c2005077
parentfc534a58d8d5bb68a3f8e9ba0e12956be990832e (diff)
fix: Think I fixed the weird movements
-rw-r--r--lua/telescope/finders.lua2
-rw-r--r--lua/telescope/log.lua2
-rw-r--r--lua/telescope/pickers.lua23
-rw-r--r--lua/tests/telescope_spec.lua9
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)