Just a thought... maybe this should happen in the `TokenizedBuffer` so it maintains the correct grammar for itself. We'd have to add another subscription but it would be more self-contained.