protected function scanTextLine()
    {

        if (!$this->match('([!]?)\|'))
            return;

        $this->consumeMatch();

        foreach ($this->scanTextBlock($this->getMatch(1) === '!') as $token)
            yield $token;
    }