From 3f1352f3ff16b0588b0f6e05bdb0a76b4702e431 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Thu, 3 Sep 2015 12:50:02 +1000 Subject: Sort completion proposals --- .../scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala | 2 +- test/junit/scala/tools/nsc/interpreter/CompletionTest.scala | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) 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 -- cgit v1.2.3