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)

BUG: 401509

Edited by Waqar Ahmed

Merge request reports

Loading