package Filesystem import ( "crypto/sha1" "regexp" "PackageManager/Variables" ) var ( sha1Hash = sha1.New() PruneRegex []*regexp.Regexp IgnoreRegex []*regexp.Regexp ) func init() { var e error e = InitPruneRegex() if e != nil { panic(e) } e = InitIgnoreRegex() if e != nil { panic(e) } } func InitPruneRegex() error { var ( r *regexp.Regexp s string e error ) for _, s = range Variables.PruneRegexPaths { r, e = regexp.Compile(s) if e != nil { return e } PruneRegex = append(PruneRegex, r) } return nil } func InitIgnoreRegex() error { var ( r *regexp.Regexp s string e error ) for _, s = range Variables.IgnoreRegexPaths { r, e = regexp.Compile(s) if e != nil { return e } IgnoreRegex = append(IgnoreRegex, r) } return nil } func matchAny(p string, a []*regexp.Regexp) bool { var ( regex *regexp.Regexp match bool ) for _, regex = range a { match = regex.MatchString(p) if match == true { return true } } return false }