format method

  1. @override
List<NatrixText> format()
override

Returns a List of formatted NatrixText ready for output.

Implementation

@override
List<NatrixText> format() {
  if (isEmpty) {
    return const [];
  }

  final List<NatrixText> o = [];
  final NatrixText prefix = NatrixText(' ') * spacePrefix;
  int i = 0;

  final List<NatrixSection> stuffed = [];

  sections.forEach((e) {
    if (!e.isEmpty) {
      stuffed.add(e);
    }
  });
  stuffed.forEach((s) {
    s.format().forEach((text) {
      o.add(prefix + text);
    });
    if (i < stuffed.length - 1) {
      for (int n = 0; n < padding; n++) {
        o.add(NatrixText.empty());
      }
    }
    i++;
  });
  return o;
}