I know the code already worked like this, but... I'm finding it a little confusing that both lines here mutate `startCtx` (if I'm reading _findCommentEnd() correctly).  So by the end of the 2nd line here startCtx is actually pointing to the _end_ of the block comment, no?  (Which is also potentially confusable with endCtx, i.e. the end of the _selection_).  Seems maybe worth leaving some comments up where these are declared, at least, indicating what they'll mean (or whether they're just scratch vars).