From 0a8c4b263e979a7ed9fc9172ebc5f51e8093f3d5 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Tue, 8 Sep 2015 23:32:56 +1000 Subject: Camel Case and JavaBean completion This is just too useful to leave on the cutting room floor. ``` scala> classOf[String].enclo scala> classOf[String].getEnclosing getEnclosingClass getEnclosingConstructor getEnclosingMethod scala> classOf[String].simpl scala> classOf[String].getSimpleName type X = global.TTWD scala> type X = global.TypeTreeWithDeferredRefCheck ``` I revised the API of `matchingResults` as it was clunky to reuse the filtering on accessibility and term/type-ness while providing a custom name matcher. --- test/junit/scala/tools/nsc/interpreter/CompletionTest.scala | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test') diff --git a/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala b/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala index 75ab4c605f..a55a3c66c0 100644 --- a/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala +++ b/test/junit/scala/tools/nsc/interpreter/CompletionTest.scala @@ -51,6 +51,17 @@ class CompletionTest { 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 + def camelCompletions(): Unit = { + val intp = newIMain() + val completer = new PresentationCompilerCompleter(intp) + checkExact(completer, "object O { def theCatSatOnTheMat = 1 }; import O._; tCSO")("theCatSatOnTheMat") + checkExact(completer, "object O { def getBlerganator = 1 }; import O._; blerga")("getBlerganator") + checkExact(completer, "object O { def xxxxYyyyyZzzz = 1; def xxxxYyZeee = 1 }; import O._; xYZ")("", "xxxxYyyyyZzzz", "xxxxYyZeee") + checkExact(completer, "object O { def xxxxYyyyyZzzz = 1; def xxxxYyyyyZeee = 1 }; import O._; xYZ")("xxxxYyyyyZzzz", "xxxxYyyyyZeee") + checkExact(completer, "object O { class AbstractMetaFactoryFactory }; new O.AMFF")("AbstractMetaFactoryFactory") + } + @Test def previousLineCompletions(): Unit = { val intp = newIMain() -- cgit v1.2.3