Smart completion: prefer items matching by name

This commit is contained in:
Valentin Kipyatkov
2014-09-23 23:01:57 +04:00
committed by valentin
parent 56978c4e16
commit 0462d152eb
38 changed files with 414 additions and 48 deletions
@@ -0,0 +1,7 @@
fun f(fooBar: String){}
fun g(a: String, bar: String, fooBar: String) {
f(<caret>)
}
// ORDER: fooBar, bar, a
@@ -0,0 +1,7 @@
fun f(fooBar: String){}
fun g(fooA: String, someBar: String, fooBar: String, fooStuff: String) {
f(<caret>)
}
// ORDER: fooBar, someBar, fooA, fooStuff
@@ -0,0 +1,23 @@
/*
* Copyright 2010-2014 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
fun f(fooBar1: String, fooBar2: String){}
fun g(someBar0: String, someBar1: String, someBar2: String, fooBar: String, fooBar0: String, fooBar1: String, fooBar2: String) {
f(<caret>)
}
// ORDER: fooBar1, fooBar, fooBar0, fooBar2, someBar1, someBar0, someBar2
@@ -0,0 +1,10 @@
val id = ""
val p = ""
val p1 = ""
fun g(zone: java.util.TimeZone) {
val local = ""
zone.setID(<caret>)
}
// ORDER: local, id, p, p1
@@ -0,0 +1,7 @@
fun f(fooBar: String){}
fun g(b: Boolean, a: String, foo: String, bar: String) {
f(if (b) { <caret> })
}
// ORDER: bar, foo, a
@@ -0,0 +1,7 @@
fun f(fooBar: String){}
fun g(b: Boolean, aaa: String, aaa1:String, foo: String, bar: String) {
f(if (b) aaa else <caret>)
}
// ORDER: bar, foo, aaa, aaa1
@@ -0,0 +1,11 @@
fun f(fooBar: String){}
object C {
fun aaa(): String = ""
}
fun g(b: Boolean, aaa: String, foo: String, bar: String) {
f(C.aaa() ?: <caret>)
}
// ORDER: bar, foo, aaa
@@ -0,0 +1,8 @@
var fooBar1 = ""
var fooBar2 = ""
fun f(s: String){
if (fooBar1 == <caret>)
}
// ORDER: fooBar2, s
@@ -0,0 +1,11 @@
class C {
var fooBar = ""
}
var fooBar = ""
fun f(s: String, c: C){
if (c.fooBar == <caret>)
}
// ORDER: fooBar, s
@@ -0,0 +1,11 @@
var fooBar = ""
object C {
fun getFooBar() = ""
}
fun f(s: String){
if (C.getFooBar() == <caret>)
}
// ORDER: fooBar, s
@@ -0,0 +1,7 @@
var fooBar = ""
fun f(s: String, bars: List<String>){
if (bars[0] == <caret>)
}
// ORDER: fooBar, s
@@ -0,0 +1,7 @@
fun f(fooBar: String){}
fun g(b: Boolean, a: String, foo: String, bar: String) {
f(if (b) <caret>)
}
// ORDER: bar, foo, a
@@ -0,0 +1,5 @@
class A(s: String) {
val substring = s.<caret>capitalize()
}
// ORDER: substring
@@ -0,0 +1,13 @@
// test that name similarity sorting takes over declaration kind sorting
val globalBar = ""
val globalX = ""
fun f(fooBar: String){}
fun g() {
val localBar = ""
val localX = ""
f(<caret>)
}
// ORDER: localBar, globalBar, localX, globalX