update, text, response
This commit is contained in:
32
node_modules/ignore/index.js
generated
vendored
32
node_modules/ignore/index.js
generated
vendored
@@ -67,21 +67,38 @@ const cleanRangeBackSlash = slashes => {
|
||||
// '`foo/`' should not continue with the '`..`'
|
||||
const REPLACERS = [
|
||||
|
||||
[
|
||||
// remove BOM
|
||||
// TODO:
|
||||
// Other similar zero-width characters?
|
||||
/^\uFEFF/,
|
||||
() => EMPTY
|
||||
],
|
||||
|
||||
// > Trailing spaces are ignored unless they are quoted with backslash ("\")
|
||||
[
|
||||
// (a\ ) -> (a )
|
||||
// (a ) -> (a)
|
||||
// (a ) -> (a)
|
||||
// (a \ ) -> (a )
|
||||
/\\?\s+$/,
|
||||
match => match.indexOf('\\') === 0
|
||||
? SPACE
|
||||
: EMPTY
|
||||
/((?:\\\\)*?)(\\?\s+)$/,
|
||||
(_, m1, m2) => m1 + (
|
||||
m2.indexOf('\\') === 0
|
||||
? SPACE
|
||||
: EMPTY
|
||||
)
|
||||
],
|
||||
|
||||
// replace (\ ) with ' '
|
||||
// (\ ) -> ' '
|
||||
// (\\ ) -> '\\ '
|
||||
// (\\\ ) -> '\\ '
|
||||
[
|
||||
/\\\s/g,
|
||||
() => SPACE
|
||||
/(\\+?)\s/g,
|
||||
(_, m1) => {
|
||||
const {length} = m1
|
||||
return m1.slice(0, length - length % 2) + SPACE
|
||||
}
|
||||
],
|
||||
|
||||
// Escape metacharacters
|
||||
@@ -309,7 +326,8 @@ const makeRegex = (pattern, ignoreCase) => {
|
||||
|
||||
if (!source) {
|
||||
source = REPLACERS.reduce(
|
||||
(prev, current) => prev.replace(current[0], current[1].bind(pattern)),
|
||||
(prev, [matcher, replacer]) =>
|
||||
prev.replace(matcher, replacer.bind(pattern)),
|
||||
pattern
|
||||
)
|
||||
regexCache[pattern] = source
|
||||
|
||||
Reference in New Issue
Block a user