Collect statistics about used Kotlin formatter
This commit is contained in:
+39
-24
@@ -17,41 +17,56 @@
|
||||
package org.jetbrains.kotlin.idea.formatter
|
||||
|
||||
import com.intellij.psi.codeStyle.CodeStyleSettings
|
||||
import com.intellij.psi.codeStyle.CommonCodeStyleSettings
|
||||
import com.intellij.psi.codeStyle.PredefinedCodeStyle
|
||||
import org.jetbrains.kotlin.idea.KotlinLanguage
|
||||
import org.jetbrains.kotlin.idea.core.formatter.KotlinCodeStyleSettings
|
||||
|
||||
class KotlinStyleGuideCodeStyle : PredefinedCodeStyle("Kotlin style guide", KotlinLanguage.INSTANCE) {
|
||||
override fun apply(settings: CodeStyleSettings) {
|
||||
settings.kotlinCustomSettings.apply {
|
||||
CONTINUATION_INDENT_IN_PARAMETER_LISTS = false
|
||||
CONTINUATION_INDENT_IN_ARGUMENT_LISTS = false
|
||||
CONTINUATION_INDENT_FOR_EXPRESSION_BODIES = false
|
||||
CONTINUATION_INDENT_FOR_CHAINED_CALLS = false
|
||||
CONTINUATION_INDENT_IN_SUPERTYPE_LISTS = false
|
||||
CONTINUATION_INDENT_IN_IF_CONDITIONS = false
|
||||
WRAP_EXPRESSION_BODY_FUNCTIONS = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
IF_RPAREN_ON_NEW_LINE = true
|
||||
Companion.apply(settings)
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun apply(settings: CodeStyleSettings) {
|
||||
applyToKotlinCustomSettings(settings.kotlinCustomSettings)
|
||||
applyToCommonSettings(settings.kotlinCommonSettings)
|
||||
}
|
||||
|
||||
settings.kotlinCommonSettings.apply {
|
||||
WHILE_ON_NEW_LINE = false
|
||||
ELSE_ON_NEW_LINE = false
|
||||
CATCH_ON_NEW_LINE = false
|
||||
FINALLY_ON_NEW_LINE = false
|
||||
fun applyToKotlinCustomSettings(kotlinCustomSettings: KotlinCodeStyleSettings) {
|
||||
kotlinCustomSettings.apply {
|
||||
CONTINUATION_INDENT_IN_PARAMETER_LISTS = false
|
||||
CONTINUATION_INDENT_IN_ARGUMENT_LISTS = false
|
||||
CONTINUATION_INDENT_FOR_EXPRESSION_BODIES = false
|
||||
CONTINUATION_INDENT_FOR_CHAINED_CALLS = false
|
||||
CONTINUATION_INDENT_IN_SUPERTYPE_LISTS = false
|
||||
CONTINUATION_INDENT_IN_IF_CONDITIONS = false
|
||||
WRAP_EXPRESSION_BODY_FUNCTIONS = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
IF_RPAREN_ON_NEW_LINE = true
|
||||
}
|
||||
}
|
||||
|
||||
CALL_PARAMETERS_WRAP = CodeStyleSettings.WRAP_AS_NEEDED + CodeStyleSettings.WRAP_ON_EVERY_ITEM
|
||||
CALL_PARAMETERS_LPAREN_ON_NEXT_LINE = true
|
||||
CALL_PARAMETERS_RPAREN_ON_NEXT_LINE = true
|
||||
fun applyToCommonSettings(commonSettings: CommonCodeStyleSettings) {
|
||||
commonSettings.apply {
|
||||
WHILE_ON_NEW_LINE = false
|
||||
ELSE_ON_NEW_LINE = false
|
||||
CATCH_ON_NEW_LINE = false
|
||||
FINALLY_ON_NEW_LINE = false
|
||||
|
||||
METHOD_PARAMETERS_WRAP = CodeStyleSettings.WRAP_AS_NEEDED + CodeStyleSettings.WRAP_ON_EVERY_ITEM
|
||||
METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE = true
|
||||
METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE = true
|
||||
CALL_PARAMETERS_WRAP = CodeStyleSettings.WRAP_AS_NEEDED + CodeStyleSettings.WRAP_ON_EVERY_ITEM
|
||||
CALL_PARAMETERS_LPAREN_ON_NEXT_LINE = true
|
||||
CALL_PARAMETERS_RPAREN_ON_NEXT_LINE = true
|
||||
|
||||
EXTENDS_LIST_WRAP = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
METHOD_CALL_CHAIN_WRAP = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
ASSIGNMENT_WRAP = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
METHOD_PARAMETERS_WRAP = CodeStyleSettings.WRAP_AS_NEEDED + CodeStyleSettings.WRAP_ON_EVERY_ITEM
|
||||
METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE = true
|
||||
METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE = true
|
||||
|
||||
ALIGN_MULTILINE_BINARY_OPERATION = false
|
||||
EXTENDS_LIST_WRAP = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
METHOD_CALL_CHAIN_WRAP = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
ASSIGNMENT_WRAP = CodeStyleSettings.WRAP_AS_NEEDED
|
||||
|
||||
ALIGN_MULTILINE_BINARY_OPERATION = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user