isLineTerminator function
Line termination is a critical piece to parsing Traindown. Here we look for the explicit codepoints that indicate EOL.
Implementation
bool isLineTerminator(String chr) {
List<int> codeUnits = chr.codeUnits;
if (chr == Token.EOF ||
// NOTE: This is a secondary test for EOF.
(codeUnits.isNotEmpty && codeUnits[0] == 0) ||
(codeUnits.isNotEmpty && codeUnits[0] == 59) ||
(codeUnits.isNotEmpty && codeUnits[0] == 10) ||
(codeUnits.isNotEmpty && codeUnits[0] == 13) ||
(codeUnits.length == 2 && codeUnits[0] == 13 && codeUnits[1] == 10)) {
return true;
}
return false;
}