KT-32368 Rework Inline hints settings // split KotlinInlayParameterHintsProvider

Platform supports 2 interfaces for inlay hints providers:
- InlayParameterHintsProvider [1]
- InlayHintsProvider [2]

KotlinInlayParameterHintsProvider as an implementation of (1) and a
source of "Inlay Hints" menu has the following limitations:
- Platform treats component as a source of "Parameter hints" submenu
that cannot be split. Once can only add or remove its nested checkboxes.
- Only a single instance of (1) can be defined.

To have a separate menu items for "Inlay Hints" existing
KotlinInlayParameterHintsProvider was split. New providers
implementing (2) were extracted from it:
- KotlinReferencesTypeHintsProvider
- KotlinSuspendingCallHintsProvider
- KotlinLambdasHintsProvider

TODO: HintType move as a separate commit
This commit is contained in:
Andrei Klunnyi
2020-05-05 14:24:16 +02:00
parent 5ec93fd74c
commit 533507de25
21 changed files with 383 additions and 103 deletions
@@ -401,21 +401,29 @@ livetemplate.description.exval=Extension read-only property
livetemplate.description.exvar=Extension read-write property
hints.progress.calculating.parameter.info=Calculating parameter info
hints.title.property.type.enabled=Show property type hints
hints.settings.common.items=Show hints for:
hints.settings.parameters=Parameter names
hints.settings.types=Types
hints.settings.types.property=Property types
hints.settings.types.variable=Local variable types
hints.settings.types.return=Function return types
hints.settings.types.parameter=Function parameter types
hints.settings.lambdas=Lambdas
hints.settings.lambda.return=Return expressions
hints.settings.lambda.receivers.parameters=Implicit receivers and parameters
hints.settings.suspending=Suspending calls
hints.title.property.type.disabled=Do not show property type hints
hints.title.locals.type.enabled=Show local variable type hints
hints.title.locals.type.disabled=Do not show local variable type hints
hints.title.function.type.enabled=Show function return type hints
hints.title.function.type.disabled=Do not show function return type hints
hints.title.parameter.type.enabled=Show parameter type hints
hints.title.parameter.type.disabled=Do not show parameter type hints
hints.title.argument.name.enabled=Show argument name hints
hints.title.argument.name.enabled=Argument name
hints.title.argument.name.disabled=Do not show argument name hints
hints.title.return.expression.enabled=Show lambda return expression hints
hints.title.return.expression.disabled=Do not show lambda return expression hints
hints.title.implicit.parameters.enabled=Show hints for implicit receivers and parameters of lambdas
hints.title.implicit.parameters.disabled=Do not show hints for implicit receivers and parameters of lambdas
hints.title.suspend.calls.enabled=Show hints for suspending calls
hints.title.suspend.calls.disabled=Do not show hints for suspending calls
presentation.text.paren=({0})