Stream<Tag> tags() async* { final refs = await showRef(tags: true); for (var ref in refs) { final pr = await runCommand(['cat-file', '-p', ref.sha]); yield Tag.parseCatFile(pr.stdout as String); } }