func HandleAddNewWatch(ctx syncer.Context, l uri.Uri, r uri.Uri) error { if filepath.Base(l.Abs()) == ".git" { return ctx.Finish() } if !l.IsDir() { return nil } err := ctx.AddWatch(l) if err != nil { ctx.EmitLog(syncer.TypeError, err) } return nil }
func (v *localVisitor) Visit(u uri.Uri) error { // fmt.Println("visit", u.Uri()) if !u.IsDir() { v.s.msg <- Message{u.Abs(), v.p, fsnotify.Write} return nil } if filepath.Base(u.Abs()) == ".git" { return filepath.SkipDir } v.p.watcher.Add(u.Abs()) v.s.msg <- Message{u.Abs(), v.p, fsnotify.Create} return nil }
func (ctx Context) RemoveWatch(u uri.Uri) error { return ctx.p.watcher.Remove(u.Abs()) }
func (p *Pair) AddWatch(u uri.Uri) error { if p.watcher == nil { return errors.New("nil watcher") } return p.watcher.Add(u.Abs()) }