rust-lang / glob

Support for matching file paths against Unix shell style patterns.
http://doc.rust-lang.org/glob
Apache License 2.0
463 stars 76 forks source link

Allow the use of `^` for negation in addition to `!`? #116

Open ackerleytng opened 2 years ago

ackerleytng commented 2 years ago

Would you consider allowing the use of ^ for negation in addition to !?

gnu coreutils supports the use of ^ in addition to !, based on the behavior of ls and du. I tried finding documentation of this in code, and found this in fnmatch.c

Or perhaps, instead of a direct comparison with '!' at https:/github.com/rust-lang/glob/blob/master/src/lib.rs#L614, can we call a method like is_negation_character? That way, this library can be extended.

ndmitchell commented 2 years ago

This would also be useful for a project I've been working on, where the incompatibility with Java glob libraries caught us by surprise. I note that @ackerleytng used the workaround of replacing the input string - that would be possible for us too, but it seems like a dangerous thing to do and easy to get wrong.