Completion: better replacement range calculation for both basic and smart completions

This commit is contained in:
Valentin Kipyatkov
2013-12-19 16:01:49 +04:00
parent d28705a5ec
commit 24b68e7bdf
25 changed files with 145 additions and 11 deletions
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(<caret>xxx)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(<caret>x.y())
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(sss<caret>.y())
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(<caret>null)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(<caret>123)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(<caret>this)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(<caret>true)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun String.bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(<caret>x.y())
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(<caret>1 + x)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(<caret>x().y.z())
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(sss: String) {
foo(sss<caret>)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(ss: String) {
foo(<caret>xxx)
}
@@ -0,0 +1,5 @@
fun foo(s: String){ }
fun bar(ss: String) {
foo(ss<caret>)
}
@@ -0,0 +1,8 @@
var b1: Boolean = true
var b2: Boolean = true
var b3: Boolean = true
val c: String = ""
fun bar() {
if (b1 && <caret>b2 && b3) {}
}
@@ -0,0 +1,8 @@
var b1: Boolean = true
var b2: Boolean = true
var b3: Boolean = true
val c: String = ""
fun bar() {
if (b1 && b3 && b3) {}
}