src/StructuredLogViewer.Avalonia/Controls/ImportLinkHighlighter.cs [228:253]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - private int GetCommonPathLength() { if (importedPaths.Count < 2) return 0; var paths = importedPaths.Select(i => i.ToLowerInvariant()).ToList(); var charCountToConsider = paths.Min(i => i.Length); var result = 0; for (var charIndex = 0; charIndex < charCountToConsider; ++charIndex) { var currentChar = paths[0][charIndex]; for (var pathIndex = 1; pathIndex < paths.Count; ++pathIndex) { if (paths[pathIndex][charIndex] != currentChar) return result; } if (currentChar is '\\' or '/') result = charIndex; } return result; } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - src/StructuredLogViewer/Controls/ImportLinkHighlighter.cs [196:221]: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - private int GetCommonPathLength() { if (importedPaths.Count < 2) return 0; var paths = importedPaths.Select(i => i.ToLowerInvariant()).ToList(); var charCountToConsider = paths.Min(i => i.Length); var result = 0; for (var charIndex = 0; charIndex < charCountToConsider; ++charIndex) { var currentChar = paths[0][charIndex]; for (var pathIndex = 1; pathIndex < paths.Count; ++pathIndex) { if (paths[pathIndex][charIndex] != currentChar) return result; } if (currentChar is '\\' or '/') result = charIndex; } return result; } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -