output method

  1. @override
void output(
  1. ConsoleText text, {
  2. bool newline = true,
})
override

Outputs serialized ConsoleText to the Console.

console.output("Hello, World!".consoleText(
  color: ConsoleColor.green
));

If newline is true, a line feed character will be appended to the output.

Implementation

@override
void output(ConsoleText text, {bool newline = true}) {
  void write(String text) {
    final lines = const LineSplitter().convert(text);
    if (lines.isEmpty) return;

    final last = lines.removeLast();
    for (final line in lines) {
      didOutputLines(1);
      stdout.writeln(line);
    }

    didOutputLines(1);
    newline ? stdout.writeln(last) : stdout.write(last);
  }

  final output =
      stylizedOutputOverride ? text.terminalStylize() : text.toString();

  return write(output);
}