Replace CodeStyleSettingsManager.getSettings with CodeStyle.getSettings

This commit is contained in:
Dmitry Gridin
2019-04-17 18:05:50 +07:00
parent bdb97ed46a
commit 2a85bece80
15 changed files with 47 additions and 52 deletions
@@ -16,6 +16,7 @@
package org.jetbrains.kotlin.idea.completion
import com.intellij.application.options.CodeStyle
import com.intellij.codeInsight.completion.*
import com.intellij.codeInsight.completion.impl.CamelHumpMatcher
import com.intellij.codeInsight.lookup.*
@@ -245,8 +246,7 @@ class VariableOrParameterNameWithTypeCompletion(
}
}
val settings =
CodeStyleSettingsManager.getInstance(context.project).currentSettings.getCustomSettings(KotlinCodeStyleSettings::class.java)
val settings = CodeStyle.getCustomSettings(context.file, KotlinCodeStyleSettings::class.java)
val spaceBefore = if (settings.SPACE_BEFORE_TYPE_COLON) " " else ""
val spaceAfter = if (settings.SPACE_AFTER_TYPE_COLON) " " else ""
@@ -16,15 +16,15 @@
package org.jetbrains.kotlin.idea.completion.handlers
import com.intellij.application.options.CodeStyle
import com.intellij.codeInsight.AutoPopupController
import com.intellij.codeInsight.completion.InsertionContext
import com.intellij.codeInsight.lookup.Lookup
import com.intellij.codeInsight.lookup.LookupElement
import com.intellij.openapi.project.Project
import com.intellij.openapi.util.TextRange
import com.intellij.psi.PsiDocumentManager
import com.intellij.psi.PsiElement
import com.intellij.psi.codeStyle.CodeStyleSettingsManager
import com.intellij.psi.PsiFile
import org.jetbrains.kotlin.idea.completion.LambdaSignatureTemplates
import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings
import org.jetbrains.kotlin.idea.util.CallType
@@ -145,7 +145,7 @@ sealed class KotlinFunctionInsertHandler(callType: CallType<*>) : KotlinCallable
context.setAddCompletionChar(false)
}
if (isInsertSpacesInOneLineFunctionEnabled(project)) {
if (isInsertSpacesInOneLineFunctionEnabled(context.file)) {
document.insertString(offset, " { }")
inBracketsShift = 1
} else {
@@ -199,8 +199,8 @@ sealed class KotlinFunctionInsertHandler(callType: CallType<*>) : KotlinCallable
return inputValueArguments || lambdaInfo != null
}
private fun isInsertSpacesInOneLineFunctionEnabled(project: Project) =
CodeStyleSettingsManager.getSettings(project).getCustomSettings(KotlinCodeStyleSettings::class.java)!!.INSERT_WHITESPACES_IN_SIMPLE_ONE_LINE_METHOD
private fun isInsertSpacesInOneLineFunctionEnabled(file: PsiFile) =
CodeStyle.getCustomSettings(file, KotlinCodeStyleSettings::class.java).INSERT_WHITESPACES_IN_SIMPLE_ONE_LINE_METHOD
}
object Infix : KotlinFunctionInsertHandler(CallType.INFIX) {
@@ -5,10 +5,9 @@
package org.jetbrains.kotlin.idea.completion.test.handlers
import com.intellij.application.options.CodeStyle
import com.intellij.codeInsight.completion.CompletionType
import com.intellij.openapi.util.io.FileUtil
import com.intellij.psi.codeStyle.CodeStyleSettingsManager
import org.jetbrains.kotlin.idea.KotlinLanguage
import org.jetbrains.kotlin.idea.completion.test.ExpectedCompletionUtils
import org.jetbrains.kotlin.idea.completion.test.configureWithExtraFile
import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings
@@ -28,9 +27,8 @@ abstract class AbstractCompletionHandlerTest(private val defaultCompletionType:
protected open fun doTest(testPath: String) {
setUpFixture(testPath)
val settingManager = CodeStyleSettingsManager.getInstance(project)
val tempSettings = settingManager.currentSettings.clone()
settingManager.setTemporarySettings(tempSettings)
val tempSettings = CodeStyle.getSettings(project).clone()
CodeStyle.setTemporarySettings(project, tempSettings)
try {
val fileText = FileUtil.loadFile(File(testPath))
assertTrue("\"<caret>\" is missing in file \"$testPath\"", fileText.contains("<caret>"));
@@ -49,7 +47,7 @@ abstract class AbstractCompletionHandlerTest(private val defaultCompletionType:
val completionType = ExpectedCompletionUtils.getCompletionType(fileText) ?: defaultCompletionType
val kotlinStyleSettings = KotlinCodeStyleSettings.getInstance(project)
val commonStyleSettings = CodeStyleSettingsManager.getSettings(project).getCommonSettings(KotlinLanguage.INSTANCE)
val commonStyleSettings = CodeStyle.getLanguageSettings(file)
for (line in InTextDirectivesUtils.findLinesWithPrefixesRemoved(fileText, CODE_STYLE_SETTING_PREFIX)) {
val index = line.indexOfOrNull('=') ?: error("Invalid code style setting '$line': '=' expected")
val settingName = line.substring(0, index).trim()
@@ -68,9 +66,8 @@ abstract class AbstractCompletionHandlerTest(private val defaultCompletionType:
}
doTestWithTextLoaded(completionType, invocationCount, lookupString, itemText, tailText, completionChar, File(testPath).name + ".after")
}
finally {
settingManager.dropTemporarySettings()
} finally {
CodeStyle.dropTemporarySettings(project)
tearDownFixture()
}
}