We have two flavors of plugin for the C++ indexer (IndexerLibrarySupport and MetadataSupport). These have different lifetimes and are registered in different ways. We should normalize this.
Rework plugin supportOpenPublic
Comment Actions
Requirement: plugins should have a chance to initialize *after* a CU is typechecked. This is so they can check to see whether they apply to the CU in question; for example, the text proto plugin should only enable itself if it can find proto2::contrib::parse_proto::internal::ParseProtoHelper.
Comment Actions
(Note that some plugins might also be interested in preprocessor events, which must be captured before typechecking.)