IDEA-227271: properly disable parameter hints and apply it on the next pass

GitOrigin-RevId: 6a4a2bb4d147ace77b689d1e8f536faf76e20494
This commit is contained in:
Roman.Ivanov
2019-11-22 05:42:51 +00:00
committed by intellij-monorepo-bot
parent 0b019644cd
commit 0b4617f23a
4 changed files with 5 additions and 1 deletions
@@ -53,6 +53,7 @@ fun getBaseLanguagesWithProviders(): List<Language> {
fun isParameterHintsEnabledForLanguage(language: Language): Boolean {
if (!EditorSettingsExternalizable.getInstance().isShowParameterNameHints) return false
if (!InlayHintsSettings.instance().hintsShouldBeShown(language)) return false
return ParameterNameHintsSettings.getInstance().isEnabledForLanguage(getLanguageForSettingKey(language))
}
@@ -50,7 +50,7 @@ class InlayHintsPass(
myEditor,
existingHorizontalInlays,
existingVerticalInlays,
settings.hintsEnabled(collector.key, collector.language)
settings.hintsShouldBeShown(collector.key, collector.language)
)
}
disposeOrphanInlays(existingHorizontalInlays)
@@ -3,6 +3,7 @@ package com.intellij.codeInsight.hints.settings
import com.intellij.codeInsight.CodeInsightBundle
import com.intellij.codeInsight.hints.InlayHintsSettings
import com.intellij.codeInsight.hints.ParameterHintsPassFactory
import com.intellij.lang.Language
import com.intellij.util.ui.JBUI
import java.awt.BorderLayout
@@ -58,6 +59,7 @@ class InlayHintsPanel(languages: Iterable<Language>,
for ((index, panel) in languagePanels.withIndex()) {
settings.setHintsEnabledForLanguage(panel.language, languagePanels[index].selected())
}
ParameterHintsPassFactory.forceHintsUpdateOnNextPass()
}
fun reset() {
@@ -49,6 +49,7 @@ class ParameterInlayProviderSettingsModel(
for (state in optionStates) {
state.apply()
}
ParameterHintsPassFactory.forceHintsUpdateOnNextPass()
}
override fun isModified(): Boolean {