in lib/src/block_parser.dart [925:949]
List<String?> _parseAlignments(String line) {
var startIndex = _walkPastOpeningPipe(line);
var endIndex = line.length - 1;
while (endIndex > 0) {
var ch = line.codeUnitAt(endIndex);
if (ch == $pipe) {
endIndex--;
break;
}
if (ch != $space && ch != $tab) {
break;
}
endIndex--;
}
// Optimization: We walk [line] too many times. One lap should do it.
return line.substring(startIndex, endIndex + 1).split('|').map((column) {
column = column.trim();
if (column.startsWith(':') && column.endsWith(':')) return 'center';
if (column.startsWith(':')) return 'left';
if (column.endsWith(':')) return 'right';
return null;
}).toList();
}