def scoreMatches(q, c, limit, ispath): if useNative: idxArr = fruzzy_mod.scoreMatchesStr(q, c, limit, ispath) results = [] for i in idxArr: results.append((c[i[0]], i[1])) return results else: return fruzzy.scoreMatches(q, c, limit, ispath=ispath)
def scoreMatchesProxy(q, c, limit, key=None, ispath=True): def idfn(x): return x if key is None: key = idfn if useNative: idxArr = scoreMatchesStr(q, idfn(c), limit, ispath) results = [] for i in idxArr: results.append((c[i[0]], i[1])) return results else: return scoreMatches(q, c, limit, key, ispath)
def fruzzy_match(): """The wrapper for fruzzy matcher""" args = vim.eval('input') args['limit'] = int(args['limit']) args['ispath'] = int(args['ispath']) if USE_NATIVE: output = scoreMatchesStr(args['query'], args['candidates'], args['current'], args['limit'], args['ispath']) matches = [args['candidates'][i[0]] for i in output] else: matches = [c[0] for c in scoreMatches(**args)] return matches
import fruzzy_mod l = ["d:/code/go/src/github.com/raghur/fuzzy-denite/scratch/pyfuzzy.py"] print("fuzz", l, fruzzy_mod.scoreMatchesStr("fuzz", l, "", 10,True)) l = ["D:/code/go/src/github.com/raghur/fuzzy-denite/lib/api.pb.go"] print("fuzz", l, fruzzy_mod.scoreMatchesStr("fuzz", l, "", 10,True)) print("api", l, fruzzy_mod.scoreMatchesStr("api", l, "", 10,True)) print("xxx", l, fruzzy_mod.scoreMatchesStr("xxx", l, "", 10,True)) print("gbf", l, fruzzy_mod.scoreMatchesStr("gbf", l, "", 10,True))