parent
4416b01659
commit
ce346572fa
@ -0,0 +1,66 @@
|
|||||||
|
From 5616ca398ffa54643ae3c139518060d4523be687 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Josh Stone <cuviper@gmail.com>
|
||||||
|
Date: Wed, 7 Mar 2018 21:48:02 -0800
|
||||||
|
Subject: [PATCH] Update to regex-syntax 0.5
|
||||||
|
|
||||||
|
The new regex 0.2.7 has updated to regex-syntax 0.5, so it seems prudent
|
||||||
|
to update fd's dependency too, if only to avoid duplication.
|
||||||
|
---
|
||||||
|
src/internal.rs | 28 +++++++++++++++++-----------
|
||||||
|
1 file changed, 17 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/internal.rs b/src/internal.rs
|
||||||
|
index fe9a43db5640..a2bb96a89772 100644
|
||||||
|
--- a/src/internal.rs
|
||||||
|
+++ b/src/internal.rs
|
||||||
|
@@ -15,7 +15,8 @@ use std::io::Write;
|
||||||
|
use exec::CommandTemplate;
|
||||||
|
use lscolors::LsColors;
|
||||||
|
use walk::FileType;
|
||||||
|
-use regex_syntax::{Expr, ExprBuilder};
|
||||||
|
+use regex_syntax::Parser;
|
||||||
|
+use regex_syntax::hir::Hir;
|
||||||
|
use regex::RegexSet;
|
||||||
|
|
||||||
|
/// Configuration options for *fd*.
|
||||||
|
@@ -83,22 +84,27 @@ pub fn error(message: &str) -> ! {
|
||||||
|
|
||||||
|
/// Determine if a regex pattern contains a literal uppercase character.
|
||||||
|
pub fn pattern_has_uppercase_char(pattern: &str) -> bool {
|
||||||
|
- ExprBuilder::new()
|
||||||
|
+ Parser::new()
|
||||||
|
.parse(pattern)
|
||||||
|
- .map(|expr| expr_has_uppercase_char(&expr))
|
||||||
|
+ .map(|hir| hir_has_uppercase_char(&hir))
|
||||||
|
.unwrap_or(false)
|
||||||
|
}
|
||||||
|
|
||||||
|
/// Determine if a regex expression contains a literal uppercase character.
|
||||||
|
-fn expr_has_uppercase_char(expr: &Expr) -> bool {
|
||||||
|
- match *expr {
|
||||||
|
- Expr::Literal { ref chars, .. } => chars.iter().any(|c| c.is_uppercase()),
|
||||||
|
- Expr::Class(ref ranges) => ranges
|
||||||
|
+fn hir_has_uppercase_char(hir: &Hir) -> bool {
|
||||||
|
+ use regex_syntax::hir::*;
|
||||||
|
+
|
||||||
|
+ match *hir.kind() {
|
||||||
|
+ HirKind::Literal(Literal::Unicode(c)) => c.is_uppercase(),
|
||||||
|
+ HirKind::Class(Class::Unicode(ref ranges)) => ranges
|
||||||
|
.iter()
|
||||||
|
- .any(|r| r.start.is_uppercase() || r.end.is_uppercase()),
|
||||||
|
- Expr::Group { ref e, .. } | Expr::Repeat { ref e, .. } => expr_has_uppercase_char(e),
|
||||||
|
- Expr::Concat(ref es) => es.iter().any(expr_has_uppercase_char),
|
||||||
|
- Expr::Alternate(ref es) => es.iter().any(expr_has_uppercase_char),
|
||||||
|
+ .any(|r| r.start().is_uppercase() || r.end().is_uppercase()),
|
||||||
|
+ HirKind::Group(Group { ref hir, .. }) | HirKind::Repetition(Repetition { ref hir, .. }) => {
|
||||||
|
+ hir_has_uppercase_char(hir)
|
||||||
|
+ }
|
||||||
|
+ HirKind::Concat(ref hirs) | HirKind::Alternation(ref hirs) => {
|
||||||
|
+ hirs.iter().any(hir_has_uppercase_char)
|
||||||
|
+ }
|
||||||
|
_ => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.14.3
|
||||||
|
|
@ -1,32 +0,0 @@
|
|||||||
--- fd-find-6.2.0/Cargo.toml 1970-01-01T01:00:00+01:00
|
|
||||||
+++ fd-find-6.2.0/Cargo.toml 2018-01-04T13:38:49.234315+01:00
|
|
||||||
@@ -28,7 +28,7 @@
|
|
||||||
name = "fd"
|
|
||||||
path = "src/main.rs"
|
|
||||||
[dependencies.ansi_term]
|
|
||||||
-version = "0.9"
|
|
||||||
+version = "0.10"
|
|
||||||
|
|
||||||
[dependencies.atty]
|
|
||||||
version = "0.2"
|
|
||||||
@@ -41,7 +41,7 @@
|
|
||||||
version = "3.0"
|
|
||||||
|
|
||||||
[dependencies.ignore]
|
|
||||||
-version = "0.2"
|
|
||||||
+version = "0.3"
|
|
||||||
|
|
||||||
[dependencies.lazy_static]
|
|
||||||
version = "1"
|
|
||||||
@@ -66,11 +66,6 @@
|
|
||||||
version = "0.1.3"
|
|
||||||
[target."cfg(all(unix, not(target_os = \"redox\")))".dependencies.libc]
|
|
||||||
version = "0.2"
|
|
||||||
-[target."cfg(windows)".dependencies.kernel32-sys]
|
|
||||||
-version = "0.2"
|
|
||||||
-
|
|
||||||
-[target."cfg(windows)".dependencies.winapi]
|
|
||||||
-version = "0.2"
|
|
||||||
[badges.appveyor]
|
|
||||||
repository = "sharkdp/fd"
|
|
||||||
|
|
Loading…
Reference in new issue