The idea is that the feature will always be advertised at the LSP level, but
depending on config we'll return partial or no responses.
We try to avoid doing the analysis for hints we're not going to return.
Examples of syntax:
# No hints InlayHints: Enabled: No --- # Turn off a default category InlayHints: ParameterNames: No --- # Turn on some categories InlayHints: ParameterNames: Yes DeducedTypes: Yes
this should be !Cfg.InlayHints.ParameterNames.
What do you think the idea of moving guards deeper (processCall and addTypeHint)? The code seems clearer and we don't have to add them in all Visit* implementation, this means that we pay cost of running some necessary code, but I think it is trivial and probably worthy.