100% POSIX and glibc compatible globbing library for C, Zig, and Rust that is faster and supports all the modern globbing formats (more than libc and rust glob crate)
It supports all the formats like * and {a,b} expansion as long as have a very efficient syscall and SIMD optimization for faster processing
What sibling comment says. Bash does suppress nonexistent products when the pattern includes a glob metacharacter and `shopt -s nullglob' is in effect, but I didn't see a flag or anything to achieve that in the project README.
100% POSIX and glibc compatible globbing library for C, Zig, and Rust that is faster and supports all the modern globbing formats (more than libc and rust glob crate)
It supports all the formats like * and {a,b} expansion as long as have a very efficient syscall and SIMD optimization for faster processing
Thanks for sharing. Just curious, is there any way to perform globbing over a list of path-like strings instead of only directly on the filesystem?
In case someone doesn't know, the standard function for that is called fnmatch:
https://man7.org/linux/man-pages/man3/fnmatch.3.html
Nice licence, I would've probably used this a few years ago on a project had I known it existed.
Was this vibe coded? Readme has typos and somehow reads "fast and loose".
I thought typos was a signifier for human-created these days, because an LLM is unlikely to land on something that is not a word.
Since when `{...}' syntax is a glob pattern? What does `{a,b}/c' produce when there is no directory named `a'?
would it not just produce 'b/c'? assuming 'b/c' is an existent file path
what else could you justify it doing?
The behavior of bash would be to produce "a/c" and "b/c", even if both files don't exist
What sibling comment says. Bash does suppress nonexistent products when the pattern includes a glob metacharacter and `shopt -s nullglob' is in effect, but I didn't see a flag or anything to achieve that in the project README.