MCPcopy Index your code
hub / github.com/coder/coder / addRecursive

Method addRecursive

agent/filefinder/watcher_fs.go:157–184  ·  view source on GitHub ↗
(dir string)

Source from the content-addressed store, hash-verified

155}
156
157func (fw *fsWatcher) addRecursive(dir string) []FSEvent {
158 var events []FSEvent
159 if walkErr := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error {
160 if err != nil {
161 return nil //nolint:nilerr // best-effort
162 }
163 base := filepath.Base(path)
164 if _, skip := skipDirs[base]; skip && info.IsDir() {
165 return filepath.SkipDir
166 }
167 if info.IsDir() {
168 if addErr := fw.w.Add(path); addErr != nil {
169 fw.logger.Debug(context.Background(), "failed to add watch",
170 slog.F("path", path), slog.Error(addErr))
171 }
172 if path != dir {
173 events = append(events, FSEvent{Op: OpCreate, Path: path, IsDir: true})
174 }
175 return nil
176 }
177 events = append(events, FSEvent{Op: OpCreate, Path: path, IsDir: false})
178 return nil
179 }); walkErr != nil {
180 fw.logger.Warn(context.Background(), "failed to walk directory",
181 slog.F("dir", dir), slog.Error(walkErr))
182 }
183 return events
184}
185
186func translateEvent(ev fsnotify.Event) *FSEvent {
187 var op FSEventOp

Callers 2

StartMethod · 0.95
loopMethod · 0.95

Calls 2

AddMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected