This introduces a few new concepts:
- tweaks have an Intent (they don't all advertise as refactorings)
- tweaks may produce messages (for ShowMessage notification). Generalized Replacements -> Effect.
- tweaks (and other features) may be hidden (clangd -hidden-features flag). We may choose to promote these one day. I'm not sure they're worth their own feature flags though.
Verified it in vim-clangd (not yet open source), curious if the UI is ok in VSCode.
I wonder whether this should be a static method. WDYT?
That would allow to even prevent calling prepare() on those tweaks.
OTOH, we want prepare() should be fast and it shouldn't matter if that's the case.