The issue is here https://github.com/ziglang/zig/blob/8e72a25285b5e782ee44828b6d1904d91fb16a29/lib/std/ascii.zig#L422. orderIgnoreCase does not honor differences in length, so when sorting number suffixed files, the sorting won't be correct. For instance
"e_1",
"e_3",
"e_2",
"e_14",
"e_13",
"e_10",
should become
"e_1",
"e_2",
"e_3",
"e_10",
"e_13",
"e_14",
ezauses smart natural sorting algorithm https://crates.io/crates/natord which is inspired by C impl https://github.com/sourcefrog/natsort