mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
Revert "InlayHintsProvider -> InlayHintProvider"
This reverts commit 0669fc60 - backward incompatible change GitOrigin-RevId: 0d35822ffaea2e2ad34d1db21ff00444a6dc4ff5
This commit is contained in:
committed by
intellij-monorepo-bot
parent
719efa09a0
commit
6742e9aab5
@@ -16,7 +16,7 @@ import javax.swing.JPanel
|
||||
import javax.swing.event.DocumentEvent
|
||||
import javax.swing.event.DocumentListener
|
||||
|
||||
class MethodChainsInlayProvider : InlayHintProvider<MethodChainsInlayProvider.Settings> {
|
||||
class MethodChainsInlayProvider : InlayHintsProvider<MethodChainsInlayProvider.Settings> {
|
||||
override fun getCollectorFor(file: PsiFile, editor: Editor, settings: Settings, sink: InlayHintsSink) =
|
||||
object : FactoryInlayHintsCollector(editor) {
|
||||
override fun collect(element: PsiElement, editor: Editor, sink: InlayHintsSink) : Boolean {
|
||||
|
||||
+2
-2
@@ -10,7 +10,7 @@ import com.intellij.util.xmlb.annotations.Property
|
||||
import org.jetbrains.annotations.Nls
|
||||
import javax.swing.JComponent
|
||||
|
||||
object InlayHintsProviderExtension : LanguageExtension<InlayHintProvider<*>>("com.intellij.codeInsight.inlayProvider")
|
||||
object InlayHintsProviderExtension : LanguageExtension<InlayHintsProvider<*>>("com.intellij.codeInsight.inlayProvider")
|
||||
|
||||
/**
|
||||
* Provider of inlay hints for single language. If you need to create hints for multiple languages, please use InlayHintsProviderFactory.
|
||||
@@ -20,7 +20,7 @@ object InlayHintsProviderExtension : LanguageExtension<InlayHintProvider<*>>("co
|
||||
* @see com.intellij.openapi.editor.InlayModel.addInlineElement
|
||||
* @see com.intellij.openapi.editor.InlayModel.addBlockElement
|
||||
*/
|
||||
interface InlayHintProvider<T : Any> {
|
||||
interface InlayHintsProvider<T : Any> {
|
||||
/**
|
||||
* If this method is called, provider is enabled for this file
|
||||
* Warning! Your collector should not use any settings besides [settings]
|
||||
@@ -6,7 +6,7 @@ import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.project.Project
|
||||
|
||||
/**
|
||||
* Factory for [InlayHintProvider], can be used to support multiple languages with a single type of inlay hints.
|
||||
* Factory for [InlayHintsProvider], can be used to support multiple languages with a single type of inlay hints.
|
||||
*/
|
||||
interface InlayHintsProviderFactory {
|
||||
fun getProvidersInfo(project: Project): List<ProviderInfo<out Any>>
|
||||
@@ -19,6 +19,6 @@ interface InlayHintsProviderFactory {
|
||||
|
||||
class ProviderInfo<T : Any>(
|
||||
val language: Language,
|
||||
val provider: InlayHintProvider<T>
|
||||
val provider: InlayHintsProvider<T>
|
||||
)
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class ProviderWithSettings<T: Any>(
|
||||
) {
|
||||
val configurable by lazy { provider.createConfigurable(settings) }
|
||||
|
||||
val provider: InlayHintProvider<T>
|
||||
val provider: InlayHintsProvider<T>
|
||||
get() = info.provider
|
||||
val language: Language
|
||||
get() = info.language
|
||||
@@ -42,16 +42,16 @@ fun <T : Any> ProviderWithSettings<T>.getCollectorWrapperFor(file: PsiFile, edit
|
||||
return CollectorWithSettings(collector, key, language, sink)
|
||||
}
|
||||
|
||||
internal fun <T : Any> InlayHintProvider<T>.withSettings(language: Language, config: InlayHintsSettings): ProviderWithSettings<T> {
|
||||
internal fun <T : Any> InlayHintsProvider<T>.withSettings(language: Language, config: InlayHintsSettings): ProviderWithSettings<T> {
|
||||
val settings = getActualSettings(config, language)
|
||||
return ProviderWithSettings(ProviderInfo(language, this), settings)
|
||||
}
|
||||
|
||||
internal fun <T : Any> InlayHintProvider<T>.getActualSettings(config: InlayHintsSettings, language: Language): T {
|
||||
internal fun <T : Any> InlayHintsProvider<T>.getActualSettings(config: InlayHintsSettings, language: Language): T {
|
||||
return config.findSettings(key, language, createSettings())
|
||||
}
|
||||
|
||||
internal fun <T: Any> copySettings(from: T, provider: InlayHintProvider<T>): T {
|
||||
internal fun <T: Any> copySettings(from: T, provider: InlayHintsProvider<T>): T {
|
||||
val settings = provider.createSettings()
|
||||
// Workaround to make a deep copy of settings. The other way is to parametrize T with something like
|
||||
// interface DeepCopyable<T> { fun deepCopy(from: T): T }, but there will be a lot of problems with recursive type bounds
|
||||
|
||||
+2
-1
@@ -3,10 +3,11 @@ package com.intellij.codeInsight.hints
|
||||
|
||||
import com.intellij.lang.Language
|
||||
import com.intellij.lang.LanguageExtensionPoint
|
||||
import com.intellij.openapi.components.ServiceManager
|
||||
import com.intellij.openapi.extensions.ExtensionPointName
|
||||
import com.intellij.openapi.project.Project
|
||||
|
||||
private val inlayProviderName = ExtensionPointName<LanguageExtensionPoint<InlayHintProvider<*>>>("com.intellij.codeInsight.inlayProvider")
|
||||
private val inlayProviderName = ExtensionPointName<LanguageExtensionPoint<InlayHintsProvider<*>>>("com.intellij.codeInsight.inlayProvider")
|
||||
|
||||
class SingleLanguageInlayProviderFactory : InlayHintsProviderFactory {
|
||||
override fun getProvidersInfo(project: Project): List<ProviderInfo<out Any>> {
|
||||
|
||||
@@ -645,7 +645,7 @@
|
||||
</extensionPoint>
|
||||
|
||||
<extensionPoint name="codeInsight.inlayProvider" beanClass="com.intellij.lang.LanguageExtensionPoint">
|
||||
<with attribute="implementationClass" implements="com.intellij.codeInsight.hints.InlayHintProvider"/>
|
||||
<with attribute="implementationClass" implements="com.intellij.codeInsight.hints.InlayHintsProvider"/>
|
||||
</extensionPoint>
|
||||
|
||||
<extensionPoint qualifiedName="com.intellij.codeInsight.inlayProviderFactory"
|
||||
|
||||
Reference in New Issue
Block a user