From 96b4784fc8c1a7cc39fef5c682f09004a2fc948a Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sat, 16 Oct 2021 14:58:30 -0700 Subject: [PATCH] Improved reading when no flags are specified. --- lib/dcat.dart | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/lib/dcat.dart b/lib/dcat.dart index dbc7b4c..8580b4d 100644 --- a/lib/dcat.dart +++ b/lib/dcat.dart @@ -125,14 +125,16 @@ Future _writeStream( !numberNonBlank && !showTabs && !squeezeBlank && - !showNonPrinting; - final sb = StringBuffer(); - await stream.forEach((data) { - sb.clear(); - for (final ch in utf8.decode(data).runes) { - if (noFlags) { - sb.writeCharCode(ch); - } else { + !showNonPrinting) { + await stream.transform(utf8.decoder).forEach(out.write); + } else { + const tab = 9; + int squeeze = 0; + final sb = StringBuffer(); + + await stream.forEach((data) { + sb.clear(); + for (final ch in utf8.decode(data).runes) { if (lastLine.lastChar == _lineFeed) { if (squeezeBlank) { if (ch == _lineFeed) { @@ -189,9 +191,9 @@ Future _writeStream( } sb.writeCharCode(ch); } - } - if (sb.isNotEmpty) { - out.write(sb); - } - }); + if (sb.isNotEmpty) { + out.write(sb); + } + }); + } }