diff --git a/app.go b/app.go index b8f7b8b..a0aab8f 100644 --- a/app.go +++ b/app.go @@ -6,11 +6,33 @@ package main -import "flag" +import ( + "flag" + "log" + "os" + "path/filepath" +) + +var ( + config *Config + flConfig = flag.String("config", filepath.Join(os.Getenv("HOME"), ".SyncRefs.conf"), "configuration file path") +) func main() { flag.Parse() + fh, err := os.Open(*flConfig) + if err != nil && !os.IsNotExist(err) { + log.Fatal(err) + } + if fh != nil { + config, err = ReadConfig(fh) + if err != nil { + log.Fatal(err) + } + } + // Build relationships of each group + // there needs to be a quit chan to hand off to each watcher and group for _, arg := range flag.Args() { WatchPath(arg) }