summaryrefslogtreecommitdiff
path: root/lua/telescope/algos/string_distance.lua
diff options
context:
space:
mode:
authorSimon Hauser <Simon-Hauser@outlook.de>2021-07-23 17:42:37 +0200
committerGitHub <noreply@github.com>2021-07-23 11:42:37 -0400
commit79644ab67731c7ba956c354bf0545282f34e10cc (patch)
treee65dbf73b3442ab1aa9fc59fc56a35b4c9edf1e0 /lua/telescope/algos/string_distance.lua
parent664690029fdb302bee8d3f27a458383e8477add7 (diff)
chore: use stylua for formatting (#1040)
* chore: stylua job and config * reformat with stylua
Diffstat (limited to 'lua/telescope/algos/string_distance.lua')
-rw-r--r--lua/telescope/algos/string_distance.lua51
1 files changed, 27 insertions, 24 deletions
diff --git a/lua/telescope/algos/string_distance.lua b/lua/telescope/algos/string_distance.lua
index de40e14..c2c5ead 100644
--- a/lua/telescope/algos/string_distance.lua
+++ b/lua/telescope/algos/string_distance.lua
@@ -1,12 +1,14 @@
-
local function min(a, b, c)
local min_val = a
- if b < min_val then min_val = b end
- if c < min_val then min_val = c end
+ if b < min_val then
+ min_val = b
+ end
+ if c < min_val then
+ min_val = c
+ end
return min_val
-
end
----------------------------------
@@ -16,34 +18,35 @@ end
-- @treturn number the levenshtein distance
-- @within Metrics
return function(s1, s2)
- if s1 == s2 then return 0 end
- if s1:len() == 0 then return s2:len() end
- if s2:len() == 0 then return s1:len() end
- if s1:len() < s2:len() then s1, s2 = s2, s1 end
+ if s1 == s2 then
+ return 0
+ end
+ if s1:len() == 0 then
+ return s2:len()
+ end
+ if s2:len() == 0 then
+ return s1:len()
+ end
+ if s1:len() < s2:len() then
+ s1, s2 = s2, s1
+ end
local t = {}
- for i=1, #s1+1 do
- t[i] = {i-1}
+ for i = 1, #s1 + 1 do
+ t[i] = { i - 1 }
end
- for i=1, #s2+1 do
- t[1][i] = i-1
+ for i = 1, #s2 + 1 do
+ t[1][i] = i - 1
end
local cost
- for i=2, #s1+1 do
-
- for j=2, #s2+1 do
- cost = (s1:sub(i-1,i-1) == s2:sub(j-1,j-1) and 0) or 1
- t[i][j] = min(
- t[i-1][j] + 1,
- t[i][j-1] + 1,
- t[i-1][j-1] + cost)
+ for i = 2, #s1 + 1 do
+ for j = 2, #s2 + 1 do
+ cost = (s1:sub(i - 1, i - 1) == s2:sub(j - 1, j - 1) and 0) or 1
+ t[i][j] = min(t[i - 1][j] + 1, t[i][j - 1] + 1, t[i - 1][j - 1] + cost)
end
-
end
- return t[#s1+1][#s2+1]
-
+ return t[#s1 + 1][#s2 + 1]
end
-