I just had a thought just after sending that might work, but it's too late for 12.11. We should be able to do a shallow parse and get just the statement at caret when parser data is invalid to eliminate the full parse wait time. That would be a hybrid of 12.6/12.10 behavior that should provide the best of both methods. I will log to look at following 12.11 release.
Michael