Skip to content

Commit ea38606

Browse files
committed
fix: sorter init
1 parent 3362c3c commit ea38606

1 file changed

Lines changed: 12 additions & 9 deletions

File tree

lua/text-transform/telescope.lua

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,46 @@ local actions = require("telescope.actions")
99
local action_state = require("telescope.actions.state")
1010
local dropdown = require("telescope.themes").get_dropdown({})
1111
local Sorter = require("telescope.sorters").Sorter
12-
local generic_sorter = telescope_conf.generic_sorter()
1312

1413
local telescope = {}
1514

1615
local frequency_sorter = Sorter:new({
1716
---@diagnostic disable-next-line: unused-local
1817
scoring_function = function(self, prompt, line)
18+
local generic_sorter = telescope_conf.generic_sorter()
19+
generic_sorter:init()
1920
local entry
2021
for _, item in ipairs(common.items) do
2122
if item.label == line then
2223
entry = common.entry_maker(item)
2324
break
2425
end
2526
end
26-
D.log("telescope", "prompt %s line %s", prompt, line)
27+
D.log("frequency_sorter", "entry %s", vim.inspect(entry))
28+
D.log("frequency_sorter", "prompt %s line %s", prompt, line)
2729
-- Basic filtering based on prompt matching, non-matching items score below 0 to exclude them
28-
local basic_score = (generic_sorter:scoring_function(prompt, line) or 0)
29-
D.log("telescope", "%s basic_score: %s", entry.value, basic_score)
30+
local basic_score = (generic_sorter:scoring_function(prompt, line) or 1)
31+
D.log("frequency_sorter", "%s basic_score: %s", entry.value, basic_score)
3032
if basic_score < 0 then
3133
return basic_score
3234
end
3335

34-
-- D.log("telescope", "entry: %s", vim.inspect(entry))
35-
-- D.log("telescope", "prompt: %s", prompt)
36+
-- D.log("frequency_sorter", "entry: %s", vim.inspect(entry))
37+
-- D.log("frequency_sorter", "prompt: %s", prompt)
3638
-- Calculate score based on frequency, higher frequency should have lower score
3739
local freq_score = (entry.frequency or 1) * 10
3840

39-
D.log("telescope", "freq_score: %s", freq_score)
41+
D.log("frequency_sorter", "freq_score: %s", freq_score)
4042

4143
local final_score = 999999999 - freq_score + basic_score
42-
D.log("telescope", "%s final_score: %s", line, final_score)
44+
D.log("frequency_sorter", "%s final_score: %s", line, final_score)
4345

4446
-- Combine scores, with frequency having the primary influence if present
4547
return final_score
4648
end,
4749
})
4850

51+
local generic_sorter = telescope_conf.generic_sorter()
4952
local sorter_map = {
5053
frequency = frequency_sorter,
5154
name = generic_sorter,
@@ -69,7 +72,7 @@ function telescope.telescope_popup()
6972
end
7073

7174
for _, item in ipairs(common.items) do
72-
if not config.replacers[item.value] or not config.replacers[item.value].enabled then
75+
if config.replacers[item.value] and not config.replacers[item.value].enabled then
7376
goto continue
7477
end
7578
table.insert(filtered, item)

0 commit comments

Comments
 (0)