public function pushListLine($line, $flush = false)
{
if (trim($line)) {
$infos = $this->parseListLine($line);
if ($infos) {
if ($this->lineInfo) {
$this->lineInfo['text'] = $this->createSpan($this->lineInfo['text']);
$this->buffer->addLine($this->lineInfo);
}
$this->lineInfo = $infos;
} else {
if ($this->listFlow || $line[0] == ' ') {
$this->lineInfo['text'][] = $line;
} else {
$flush = true;
}
}
$this->listFlow = true;
} else {
$this->listFlow = false;
}
if ($flush) {
if ($this->lineInfo) {
$this->lineInfo['text'] = $this->createSpan($this->lineInfo['text']);
$this->buffer->addLine($this->lineInfo);
$this->lineInfo = null;
}
return false;
}
return true;
}