func WatchForDeletion()

in plugins/internal/plugin/deletion_watcher.go [15:39]


func WatchForDeletion(file string) (*DeletionWatcher, error) {

	// Create a new filesystem watcher
	fsWatcher, err := fsnotify.NewWatcher()
	if err != nil {
		return nil, err
	}

	// Add a watch for the specified file
	err = fsWatcher.Add(file)
	if err != nil {
		return nil, err
	}

	// Wrap the filesystem watcher in a deletion watcher
	deletionWatcher := &DeletionWatcher{
		watcher: fsWatcher,
		Deleted: make(chan struct{}, 1),
		Errors:  make(chan error, 1),
	}

	// Start the watcher goroutine
	go deletionWatcher.watch()
	return deletionWatcher, nil
}