diff --git a/src/vs/base/common/filters.ts b/src/vs/base/common/filters.ts index f03ef917d935..7359679a82f9 100644 --- a/src/vs/base/common/filters.ts +++ b/src/vs/base/common/filters.ts @@ -672,21 +672,21 @@ export function _matchRecursive( && ((value = _matchRecursive(pattern, lowPattern, upPattern, patternPos + 1, word, lowWord, wordPos + 1, matches)) >= 0) ) { matches.unshift(wordPos); - return (pattern.charAt(patternPos) === word.charAt(wordPos) ? 11 : 9) + value; + return (pattern.charAt(patternPos) === word.charAt(wordPos) ? 17 : 11) + value; } if ((idx = lowWord.indexOf(`_${lowPatternChar}`, wordPos)) >= 0 && ((value = _matchRecursive(pattern, lowPattern, upPattern, patternPos + 1, word, lowWord, idx + 2, matches)) >= 0) ) { matches.unshift(idx + 1); - return (pattern.charAt(patternPos) === word.charAt(idx + 1) ? 11 : 9) + value; + return (pattern.charAt(patternPos) === word.charAt(idx + 1) ? 17 : 11) + value; } if ((idx = word.indexOf(upPattern.charAt(patternPos), wordPos)) >= 0 && ((value = _matchRecursive(pattern, lowPattern, upPattern, patternPos + 1, word, lowWord, idx + 1, matches)) >= 0) ) { matches.unshift(idx); - return (pattern.charAt(patternPos) === word.charAt(idx) ? 11 : 9) + value; + return (pattern.charAt(patternPos) === word.charAt(idx) ? 17 : 11) + value; } if (patternPos > 0 diff --git a/src/vs/base/test/common/filters.test.ts b/src/vs/base/test/common/filters.test.ts index 52ae8ccc042d..5d970475820a 100644 --- a/src/vs/base/test/common/filters.test.ts +++ b/src/vs/base/test/common/filters.test.ts @@ -259,8 +259,8 @@ suite('Filters', () => { assertTopScore('CC', 1, 'camelCase', 'CamelCase'); assertTopScore('cC', 0, 'camelCase', 'CamelCase'); - // assertTopScore('cC', 1, 'ccfoo', 'camelCase'); - // assertTopScore('cC', 1, 'ccfoo', 'camelCase', 'foo-cC-bar'); + assertTopScore('cC', 1, 'ccfoo', 'camelCase'); + assertTopScore('cC', 1, 'ccfoo', 'camelCase', 'foo-cC-bar'); // issue #17836 assertTopScore('p', 0, 'parse', 'posix', 'pafdsa', 'path', 'p');