diff --git a/import.go b/import.go index 3511cce6a90e125cc4f83149a59b3571ddf8c969..f53d9183f501156e2d4894cb770fb55ef1cd29ac 100644 --- a/import.go +++ b/import.go @@ -132,7 +132,6 @@ func (s *Settings[C]) importFiles() { s.importStream(reader{f.format, r}) r.Close() - } } diff --git a/watch.go b/watch.go index c24f3baa279a22578f55b111a82d1be3d1ba457c..4d19b1916e5724f6b7bc9fa63b610ca0e527c597 100644 --- a/watch.go +++ b/watch.go @@ -62,9 +62,30 @@ func (s *Settings[C]) StopWatching() *Settings[C] { return s } +func (s *Settings[C]) buildWatchList() *Settings[C] { + + s.fileWatch.Lock() + defer s.fileWatch.Unlock() + + s.fileWatch.watchList = make(map[string]bool) + + for _, d := range s.files.directories { + fn := path.Join(d, s.files.name+s.files.format.Extension()) + s.fileWatch.watchList[fn] = true + } + + for _, f := range s.files.files { + s.fileWatch.watchList[f.path] = true + } + + return s +} + // Watch the given file for changes func (s *Settings[C]) Watch() *Settings[C] { + s.buildWatchList() + s.fileWatch.Lock() defer s.fileWatch.Unlock()