chore: use stylua for formatting (#1040)

* chore: stylua job and config

* reformat with stylua
This commit is contained in:
Simon Hauser
2021-07-23 17:42:37 +02:00
committed by GitHub
parent 664690029f
commit 79644ab677
75 changed files with 3201 additions and 2809 deletions

View File

@@ -1,5 +1,5 @@
local log = require('telescope.log')
local util = require('telescope.utils')
local log = require "telescope.log"
local util = require "telescope.utils"
local sorters = {}
@@ -12,7 +12,7 @@ local ngram_highlighter = function(ngram_len, prompt, display)
if prompt:find(char, 1, true) then
table.insert(highlights, {
start = disp_index,
finish = disp_index + ngram_len - 1
finish = disp_index + ngram_len - 1,
})
end
end
@@ -22,7 +22,6 @@ end
local FILTERED = -1
local Sorter = {}
Sorter.__index = Sorter
@@ -51,9 +50,9 @@ function Sorter:new(opts)
tags = opts.tags,
-- State management
init = opts.init,
start = opts.start,
finish = opts.finish,
init = opts.init,
start = opts.start,
finish = opts.finish,
destroy = opts.destroy,
filter_function = opts.filter_function,
@@ -62,17 +61,21 @@ function Sorter:new(opts)
discard = opts.discard,
_discard_state = {
filtered = {},
prompt = '',
prompt = "",
},
}, Sorter)
end
function Sorter:_init()
if self.init then self:init() end
if self.init then
self:init()
end
end
function Sorter:_destroy()
if self.destroy then self:destroy() end
if self.destroy then
self:destroy()
end
end
-- TODO: We could make this a bit smarter and cache results "as we go" and where they got filtered.
@@ -81,7 +84,9 @@ end
-- as he did in his example.
-- Example can be found in ./scratch/prime_prompt_cache.lua
function Sorter:_start(prompt)
if self.start then self:start(prompt) end
if self.start then
self:start(prompt)
end
if not self.discard then
return
@@ -91,10 +96,10 @@ function Sorter:_start(prompt)
local len_previous = #previous
if #prompt < len_previous then
log.debug("Reset discard because shorter prompt")
log.debug "Reset discard because shorter prompt"
self._discard_state.filtered = {}
elseif string.sub(prompt, 1, len_previous) ~= previous then
log.debug("Reset discard no match")
log.debug "Reset discard no match"
self._discard_state.filtered = {}
end
@@ -102,13 +107,17 @@ function Sorter:_start(prompt)
end
function Sorter:_finish(prompt)
if self.finish then self:finish(prompt) end
if self.finish then
self:finish(prompt)
end
end
-- TODO: Consider doing something that makes it so we can skip the filter checks
-- if we're not discarding. Also, that means we don't have to check otherwise as well :)
function Sorter:score(prompt, entry, cb_add, cb_filter)
if not entry or not entry.ordinal then return end
if not entry or not entry.ordinal then
return
end
local ordinal = entry.ordinal
if self:_was_discarded(prompt, ordinal) then
@@ -117,7 +126,9 @@ function Sorter:score(prompt, entry, cb_add, cb_filter)
local filter_score
if self.filter_function ~= nil then
if self.tags then self.tags:insert(entry) end
if self.tags then
self.tags:insert(entry)
end
filter_score, prompt = self:filter_function(prompt, entry)
end
@@ -159,7 +170,7 @@ sorters.Sorter = Sorter
TelescopeCachedTails = TelescopeCachedTails or nil
if not TelescopeCachedTails then
local os_sep = util.get_separator()
local match_string = '[^' .. os_sep .. ']*$'
local match_string = "[^" .. os_sep .. "]*$"
TelescopeCachedTails = setmetatable({}, {
__index = function(t, k)
local tail = string.match(k, match_string)
@@ -170,20 +181,21 @@ if not TelescopeCachedTails then
})
end
TelescopeCachedUppers = TelescopeCachedUppers or setmetatable({}, {
__index = function(t, k)
local obj = {}
for i = 1, #k do
local s_byte = k:byte(i, i)
if s_byte <= 90 and s_byte >= 65 then
obj[s_byte] = true
TelescopeCachedUppers = TelescopeCachedUppers
or setmetatable({}, {
__index = function(t, k)
local obj = {}
for i = 1, #k do
local s_byte = k:byte(i, i)
if s_byte <= 90 and s_byte >= 65 then
obj[s_byte] = true
end
end
end
rawset(t, k, obj)
return obj
end
})
rawset(t, k, obj)
return obj
end,
})
TelescopeCachedNgrams = TelescopeCachedNgrams or {}
@@ -201,7 +213,7 @@ sorters.get_fuzzy_file = function(opts)
local R = {}
for i = 1, s:len() - n + 1 do
R[#R+1] = s:sub(i, i+n-1)
R[#R + 1] = s:sub(i, i + n - 1)
end
if not TelescopeCachedNgrams[s] then
@@ -267,19 +279,17 @@ sorters.get_fuzzy_file = function(opts)
end
local denominator = (
(10 * match_count / #prompt_lower_ngrams)
-- biases for shorter strings
+ 3 * match_count * ngram_len / #line
+ consecutive_matches
+ N / (contains_string or (2 * #line))
-- + 30/(c1 or 2*N)
-- TODO: It might be possible that this too strongly correlates,
-- but it's unlikely for people to type capital letters without actually
-- wanting to do something with a capital letter in it.
+ uppers_matching
) * tail_modifier
(10 * match_count / #prompt_lower_ngrams)
-- biases for shorter strings
+ 3 * match_count * ngram_len / #line
+ consecutive_matches
+ N / (contains_string or (2 * #line))
-- + 30/(c1 or 2*N)
-- TODO: It might be possible that this too strongly correlates,
-- but it's unlikely for people to type capital letters without actually
-- wanting to do something with a capital letter in it.
+ uppers_matching
) * tail_modifier
if denominator == 0 or denominator ~= denominator then
return -1
@@ -310,7 +320,7 @@ sorters.get_generic_fuzzy_sorter = function(opts)
local R = {}
for i = 1, s:len() - n + 1 do
R[#R+1] = s:sub(i, i+n-1)
R[#R + 1] = s:sub(i, i + n - 1)
end
if not TelescopeCachedNgrams[s] then
@@ -359,15 +369,15 @@ sorters.get_generic_fuzzy_sorter = function(opts)
-- TODO: Copied from ashkan.
local denominator = (
(10 * match_count / #prompt_ngrams)
-- biases for shorter strings
-- TODO(ashkan): this can bias towards repeated finds of the same
-- subpattern with overlapping_ngrams
+ 3 * match_count * ngram_len / #line
+ consecutive_matches
+ N / (contains_string or (2 * #line))
-- + 30/(c1 or 2*N)
)
(10 * match_count / #prompt_ngrams)
-- biases for shorter strings
-- TODO(ashkan): this can bias towards repeated finds of the same
-- subpattern with overlapping_ngrams
+ 3 * match_count * ngram_len / #line
+ consecutive_matches
+ N / (contains_string or (2 * #line)) -- + 30/(c1 or 2*N)
)
if denominator == 0 or denominator ~= denominator then
return -1
@@ -406,17 +416,17 @@ sorters.fuzzy_with_index_bias = function(opts)
else
return math.min(math.pow(entry.index, 0.25), 2) * base_score
end
end
end,
}
end
-- Sorter using the fzy algorithm
sorters.get_fzy_sorter = function(opts)
opts = opts or {}
local fzy = opts.fzy_mod or require('telescope.algos.fzy')
local fzy = opts.fzy_mod or require "telescope.algos.fzy"
local OFFSET = -fzy.get_score_floor()
return sorters.Sorter:new{
return sorters.Sorter:new {
discard = true,
scoring_function = function(_, prompt, line)
@@ -454,10 +464,12 @@ end
sorters.highlighter_only = function(opts)
opts = opts or {}
local fzy = opts.fzy_mod or require('telescope.algos.fzy')
local fzy = opts.fzy_mod or require "telescope.algos.fzy"
return Sorter:new {
scoring_function = function() return 0 end,
scoring_function = function()
return 0
end,
highlighter = function(_, prompt, display)
return fzy.positions(prompt, display)
@@ -467,7 +479,9 @@ end
sorters.empty = function()
return Sorter:new {
scoring_function = function() return 0 end,
scoring_function = function()
return 0
end,
}
end
@@ -475,8 +489,8 @@ end
sorters.get_levenshtein_sorter = function()
return Sorter:new {
scoring_function = function(_, prompt, line)
return require('telescope.algos.string_distance')(prompt, line)
end
return require "telescope.algos.string_distance"(prompt, line)
end,
}
end
@@ -490,7 +504,7 @@ local substr_highlighter = function(_, prompt, display)
for _, word in pairs(search_terms) do
hl_start, hl_end = display:find(word, 1, true)
if hl_start then
table.insert(highlights, {start = hl_start, finish = hl_end})
table.insert(highlights, { start = hl_start, finish = hl_end })
end
end
@@ -501,20 +515,20 @@ sorters.get_substr_matcher = function()
return Sorter:new {
highlighter = substr_highlighter,
scoring_function = function(_, prompt, _, entry)
local display = entry.ordinal:lower()
local display = entry.ordinal:lower()
local search_terms = util.max_split(prompt, "%s")
local matched = 0
local total_search_terms = 0
for _, word in pairs(search_terms) do
total_search_terms = total_search_terms + 1
if display:find(word, 1, true) then
matched = matched + 1
local search_terms = util.max_split(prompt, "%s")
local matched = 0
local total_search_terms = 0
for _, word in pairs(search_terms) do
total_search_terms = total_search_terms + 1
if display:find(word, 1, true) then
matched = matched + 1
end
end
end
return matched == total_search_terms and entry.index or -1
end
return matched == total_search_terms and entry.index or -1
end,
}
end
@@ -552,25 +566,29 @@ local filter_function = function(opts)
end
local function create_tag_set(tag)
tag = vim.F.if_nil(tag, 'ordinal')
tag = vim.F.if_nil(tag, "ordinal")
local set = {}
return setmetatable(set, {
__index = {
insert = function(set_, entry)
local value = entry[tag]
if not set_[value] then set_[value] = true end
end
}
if not set_[value] then
set_[value] = true
end
end,
},
})
end
sorters.prefilter = function(opts)
local sorter = opts.sorter
opts.delimiter = util.get_default(opts.delimiter, ':')
opts.delimiter = util.get_default(opts.delimiter, ":")
sorter._delimiter = opts.delimiter
sorter.tags = create_tag_set(opts.tag)
sorter.filter_function = filter_function(opts)
sorter._was_discarded = function() return false end
sorter._was_discarded = function()
return false
end
return sorter
end