From 8a4071eea942c157f5f89bde2885981060a03ab5 Mon Sep 17 00:00:00 2001 From: Martin Pool Date: Mon, 31 May 2021 15:54:55 -0700 Subject: [PATCH] globset: expand docs and impl Default for GlobSet Closes #1882, Closes #1883 --- crates/globset/src/glob.rs | 2 ++ crates/globset/src/lib.rs | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/crates/globset/src/glob.rs b/crates/globset/src/glob.rs index 2195f70..1f8009d 100644 --- a/crates/globset/src/glob.rs +++ b/crates/globset/src/glob.rs @@ -616,6 +616,8 @@ impl<'a> GlobBuilder<'a> { } /// Toggle whether a literal `/` is required to match a path separator. + /// + /// By default this is false: `*` and `?` will match `/`. pub fn literal_separator(&mut self, yes: bool) -> &mut GlobBuilder<'a> { self.opts.literal_separator = yes; self diff --git a/crates/globset/src/lib.rs b/crates/globset/src/lib.rs index 29f1672..52700be 100644 --- a/crates/globset/src/lib.rs +++ b/crates/globset/src/lib.rs @@ -456,6 +456,13 @@ impl GlobSet { } } +impl Default for GlobSet { + /// Create a default empty GlobSet. + fn default() -> Self { + GlobSet::empty() + } +} + /// GlobSetBuilder builds a group of patterns that can be used to /// simultaneously match a file path. #[derive(Clone, Debug)] @@ -833,7 +840,7 @@ impl RequiredExtensionStrategyBuilder { #[cfg(test)] mod tests { - use super::GlobSetBuilder; + use super::{GlobSet, GlobSetBuilder}; use glob::Glob; #[test] @@ -863,4 +870,11 @@ mod tests { assert!(!set.is_match("")); assert!(!set.is_match("a")); } + + #[test] + fn default_set_is_empty_works() { + let set: GlobSet = Default::default(); + assert!(!set.is_match("")); + assert!(!set.is_match("a")); + } }