- package Filesystem
-
- import (
- "regexp"
- "strings"
-
- "PackageManager/Variables"
- )
-
- var (
- PruneRegex []*regexp.Regexp
- IgnoreRegex []*regexp.Regexp
- )
-
- func init() {
- var err error
-
- err = InitPruneRegex()
- if err != nil {
- panic(err)
- }
-
- err = InitIgnoreRegex()
- if err != nil {
- panic(err)
- }
- }
-
- func InitPruneRegex() error {
- var (
- r *regexp.Regexp
- s string
- err error
- )
-
- for _, s = range Variables.PruneRegexPaths {
- r, err = regexp.Compile(strings.Replace(s, "^/", "^"+Variables.RootDir, 1))
- if err != nil {
- return err
- }
- PruneRegex = append(PruneRegex, r)
- }
- return nil
- }
-
- func InitIgnoreRegex() error {
- var (
- r *regexp.Regexp
- s string
- err error
- )
-
- for _, s = range Variables.IgnoreRegexPaths {
- r, err = regexp.Compile(strings.Replace(s, "^/", "^"+Variables.RootDir, 1))
- if err != nil {
- return err
- }
- IgnoreRegex = append(IgnoreRegex, r)
- }
- return nil
- }
-
- func matchAny(p string, a []*regexp.Regexp) bool {
- var (
- regex *regexp.Regexp
- )
-
- for _, regex = range a {
- if regex.MatchString(p) {
- return true
- }
- }
- return false
- }
|