anchor.diff:  import 'dart:io';
   
   import 'package:barback/barback.dart';
  -import 'package:path/path.dart' as path;
  +import 'package:path/path.dart' as p;
   import 'package:stack_trace/stack_trace.dart';
   import 'package:watcher/watcher.dart';
   
  
positive.code:   prefixParts.add(entry.transform.transformer);
  
    // Mention the primary input of the transform unless the message seems to.
    if (!messageMentions(
        path.joinAll(path.url.split(entry.transform.primaryId.path)))) {
      prefixParts.add("on ${entry.transform.primaryId}");
    }
  
    // If the relevant asset isn't the primary input, mention it unless the
    // message already does.
    if (entry.assetId != entry.transform.primaryId &&
        !messageMentions(path.joinAll(path.url.split(entry.assetId.path)))) {
      prefixParts.add("with input ${entry.assetId}");
    }
  
  
negative.code:         watcher.events.listen((event) {
            // Don't watch files symlinked into these directories.
            // TODO(rnystrom): If pub gets rid of symlinks, remove this.
            var parts = p.split(event.path);
            if (parts.contains("packages") || parts.contains("assets")) return;
  
            // Skip files that were (most likely) compiled from nearby ".dart"
  