Noir::FileExtension
Case folding for the extensions of stacks written on case-insensitive
Windows/IIS filesystems, where LOGIN.ASP, P.ASPX and A.PHP are the
same pages as their lower-case spellings and routinely show up that way
in checkouts.
Deliberately a closed list, not every extension: elsewhere case is
meaningful — .C/.H are C++ next to C's .c/.h, Makefile.PL is a
Perl build script rather than a .pl source, and .R already has its
own spelling in the R analyzer.
Constants
CASE_INSENSITIVE = Set {".asp", ".asa", ".aspx", ".asmx", ".ashx", ".ascx", ".master", ".svc", ".cs", ".csproj", ".cshtml", ".razor", ".vb", ".vbproj", ".vbhtml", ".cfm", ".cfc", ".cfml", ".php"}
Class methods
path with its extension lower-cased when that extension is a
CASE_INSENSITIVE one spelled with upper-case letters; otherwise
path itself, without allocating.