tendrils-core 0.0.4

Core library for Tendrils
Documentation
pub const fn cases() -> [&'static str; 115] {
    [
        "",
        ".",
        "..",
        "./",
        ".\\",
        "../",
        "..\\",
        "Plain",
        "Trailing/",
        "Trailing\\",
        "/Leading",
        "\\Leading",
        "Combo/Path\\",
        "Combo\\Path/",
        "/",
        "//",
        "\\\\",
        "///",
        "\\\\\\",
        "/.",
        "\\.",
        "/..",
        "\\..",
        "//.",
        "\\\\.",
        "//..",
        "\\\\..",

        // Windows prefixes
        // https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file
        // https://learn.microsoft.com/en-us/dotnet/standard/io/file-path-formats
        // https://www.fileside.app/blog/2023-03-17_windows-file-paths
        "C:/",
        "C:\\",
        "c:/",
        "c:\\",
        "X:\\",
        "C:",
        "c:",
        "C:WithoutRoot",
        "C:\\.",
        "C:\\..",
        "/C:/",
        "\\C:\\",
        "/C:",
        "\\C:",
        "//Server/Share/",
        "\\\\Server\\Share\\",
        "//Server/Share",
        "\\\\Server\\Share",
        "\\\\Server\\Share\\misc.txt",
        "\\\\Server\\misc.txt",
        "///Server/Share",
        "\\\\Server\\Share\\C:",
        "\\\\\\Server\\Share",
        "\\\\127.0.0.1\\Share",
        "\\\\Server\\C$\\",
        "\\\\Server\\C$",
        "\\\\Server\\C:\\",
        "\\\\Server\\C:",
        "\\\\Server\\C$\\.",
        "\\\\Server\\C$\\..",
        "\\\\.\\.",
        "\\\\..\\..",
        "//?/",
        "\\\\?\\",
        "//?//",
        "\\\\?\\\\",
        "//?/C:/",
        "\\\\?\\C:\\",
        "\\\\?\\C:",
        "\\\\?\\C:WithoutRoot",
        "\\\\?\\.",
        "\\\\?\\..",
        "//./",
        "\\\\.\\",
        "//.//",
        "\\\\.\\\\",
        "//./C:/",
        "\\\\.\\C:\\",
        "\\\\.\\C:",
        "\\\\.\\C:WithoutRoot",
        "\\\\.\\.",
        "\\\\..\\..",
        "//?/UNC/Server/Share",
        "\\\\?\\UNC\\Server\\Share",
        "//?/UNC/Server/C$",
        "\\\\?\\UNC\\Server\\C$",
        "\\\\?\\UNC\\Server\\C$\\",
        "\\\\?\\unc\\Server\\c$\\",
        "\\\\?\\UNC\\Server\\C:",
        "\\\\?\\UNC\\Server\\C$\\.",
        "\\\\?\\UNC\\Server\\C$\\..",
        "\\\\?\\UNC\\.\\.",
        "\\\\?\\UNC\\..\\..",
        "//./UNC/Server/Share",
        "\\\\.\\UNC\\Server\\Share",
        "//./UNC/Server/C$",
        "\\\\.\\UNC\\Server\\C$",
        "\\\\.\\UNC\\Server\\C$\\",
        "\\\\.\\unc\\Server\\c$\\",
        "\\\\.\\UNC\\Server\\C:",
        "\\\\.\\UNC\\Server\\C$\\.",
        "\\\\.\\UNC\\Server\\C$\\..",
        "\\\\.\\UNC\\.\\.",
        "\\\\.\\UNC\\..\\..",
        "//?/Volume{12a34b56-78c9-012d-ef3g-45678hij9012}",
        "\\\\?\\Volume{12a34b56-78c9-012d-ef3g-45678hij9012}",
        "//?/Volume{12a34b56-78c9-012d-ef3g-45678hij9012}/",
        "\\\\?\\Volume{12a34b56-78c9-012d-ef3g-45678hij9012}\\",
        "//?/Volume{12a34b56-78c9-012d-ef3g-45678hij9012}/misc.txt",
        "\\\\?\\Volume{12a34b56-78c9-012d-ef3g-45678hij9012}\\misc.txt",
        "//./Volume{12a34b56-78c9-012d-ef3g-45678hij9012}",
        "\\\\.\\Volume{12a34b56-78c9-012d-ef3g-45678hij9012}",
        "//./Volume{12a34b56-78c9-012d-ef3g-45678hij9012}/",
        "\\\\.\\Volume{12a34b56-78c9-012d-ef3g-45678hij9012}\\",
        "//./Volume{12a34b56-78c9-012d-ef3g-45678hij9012}/misc.txt",
        "\\\\.\\Volume{12a34b56-78c9-012d-ef3g-45678hij9012}\\misc.txt",

        // Other protocols
        "file:///../File/Protocol",
        "https://www.website.com",
    ]
}