Do proper fuzzy matching in completion
Use KFuzzyMatcher for fuzzy matching. Results are better and fixes the linked bug.
Also remove some dead code related to case sensitivity while at it.
As a bonus things will be much faster:
After
RESULT : CompletionTest::benchAbbreviationEngineNormalCase():
23 msecs per iteration (total: 92, iterations: 4)
PASS : CompletionTest::benchAbbreviationEngineWorstCase()
RESULT : CompletionTest::benchAbbreviationEngineWorstCase():
44 msecs per iteration (total: 88, iterations: 2)
PASS : CompletionTest::benchAbbreviationEngineGoodCase()
RESULT : CompletionTest::benchAbbreviationEngineGoodCase():
2.9 msecs per iteration (total: 95, iterations: 32)
Before
RESULT : CompletionTest::benchAbbreviationEngineNormalCase():
42 msecs per iteration (total: 84, iterations: 2)
PASS : CompletionTest::benchAbbreviationEngineWorstCase()
RESULT : CompletionTest::benchAbbreviationEngineWorstCase():
1,433 msecs per iteration (total: 1,433, iterations: 1)
PASS : CompletionTest::benchAbbreviationEngineGoodCase()
RESULT : CompletionTest::benchAbbreviationEngineGoodCase():
2.8 msecs per iteration (total: 91, iterations: 32)
Edited by Waqar Ahmed