@@ -3,12 +3,10 @@ package org.jetbrains.kotlin.core.formatting
33import com.intellij.psi.codeStyle.CodeStyleSettings
44import org.eclipse.core.resources.IProject
55import org.eclipse.core.resources.ProjectScope
6- import org.jetbrains.kotlin.core.builder.KotlinPsiManager
76import org.jetbrains.kotlin.core.preferences.KotlinCodeStyleProperties
87import org.jetbrains.kotlin.idea.formatter.KotlinObsoleteCodeStyle
98import org.jetbrains.kotlin.idea.formatter.KotlinPredefinedCodeStyle
109import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle
11- import org.jetbrains.kotlin.psi.KtFile
1210import java.util.concurrent.ConcurrentHashMap
1311
1412object KotlinCodeStyleManager {
@@ -29,18 +27,26 @@ object KotlinCodeStyleManager {
2927
3028 fun get (id : String ): CodeStyleSettings ? = stylesCache[id] ? : createStyleFromPredef(id)
3129
32- // Uses the same logic as ConcurrentHashMap.getOrPut() but due to possible nullability cannot be expressed by it .
30+ // Uses the same logic as ConcurrentHashMap.getOrPut() but due to possible nullability cannot be expressed by that method .
3331 private fun createStyleFromPredef (id : String ): CodeStyleSettings ? = predefinedStyles[id]
3432 ?.let { CodeStyleSettings ().also (it::apply) }
3533 ?.let { stylesCache.putIfAbsent(id, it) ? : it }
3634
3735 fun invalidate (id : String ) {
3836 stylesCache - = id
3937 }
38+
39+ fun getStyleLabel (id : String? ) =
40+ id?.let { predefinedStyles[it]?.name ? : it } ? : " unknown"
4041}
4142
42- val IProject .codeStyle : CodeStyleSettings
43+ private val IProject .codeStyleSettings
4344 get() = KotlinCodeStyleProperties (ProjectScope (this ))
45+ .takeIf { it.globalsOverridden }
46+ ? : KotlinCodeStyleProperties .workspaceInstance
47+
48+ val IProject .codeStyle: CodeStyleSettings
49+ get() = codeStyleSettings
4450 .codeStyleId
4551 ?.let { KotlinCodeStyleManager .get(it) }
4652 ? : CodeStyleSettings ()
0 commit comments