terminal_image ->prompt_mark: kind={prompt,input,output,end},
continuation=[bool]Called on OSC 133, the semantic prompt marks: A, B, C
and D decoded to where a prompt starts, where the line the
user edits starts, where that line was entered and its output begins,
and where the output ends. continuation is the k=s
of a secondary prompt,
i.e. the client is collecting another line of
an input it has not finished. The default implementation is what builds terminal_image<-blocks.
A subclass may refine this to act on what its client is doing; class
prolog_terminal does, to fold the command before the one
being entered. A refinement must not write to the terminal or destroy
it: the escape sequence it arrived in is still being parsed, and
output of its own would move the very lines and blocks that parse is
holding.