From 7040fffccaac9e1fd16d5f5a5d3ce132920fad21 Mon Sep 17 00:00:00 2001 From: Seraphima Zykova Date: Mon, 21 Dec 2020 18:24:10 +0300 Subject: [PATCH] [PT Run] String with accented characters search (#8667) --- .../launcher/Wox.Infrastructure/StringMatcher.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/modules/launcher/Wox.Infrastructure/StringMatcher.cs b/src/modules/launcher/Wox.Infrastructure/StringMatcher.cs index 8679f18bb2..098d66766d 100644 --- a/src/modules/launcher/Wox.Infrastructure/StringMatcher.cs +++ b/src/modules/launcher/Wox.Infrastructure/StringMatcher.cs @@ -96,7 +96,19 @@ namespace Wox.Infrastructure spaceIndices.Add(compareStringIndex); } - if (fullStringToCompareWithoutCase[compareStringIndex] != currentQuerySubstring[currentQuerySubstringCharacterIndex]) + bool compareResult; + if (opt.IgnoreCase) + { + var fullStringToCompare = fullStringToCompareWithoutCase[compareStringIndex].ToString(); + var querySubstring = currentQuerySubstring[currentQuerySubstringCharacterIndex].ToString(); + compareResult = string.Compare(fullStringToCompare, querySubstring, CultureInfo.CurrentCulture, CompareOptions.IgnoreCase | CompareOptions.IgnoreNonSpace) != 0; + } + else + { + compareResult = fullStringToCompareWithoutCase[compareStringIndex] != currentQuerySubstring[currentQuerySubstringCharacterIndex]; + } + + if (compareResult) { matchFoundInPreviousLoop = false; continue;