This breaks highlighting completely on a sequence like ?'blub' since the ? eats it's next char instead of delegating it to :idle.
This contains bugs...