anchor.diff:        PipelineWatcher(
           dir: libPath.absolute,
           pipeline: buildPipeline,
  +        // Ignore font files that are copied whenever tests run.
  +        ignore: (event) => event.path.endsWith('.ttf'),
         ).start();
         // Return a never-ending future.
         return Completer<bool>().future;
  
positive.code:   }
  }
  
  class PipelineWatcher {
    PipelineWatcher({
      @required this.dir,
      @required this.pipeline,
    }) : watcher = DirectoryWatcher(dir);
  
    /// The path of the directory to watch for changes.
  
negative.code:   /// Used to watch a directory for any file system changes.
    final DirectoryWatcher watcher;
  
    /// A callback that determines whether to rerun the pipeline or not for a
    /// given [WatchEvent] instance.
    final WatchEventPredicate ignore;
  
    void start() {
      watcher.events.listen(_onEvent);
    }
  