diff --git a/import.go b/import.go index 70be5763f038a0529b6125caa3e43403c9f5ad00..3511cce6a90e125cc4f83149a59b3571ddf8c969 100644 --- a/import.go +++ b/import.go @@ -94,11 +94,7 @@ func (s *Settings[C]) importFiles() { s.fileWatch.Lock() - // new files may have been added - tmpWatchList := make(map[string]bool) - defer func() { - s.fileWatch.watchList = tmpWatchList s.fileWatch.Unlock() }() @@ -122,9 +118,6 @@ func (s *Settings[C]) importFiles() { r := (io.Reader)(f) s.importStream(reader{s.files.format, r}) f.Close() - - tmpWatchList[fn] = true - } for _, f := range s.files.files { @@ -135,10 +128,11 @@ func (s *Settings[C]) importFiles() { r.Close() continue } + s.importStream(reader{f.format, r}) r.Close() - tmpWatchList[f.path] = true + } } diff --git a/watch.go b/watch.go index 52967e7e52b249c81b2ca99a9cb51b4bd6a2581b..c24f3baa279a22578f55b111a82d1be3d1ba457c 100644 --- a/watch.go +++ b/watch.go @@ -98,18 +98,18 @@ func (s *Settings[C]) Watch() *Settings[C] { } // add all files to the watch list - for file := range s.fileWatch.watchList { + for filePath := range s.fileWatch.watchList { - fileInfo, err := os.Stat(file) + fileInfo, err := os.Stat(filePath) if err != nil { s.errors = append(s.errors, err) continue } if fileInfo.IsDir() { - err = s.fileWatch.watcher.Add(file) + err = s.fileWatch.watcher.Add(filePath) } else { - err = s.fileWatch.watcher.Add(path.Dir(file)) + err = s.fileWatch.watcher.Add(path.Dir(filePath)) } if err != nil {