diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2016-07-07 20:15:45 -0400 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2016-07-07 20:15:45 -0400 |
| commit | 2f7c5293be04b234d81acdd306da29a38d53f6f5 (patch) | |
| tree | 078bab56f726ece46058ff45175ef52033ed2cf9 /src | |
| parent | 88f89adfc551f05220c75a59e192e5f771aa3f82 (diff) | |
| download | fuzzel-2f7c5293be04b234d81acdd306da29a38d53f6f5.tar.gz fuzzel-2f7c5293be04b234d81acdd306da29a38d53f6f5.tar.bz2 fuzzel-2f7c5293be04b234d81acdd306da29a38d53f6f5.zip | |
Some minor additions and optimizations
Diffstat (limited to 'src')
| -rw-r--r-- | src/fuzzel.lua | 10 |
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) |
