String getLineText(int lineIndex) { final start = getLineStartOffset(lineIndex); var end = findLineEnd(start); if (end > start && charAt(end - 1) == '\r') end--; return slice(start, end); }