summaryrefslogtreecommitdiffstats
path: root/src/pattern.go
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2017-08-11 13:09:33 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2017-08-11 13:09:33 +0900
commit6c76d8cd1cf52a277221bc2f9c6e7762a6360129 (patch)
treecb42013a728b3643b5314c5c41d67cff917c0eec /src/pattern.go
parenta09e411936244aa515519134dbbd938ae3cadcd4 (diff)
Disallow escaping of meta characters except for spaces
https://github.com/junegunn/fzf/issues/444#issuecomment-321719604
Diffstat (limited to 'src/pattern.go')
-rw-r--r--src/pattern.go20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/pattern.go b/src/pattern.go
index dbb3983f..8de15b98 100644
--- a/src/pattern.go
+++ b/src/pattern.go
@@ -54,15 +54,13 @@ type Pattern struct {
}
var (
- _patternCache map[string]*Pattern
- _splitRegex *regexp.Regexp
- _escapedPrefixRegex *regexp.Regexp
- _cache ChunkCache
+ _patternCache map[string]*Pattern
+ _splitRegex *regexp.Regexp
+ _cache ChunkCache
)
func init() {
_splitRegex = regexp.MustCompile(" +")
- _escapedPrefixRegex = regexp.MustCompile("^\\\\['!^|]")
clearPatternCache()
clearChunkCache()
}
@@ -179,17 +177,11 @@ func parseTerms(fuzzy bool, caseMode Case, normalize bool, str string) []termSet
}
if text != "$" && strings.HasSuffix(text, "$") {
- if strings.HasSuffix(text, "\\$") {
- text = text[:len(text)-2] + "$"
- } else {
- typ = termSuffix
- text = text[:len(text)-1]
- }
+ typ = termSuffix
+ text = text[:len(text)-1]
}
- if _escapedPrefixRegex.MatchString(text) {
- text = text[1:]
- } else if strings.HasPrefix(text, "'") {
+ if strings.HasPrefix(text, "'") {
// Flip exactness
if fuzzy && !inv {
typ = termExact