pub fn paint(source: &str) -> PaintingExpand description
Lexes source and answers a colour for every part of it.
The pieces tile: pieces[0].at is zero, each one begins where the last
ended, and together they cover the source. That holds for a source that
does not lex too — see the module documentation for why that case is the
normal one rather than the exception.