anchor.diff:  class IdentifierListMatcher extends GlobMatcher {
     int _end = null;
     int get end => (_end == null) ? _end = input.indexOf("}", tokenStart) : _end;
  -  String toRegEx() => "(" + identifiers.join('|') + ")";
  +  String toRegExp() => "(" + identifiers.join('|') + ")";
     String get _matcherContent => input.substring(tokenStart + 1, end - 1);
     List<String> get identifiers => _matcherContent.split(new RegExp(r",\s*"));
   
  
positive.code:   static int NO_MATCH = 0;
    static int PREFIX_MATCH = 1;
    static int COMPLETE_MATCH = 2;
  
    final String pattern;
  
    Glob(this.pattern);
  
    String _escape(String toEscape) {
      // TODO(ericarnold): Implement regexp escaping
      return toEscape;
    }
  
  
  
negative.code:   }
  
    GlobMatcher matchAsPrefix(String string, [int start = 0]) {
      int n = start;
      do {
        n = string.indexOf(new RegExp(r"[\\*?\[\{]"), n);
        GlobMatcher matcher;
  
        if (n == -1) {
          return new StaticMatcher(string, this, start, string.length);
        }
  
        // Identifies the first char as escape and ignores the second)
        switch(string[n]) {
          case "\\":
            // Ignore next char after escape
            n = n + 2;
            continue;
          case "*":
            if (string.length > n + 1 && string[n + 1] == "*") {
              return new PathWildcardMatcher(string, this, start, n);
            } else {
              return new FileWildcardMatcher(string, this, start, n);
  