anchor.diff:    int _withoutLicense = 0;
     String get label => _label;
     String _label = '';
  +  int _lastLength = 0;
     set label(String value) {
       if (value.length > 50)
         value = '.../' + value.substring(math.max(0, value.lastIndexOf('/', value.length - 45) + 1));
  
positive.code:     update();
    }
    Stopwatch _lastUpdate;
    void update() {
      if (_lastUpdate == null || _lastUpdate.elapsedMilliseconds > 90) {
        _lastUpdate ??= new Stopwatch();
        system.stderr.write('\r$this');
        _lastUpdate.reset();
        _lastUpdate.start();
      }
    }
    bool get hadErrors => _withoutLicense > 0;
    @override
    String toString() {
      int percent = (100.0 * (_withLicense + _withoutLicense) / max).round();
      return '${(_withLicense + _withoutLicense).toString().padLeft(10)} of $max ${'█' * (percent ~/ 10)}${'░' * (10 - (percent ~/ 10))} $percent% ($_withoutLicense missing licenses)  $label    ';
    }
  }
  
  
negative.code: 
          await sink.close();
          progress.label = 'Done.';
          progress.flush();
          system.stderr.writeln('');
        }
      }
  