diff options
author | Drew DeVault <sir@cmpwn.com> | 2019-08-20 13:04:21 +0900 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-08-20 13:04:58 +0900 |
commit | 334ca89bea38132252d092ad6066af100768eff7 (patch) | |
tree | 15e6e21e7e8daedde24d6e7881f2b0bfb8c44273 | |
parent | 1f5293931adf591fcbeaa9a272d717240da9213a (diff) |
folder filter: only assume regex if filter is ~fmt
-rw-r--r-- | doc/aerc-config.5.scd | 2 | ||||
-rw-r--r-- | widgets/dirlist.go | 13 |
2 files changed, 10 insertions, 5 deletions
diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd index 690b49a..f0b9b7a 100644 --- a/doc/aerc-config.5.scd +++ b/doc/aerc-config.5.scd @@ -226,7 +226,7 @@ Note that many of these configuration options are written for you, such as *folders* Specifies the comma separated list of folders to display in the sidebar. - Supports regex patterns. + Names prefixed with ~ are interpreted as regular expressions. Default: all folders diff --git a/widgets/dirlist.go b/widgets/dirlist.go index c84f839..68ba61c 100644 --- a/widgets/dirlist.go +++ b/widgets/dirlist.go @@ -161,12 +161,17 @@ func (dirlist *DirectoryList) Prev() { } func folderMatches(folder string, pattern string) bool { - r, err := regexp.Compile(pattern) - if err != nil { + if len(pattern) == 0 { return false } - - return r.Match([]byte(folder)) + if pattern[0] == '~' { + r, err := regexp.Compile(pattern) + if err != nil { + return false + } + return r.Match([]byte(folder)) + } + return pattern == folder } // filterDirsByFoldersConfig sets dirlist.dirs to the filtered subset of the |