|
1 | 1 | using CommunityToolkit.Mvvm.DependencyInjection; |
2 | 2 | using Flow.Launcher.Plugin.SharedModels; |
3 | 3 | using System; |
4 | | -using System.Buffers; |
5 | 4 | using System.Collections.Generic; |
6 | | -using System.ComponentModel.DataAnnotations; |
7 | 5 | using System.Globalization; |
8 | 6 | using System.Linq; |
9 | 7 | using System.Text; |
10 | 8 | using Flow.Launcher.Infrastructure.UserSettings; |
11 | | -using JetBrains.Annotations; |
12 | 9 |
|
13 | 10 | namespace Flow.Launcher.Infrastructure |
14 | 11 | { |
@@ -259,23 +256,14 @@ public MatchResult FuzzyMatch(string query, string stringToCompare, MatchOption |
259 | 256 | }; |
260 | 257 | public static string Normalize(string value) |
261 | 258 | { |
262 | | - if(string.IsNullOrEmpty(value)) return value; |
263 | | - char[] arrayFromPool = null; |
264 | | - Span<char> buffer = value.Length <= 512 ? stackalloc char[value.Length] : (arrayFromPool = ArrayPool<char>.Shared.Rent(value.Length)); |
265 | | - try |
| 259 | + Span<char> buffer = stackalloc char[value.Length]; |
| 260 | + for (int i = 0; i < value.Length; i++) |
266 | 261 | { |
267 | | - for (int i = 0; i < value.Length; i++) |
268 | | - { |
269 | | - var c = char.ToLowerInvariant(value[i]); |
270 | | - buffer[i] = AccentMap.TryGetValue(c, out var mapped) ? mapped : c; |
271 | | - } |
272 | | - return new string(buffer.Slice(0, value.Length)); |
273 | | - } |
274 | | - finally |
275 | | - { |
276 | | - if(arrayFromPool != null) |
277 | | - ArrayPool<char>.Shared.Return(arrayFromPool); |
| 262 | + var c = char.ToLowerInvariant(value[i]); |
| 263 | + buffer[i] = AccentMap.TryGetValue(c, out var mapped) ? mapped : c; |
278 | 264 | } |
| 265 | + |
| 266 | + return new string(buffer); |
279 | 267 | } |
280 | 268 | private static bool IsAcronym(string stringToCompare, int compareStringIndex) |
281 | 269 | { |
|
0 commit comments