init line-indent-provider module

Part of #KT-22211
This commit is contained in:
Dmitry Gridin
2020-05-20 11:34:23 +07:00
parent 9d98240272
commit 3a6b9c8d08
141 changed files with 403 additions and 111 deletions
+1
View File
@@ -83,6 +83,7 @@ dependencies {
compile(project(":idea:ide-common")) compile(project(":idea:ide-common"))
compile(project(":idea:idea-jps-common")) compile(project(":idea:idea-jps-common"))
compile(project(":idea:kotlin-gradle-tooling")) compile(project(":idea:kotlin-gradle-tooling"))
compile(project(":idea:line-indent-provider"))
compile(project(":plugins:uast-kotlin")) compile(project(":plugins:uast-kotlin"))
compile(project(":plugins:uast-kotlin-idea")) compile(project(":plugins:uast-kotlin-idea"))
compile(project(":kotlin-script-util")) { isTransitive = false } compile(project(":kotlin-script-util")) { isTransitive = false }
@@ -0,0 +1,16 @@
plugins {
kotlin("jvm")
id("jps-compatible")
}
dependencies {
compile(project(":compiler:psi"))
compileOnly(intellijCoreDep()) { includeJars("intellij-core", rootProject = rootProject) }
compileOnly(intellijDep()) { includeJars("platform-api", "platform-impl", rootProject = rootProject) }
}
sourceSets {
"main" { projectDefault() }
"test" {}
}
@@ -0,0 +1,8 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.formatter.lineIndent
interface KotlinIndentationAdjuster
@@ -0,0 +1,31 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.formatter.lineIndent
import com.intellij.lang.Language
import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project
import com.intellij.psi.impl.source.codeStyle.SemanticEditorPosition
import com.intellij.psi.impl.source.codeStyle.lineIndent.IndentCalculator
import com.intellij.psi.impl.source.codeStyle.lineIndent.JavaLikeLangLineIndentProvider
import com.intellij.psi.tree.IElementType
import org.jetbrains.kotlin.idea.KotlinLanguage
abstract class KotlinLikeLangLineIndentProvider : JavaLikeLangLineIndentProvider() {
abstract fun indentionSettings(project: Project): KotlinIndentationAdjuster
override fun mapType(tokenType: IElementType): SemanticEditorPosition.SyntaxElement? = SYNTAX_MAP[tokenType]
override fun isSuitableForLanguage(language: Language): Boolean = language.isKindOf(KotlinLanguage.INSTANCE)
override fun getIndent(project: Project, editor: Editor, language: Language?, offset: Int): IndentCalculator? = null
companion object {
private val SYNTAX_MAP = linkedMapOf<IElementType, SemanticEditorPosition.SyntaxElement>(
)
}
}
@@ -0,0 +1,7 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.idea.util
@@ -8,21 +8,21 @@ package org.jetbrains.kotlin.idea.formatter
import com.intellij.lang.Language import com.intellij.lang.Language
import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.Editor
import com.intellij.openapi.project.Project import com.intellij.openapi.project.Project
import com.intellij.psi.codeStyle.lineIndent.LineIndentProvider
import com.intellij.psi.impl.source.codeStyle.lineIndent.FormatterBasedLineIndentProvider
import org.jetbrains.annotations.TestOnly import org.jetbrains.annotations.TestOnly
import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.idea.formatter.lineIndent.KotlinIndentationAdjuster
import org.jetbrains.kotlin.idea.formatter.lineIndent.KotlinLikeLangLineIndentProvider
class KotlinLineIndentProvider : LineIndentProvider { class KotlinLineIndentProvider : KotlinLikeLangLineIndentProvider() {
private val formatterBasedProvider = FormatterBasedLineIndentProvider() override fun getLineIndent(project: Project, editor: Editor, language: Language?, offset: Int): String? =
if (useFormatter)
null
else
super.getLineIndent(project, editor, language, offset)
override fun indentionSettings(project: Project): KotlinIndentationAdjuster = object : KotlinIndentationAdjuster {
override fun getLineIndent(project: Project, editor: Editor, language: Language?, offset: Int): String? {
val lineIndent = formatterBasedProvider.getLineIndent(project, editor, language, offset)
return if (useFormatter) lineIndent else lineIndent
} }
override fun isSuitableFor(language: Language?): Boolean = language?.isKindOf(KotlinLanguage.INSTANCE) == true
companion object { companion object {
@get:TestOnly @get:TestOnly
@set:TestOnly @set:TestOnly
+3 -1
View File
@@ -4,4 +4,6 @@ fun some(): Int {
catch () { catch () {
} }
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -3,4 +3,6 @@ fun some(): Int {
} }
catch () { catch () {
}<caret> }<caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,6 @@
class A() class A()
<caret> <caret>
fun fun
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,5 @@
class A()<caret> class A()<caret>
fun fun
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -5,4 +5,6 @@ fun some(): Int {
} }
finally {} finally {}
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -4,4 +4,6 @@ fun some(): Int {
catch () { catch () {
} }
finally {}<caret> finally {}<caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,2 +1,4 @@
import java.util.ArrayList import java.util.ArrayList
<caret> <caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1 +1,3 @@
import java.util.ArrayList<caret> import java.util.ArrayList<caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -2,4 +2,6 @@ fun some(): Int {
try { try {
} }
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,4 +1,6 @@
fun some(): Int { fun some(): Int {
try { try {
}<caret> }<caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,2 +1,4 @@
@Aaaa @Aaaa
<caret> <caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+2
View File
@@ -1 +1,3 @@
@Aaaa<caret> @Aaaa<caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,6 @@ class Foo {
@JvmStatic @JvmStatic
<caret> <caret>
} }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -2,4 +2,6 @@ class Foo {
companion object { companion object {
@JvmStatic<caret> @JvmStatic<caret>
} }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -5,3 +5,4 @@ fun test(i: Int) {
} }
// SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS // SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -5,3 +5,4 @@ fun test(i: Int) {
} }
// SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS // SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,3 +3,4 @@ fun test(i: Int) {
} }
// SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS // SET_FALSE: CONTINUATION_INDENT_IN_ARGUMENT_LISTS
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -4,4 +4,5 @@ fun test() {
<caret> <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -4,4 +4,5 @@ fun test() {
<caret> <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+2 -1
View File
@@ -3,4 +3,5 @@ fun test() {
a = <caret> a = <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -4,4 +4,5 @@ fun test() {
<caret> <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -4,4 +4,5 @@ fun test() {
<caret> <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun test() {
a as <caret> a as <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,6 @@
fun test() { fun test() {
some.test(). some.test().
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,5 @@
fun test() { fun test() {
some.test().<caret> some.test().<caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ public fun bar(): String? = Some()?.some()
<caret> <caret>
?.some() ?.some()
?.some() ?.some()
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -5,3 +5,5 @@ class Some {
public fun bar(): String? = Some()?.some()<caret> public fun bar(): String? = Some()?.some()<caret>
?.some() ?.some()
?.some() ?.some()
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,6 @@
fun test() { fun test() {
some.test()?. some.test()?.
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,5 @@
fun test() { fun test() {
some.test()?.<caret> some.test()?.<caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,4 +1,6 @@
fun some() { fun some() {
do do
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,3 +1,5 @@
fun some() { fun some() {
do<caret> do<caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,6 @@
fun testParam( fun testParam(
<caret> <caret>
) { ) {
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,2 +1,4 @@
fun testParam(<caret>) { fun testParam(<caret>) {
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,3 +1,5 @@
fun some() { fun some() {
for (var i in 1..10) for (var i in 1..10)
<caret> <caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,2 +1,4 @@
fun some() { fun some() {
for (var i in 1..10)<caret> for (var i in 1..10)<caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -6,4 +6,6 @@ fun main(args: Array<String>) {
times(3) { times(3) {
<caret> <caret>
} }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -4,4 +4,6 @@ private fun <T> times(times : Int, body : () -> T) {}
fun main(args: Array<String>) { fun main(args: Array<String>) {
times(3) {<caret>} times(3) {<caret>}
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,2 +1,4 @@
fun test() = fun test() =
<caret> <caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1 +1,3 @@
fun test() =<caret> fun test() =<caret>
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,4 +1,6 @@
fun some() { fun some() {
if (3 > 5) if (3 > 5)
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,3 +1,5 @@
fun some() { fun some() {
if (3 > 5)<caret> if (3 > 5)<caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun some() {
<caret>4 <caret>4
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun some() {
<caret>4 <caret>4
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -2,4 +2,5 @@ fun some() {
val test = 3 + <caret>4 val test = 3 + <caret>4
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun some() {
<caret> <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun some() {
<caret> <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -2,4 +2,5 @@ fun some() {
val test = 3 + <caret> val test = 3 + <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun test() {
<caret>) <caret>)
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun test() {
<caret>) <caret>)
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -2,4 +2,5 @@ fun test() {
if (true &&<caret>) if (true &&<caret>)
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,5 @@
val somelong = 3 + 4 - (3 + val somelong = 3 + 4 - (3 +
<caret>) <caret>)
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,5 @@
val somelong = 3 + 4 - (3 + val somelong = 3 + 4 - (3 +
<caret>) <caret>)
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,4 @@
val somelong = 3 + 4 - (3 + <caret>) val somelong = 3 + 4 - (3 + <caret>)
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,5 @@
// SET_TRUE: ALIGN_MULTILINE_EXTENDS_LIST // SET_TRUE: ALIGN_MULTILINE_EXTENDS_LIST
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
class Simpleclass() : class Simpleclass() :
<caret> <caret>
@@ -1,4 +1,5 @@
// SET_TRUE: ALIGN_MULTILINE_EXTENDS_LIST // SET_TRUE: ALIGN_MULTILINE_EXTENDS_LIST
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
class Simpleclass() : class Simpleclass() :
<caret> <caret>
@@ -1,4 +1,5 @@
// SET_TRUE: ALIGN_MULTILINE_EXTENDS_LIST // SET_TRUE: ALIGN_MULTILINE_EXTENDS_LIST
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
class Simpleclass() : <caret> class Simpleclass() : <caret>
@@ -6,3 +6,5 @@ class A {
class Simpleclass() : A1, class Simpleclass() : A1,
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ class A {
class Simpleclass() : A1, class Simpleclass() : A1,
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -5,3 +5,5 @@ interface A1
class A { class A {
class Simpleclass() : A1, <caret> class Simpleclass() : A1, <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ open class B1
class Simpleclass() : B1(), class Simpleclass() : B1(),
<caret>A1 <caret>A1
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ open class B1
class Simpleclass() : B1(), class Simpleclass() : B1(),
<caret>A1 <caret>A1
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -5,3 +5,5 @@ interface A1
open class B1 open class B1
class Simpleclass() : B1(), <caret>A1 class Simpleclass() : B1(), <caret>A1
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -4,3 +4,5 @@ enum class EnumTest {
ENTRY(); ENTRY();
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -4,3 +4,5 @@ enum class EnumTest {
ENTRY(); ENTRY();
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,3 +3,5 @@
enum class EnumTest { enum class EnumTest {
ENTRY(); <caret> ENTRY(); <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ enum class EnumTest {
ENTRY(), ENTRY(),
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ enum class EnumTest {
ENTRY(), ENTRY(),
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -5,3 +5,5 @@ interface A1
enum class EnumTest { enum class EnumTest {
ENTRY(), <caret> ENTRY(), <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ enum class EnumTest {
ENTRY(), ENTRY(),
<caret>A1 <caret>A1
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,5 @@ enum class EnumTest {
ENTRY(), ENTRY(),
<caret>A1 <caret>A1
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -5,3 +5,5 @@ interface A1
enum class EnumTest { enum class EnumTest {
ENTRY(), <caret>A1 ENTRY(), <caret>A1
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -2,4 +2,5 @@ val somelong = 3 + 4 - (
<caret> <caret>
) )
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -2,4 +2,5 @@ val somelong = 3 + 4 - (
<caret> <caret>
) )
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,4 @@
val somelong = 3 + 4 - (<caret>) val somelong = 3 + 4 - (<caret>)
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,5 @@
val somelong = 3 + (3 * val somelong = 3 + (3 *
<caret>3) <caret>3)
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,5 @@
val somelong = 3 + (3 * val somelong = 3 + (3 *
<caret>3) <caret>3)
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,4 @@
val somelong = 3 + (3 * <caret>3) val somelong = 3 + (3 * <caret>3)
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,5 @@
val a: (String) -> String = { some -> val a: (String) -> String = { some ->
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1 +1,3 @@
val a: (String) -> String = { some -><caret>} val a: (String) -> String = { some -><caret>}
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,5 @@
val a: (String) -> String = { some -> val a: (String) -> String = { some ->
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1 +1,3 @@
val a: (String) -> String = { some -> <caret> } val a: (String) -> String = { some -> <caret> }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,5 @@
val a: (String) -> String = { val a: (String) -> String = {
<caret>some -> <caret>some ->
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
+3 -1
View File
@@ -1,2 +1,4 @@
val a: (String) -> String = { <caret>some -> val a: (String) -> String = { <caret>some ->
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -8,3 +8,4 @@ fun test() {
} }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,4 @@ fun test() {
val abc = Test().foo()?.foo({ "str" }).foo {<caret>} val abc = Test().foo()?.foo({ "str" }).foo {<caret>}
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,4 +6,6 @@ fun test() {
val abc = Test().foo()?.foo({ "str" }).foo { val abc = Test().foo()?.foo({ "str" }).foo {
<caret> <caret>
} }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,3 +6,4 @@ fun test() {
val abc = Test().foo()?.foo({ "str" }).foo { <caret> } val abc = Test().foo()?.foo({ "str" }).foo { <caret> }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -8,4 +8,6 @@ fun test() {
.foo { .foo {
<caret> <caret>
} }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,4 +6,6 @@ fun test() {
val abc = Test() val abc = Test()
.foo { "Str" } .foo { "Str" }
.foo {<caret>} .foo {<caret>}
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -8,4 +8,6 @@ fun test() {
.foo { .foo {
<caret> <caret>
} }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -6,4 +6,6 @@ fun test() {
val abc = Test() val abc = Test()
.foo { "Str" } .foo { "Str" }
.foo { <caret> } .foo { <caret> }
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,4 +1,6 @@
val a: (String) -> String = { val a: (String) -> String = {
some -> some ->
<caret> <caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -1,3 +1,5 @@
val a: (String) -> String = { val a: (String) -> String = {
some -><caret> some -><caret>
} }
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER
@@ -3,4 +3,5 @@ fun test() {
<caret> <caret>
} }
// SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION // SET_TRUE: ALIGN_MULTILINE_BINARY_OPERATION
// WITHOUT_CUSTOM_LINE_INDENT_PROVIDER

Some files were not shown because too many files have changed in this diff Show More