aboutsummaryrefslogtreecommitdiff
path: root/src/fuzzel.lua
diff options
context:
space:
mode:
authorAlexander Pickering <alexandermpickering@gmail.com>2016-07-07 20:15:45 -0400
committerAlexander Pickering <alexandermpickering@gmail.com>2016-07-07 20:15:45 -0400
commit2f7c5293be04b234d81acdd306da29a38d53f6f5 (patch)
tree078bab56f726ece46058ff45175ef52033ed2cf9 /src/fuzzel.lua
parent88f89adfc551f05220c75a59e192e5f771aa3f82 (diff)
downloadfuzzel-2f7c5293be04b234d81acdd306da29a38d53f6f5.tar.gz
fuzzel-2f7c5293be04b234d81acdd306da29a38d53f6f5.tar.bz2
fuzzel-2f7c5293be04b234d81acdd306da29a38d53f6f5.zip
Some minor additions and optimizations
Diffstat (limited to 'src/fuzzel.lua')
-rw-r--r--src/fuzzel.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/fuzzel.lua b/src/fuzzel.lua
index f258acf..19a1a7c 100644
--- a/src/fuzzel.lua
+++ b/src/fuzzel.lua
@@ -55,13 +55,13 @@
--Assign locals to these to the minifier can compress the file better
-local strlen,chrat,min,asrt,prs,iprs,typ,upack,tblins,tblsrt,strsub,tru,fal = string.len,string.byte,math.min,assert,pairs,ipairs,type,unpack,table.insert,table.sort,string.sub,true,false
+local strlen,chrat,min,asrt,prs,iprs,typ,upack,tblins,tblsrt,strsub,tru,fal,tblcat = string.len,string.byte,math.min,assert,pairs,ipairs,type,unpack,table.insert,table.sort,string.sub,true,false,table.concat
local fuzzel = {}
--A clever way to allow the minifier to minify function names, this basically just assigns variables with their string equivalent.
local da, le, di, ra, fu, fi, so, ex, ha, au = "Damerau", "Levenshtein", "Distance", "Ratio", "Fuzzy", "Find", "Sort", "_extended", "Hamming", "Autocomplete"
-local LevenshteinDistance_extended,LevenshteinDistance,LevenshteinRatio,DamerauLevenshteinDistance_extended,DamerauLevenshteinDistance,DamerauLevenshteinRatio,FuzzyFindDistance,FuzzyFindRatio,FuzzySortDistance,FuzzySortRatio,HammingDistance,HammingRatio,FuzzyAutocompleteDistance,FuzzyAutocompleteRatio = le .. di .. ex, le .. di, le .. ra, da .. le .. di .. ex, da .. le .. di, da .. le .. ra, fu .. fi .. di, fu .. fi .. ra, fu .. so .. di, fu .. so .. ra, ha .. di, ha .. ra, fu .. au .. di, fu .. au .. ra
+local LevenshteinDistance_extended,LevenshteinDistance,LevenshteinRatio,DamerauLevenshteinDistance_extended,DamerauLevenshteinDistance,DamerauLevenshteinRatio,FuzzyFindDistance,FuzzyFindRatio,FuzzySortDistance,FuzzySortRatio,HammingDistance,HammingRatio,FuzzyAutocompleteDistance,FuzzyAutocompleteRatio, Table = le .. di .. ex, le .. di, le .. ra, da .. le .. di .. ex, da .. le .. di, da .. le .. ra, fu .. fi .. di, fu .. fi .. ra, fu .. so .. di, fu .. so .. ra, ha .. di, ha .. ra, fu .. au .. di, fu .. au .. ra, "table"
local function genericDistance( stringa, stringb, addcost, subcost, delcost, ...)
local arg = {...}
@@ -194,7 +194,7 @@ fuzzel.dlr = fuzzel[DamerauLevenshteinRatio]
-- @usage fuzzel.HammingDistance("two","three") --Will throw an error, since "two" is 3 characters long while "three" is 5 characters long!
fuzzel[HammingDistance] = function(stringa,stringb)
local len,dist = strlen(stringa),0
- asrt(len == strlen(stringb), ha.." "..di.." cannot be calculated on two strings of different lengths:\"" .. stringa .. "\" \"" .. stringb .. "\"")
+ asrt(len == strlen(stringb), tblcat({ha," ",di," cannot be calculated on two strings of different lengths:\"",stringa, "\" \"", stringb, "\""}))
for i = 1,len do
dist = dist + ((chrat(stringa,i) ~= chrat(stringb,i)) and 1 or 0)
end
@@ -218,7 +218,7 @@ local function FuzzySearch(str,func,...)
local arg = {...}
--Allow varargs, or a table
- local looparg = typ(arg[1]) == "table" and arg[1] or arg
+ local looparg = typ(arg[1]) == Table and arg[1] or arg
--Find the string with the shortest distance to the string we were supplied
local tmin,sout = func(looparg[1],str),looparg[1]
@@ -259,7 +259,7 @@ local function FuzzySort(str, func, short, ...)
local arg = {...}
--allow varargs, or a table
- local looparg = typ(arg[1]) == "table" and arg[1] or arg
+ local looparg = typ(arg[1]) == Table and arg[1] or arg
--Roughly sort everything by it's distance to the string
local usorted,sorted,otbl,slen = {},{},{},strlen(str)