Optimize file name comparison in detectors

This commit is contained in:
ema
2025-07-10 04:11:00 +08:00
parent 0bb6e622f6
commit 4a72e1ed8e
4 changed files with 8 additions and 4 deletions

View File

@@ -30,6 +30,7 @@ public sealed class CMakeListsDetector : IConfusedFormatDetector
{
if (string.IsNullOrWhiteSpace(text)) return false;
return "CMakeLists.txt".Equals(Path.GetFileName(path), StringComparison.OrdinalIgnoreCase);
var fileName = Path.GetFileName(path).AsSpan();
return "CMakeLists.txt".AsSpan().Equals(fileName, StringComparison.OrdinalIgnoreCase);
}
}

View File

@@ -30,6 +30,7 @@ public sealed class DockerfileDetector : IFormatDetector
{
if (string.IsNullOrWhiteSpace(text)) return false;
return "Dockerfile".Equals(Path.GetFileName(path), StringComparison.OrdinalIgnoreCase);
var fileName = Path.GetFileName(path).AsSpan();
return "Dockerfile".AsSpan().Equals(fileName, StringComparison.OrdinalIgnoreCase);
}
}

View File

@@ -30,6 +30,7 @@ public sealed class HostsDetector : IFormatDetector
{
if (string.IsNullOrWhiteSpace(text)) return false;
return "hosts".Equals(Path.GetFileName(path), StringComparison.OrdinalIgnoreCase);
var fileName = Path.GetFileName(path).AsSpan();
return "hosts".AsSpan().Equals(fileName, StringComparison.OrdinalIgnoreCase);
}
}

View File

@@ -30,6 +30,7 @@ public sealed class MakefileDetector : IFormatDetector
{
if (string.IsNullOrWhiteSpace(text)) return false;
return "Makefile".Equals(Path.GetFileName(path), StringComparison.OrdinalIgnoreCase);
var fileName = Path.GetFileName(path).AsSpan();
return "Makefile".AsSpan().Equals(fileName, StringComparison.OrdinalIgnoreCase);
}
}