(pattern: &str)
| 283 | } |
| 284 | |
| 285 | fn glob_to_regex(pattern: &str) -> regex::Regex { |
| 286 | let mut regex_str = String::from("^.*"); |
| 287 | for c in pattern.chars() { |
| 288 | match c { |
| 289 | '*' => regex_str.push_str("[^/]*"), |
| 290 | '?' => regex_str.push_str("[^/]"), |
| 291 | '.' => regex_str.push_str("\\."), |
| 292 | _ => regex_str.push(c), |
| 293 | } |
| 294 | } |
| 295 | regex_str.push('$'); |
| 296 | regex::Regex::new(®ex_str).unwrap_or_else(|_| regex::Regex::new(".*").unwrap()) |
| 297 | } |
| 298 | } |
| 299 | |
| 300 | #[cfg(test)] |