summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala2
-rw-r--r--test/junit/scala/tools/nsc/interpreter/CompletionTest.scala3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala b/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala
index 56819cf08e..f6b6ff440b 100644
--- a/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala
+++ b/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala
@@ -82,7 +82,7 @@ class PresentationCompilerCompleter(intp: IMain) extends Completion with ScalaCo
Completion.NoCandidates // don't offer completion if the only option has been fully typed already
else {
// regular completion
- val memberCompletions: List[String] = matching.map(_.symNameDropLocal.decoded).distinct
+ val memberCompletions: List[String] = matching.map(_.symNameDropLocal.decoded).distinct.sorted
Candidates(cursor + r.positionDelta, memberCompletions)
}
}
diff --git a/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala b/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
index 003a138e47..75ab4c605f 100644
--- a/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
+++ b/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala
@@ -46,6 +46,9 @@ class CompletionTest {
// We exclude inherited members of the synthetic interpreter wrapper classes
checkExact(completer, """asInstanceO""")()
checkExact(completer, """class C { asInstanceO""")("asInstanceOf")
+
+ // Output is sorted
+ assertEquals(List("prefix_aaa", "prefix_nnn", "prefix_zzz"), completer.complete("""class C { def prefix_nnn = 0; def prefix_zzz = 0; def prefix_aaa = 0; prefix_""").candidates)
}
@Test