diff --git a/build.sbt b/build.sbt index 7d011736..d1e24578 100644 --- a/build.sbt +++ b/build.sbt @@ -16,7 +16,7 @@ lazy val V = def scala212 = "2.12.14" def scala211 = "2.11.12" def scala3 = "3.0.1" - def metals = "0.10.5" + def metals = "0.10.6-M1" def scalameta = "4.4.25" def testcontainers = "0.39.3" def requests = "0.6.5" diff --git a/lsif-java/src/main/scala/com/sourcegraph/lsif_java/buildtools/LsifBuildTool.scala b/lsif-java/src/main/scala/com/sourcegraph/lsif_java/buildtools/LsifBuildTool.scala index b1456c23..1f2777f4 100644 --- a/lsif-java/src/main/scala/com/sourcegraph/lsif_java/buildtools/LsifBuildTool.scala +++ b/lsif-java/src/main/scala/com/sourcegraph/lsif_java/buildtools/LsifBuildTool.scala @@ -12,7 +12,11 @@ import java.nio.file.Paths import java.nio.file.SimpleFileVisitor import java.nio.file.StandardOpenOption import java.nio.file.attribute.BasicFileAttributes +import java.util +import java.util.Collections +import java.util.Optional import java.util.ServiceLoader +import java.util.concurrent.TimeUnit import scala.collection.mutable.ListBuffer import scala.jdk.CollectionConverters._ @@ -22,6 +26,7 @@ import scala.util.Try import scala.util.control.NonFatal import scala.meta.pc.PresentationCompiler +import scala.meta.pc.PresentationCompilerConfig import com.sourcegraph.io.DeleteVisitor import com.sourcegraph.lsif_java.BuildInfo @@ -244,6 +249,31 @@ class LsifBuildTool(index: IndexCommand) extends BuildTool("LSIF", index) { val compiler = compilers .next() .newInstance("lsif-java", classpath.asJava, List[String]().asJava) + .withConfiguration( + new PresentationCompilerConfig { + override def parameterHintsCommand(): Optional[String] = + Optional.empty() + override def completionCommand(): Optional[String] = + Optional.empty() + override def symbolPrefixes(): util.Map[String, String] = + Collections.emptyMap() + override def isDefaultSymbolPrefixes: Boolean = false + override def overrideDefFormat() + : PresentationCompilerConfig.OverrideDefFormat = + PresentationCompilerConfig.OverrideDefFormat.Ascii + override def isCompletionItemDetailEnabled: Boolean = false + override def isStripMarginOnTypeFormattingEnabled: Boolean = false + override def isCompletionItemDocumentationEnabled: Boolean = false + override def isHoverDocumentationEnabled: Boolean = false + override def snippetAutoIndent(): Boolean = false + override def isSignatureHelpDocumentationEnabled: Boolean = false + override def isCompletionSnippetsEnabled: Boolean = false + override def timeoutDelay(): Long = 0 + override def timeoutUnit(): TimeUnit = TimeUnit.SECONDS + override def semanticdbCompilerOptions(): util.List[String] = + Collections.emptyList() + } + ) try { fn(compiler) } finally { diff --git a/lsif-semanticdb/src/main/java/com/sourcegraph/lsif_semanticdb/SignatureFormatter.java b/lsif-semanticdb/src/main/java/com/sourcegraph/lsif_semanticdb/SignatureFormatter.java index 45448cfa..f47646ef 100644 --- a/lsif-semanticdb/src/main/java/com/sourcegraph/lsif_semanticdb/SignatureFormatter.java +++ b/lsif-semanticdb/src/main/java/com/sourcegraph/lsif_semanticdb/SignatureFormatter.java @@ -269,8 +269,10 @@ private void formatScalaMethodSignature(MethodSignature methodSignature) { ? "this" : symbolInformation.getDisplayName()); formatScalaParameterList(methodSignature.getParameterListsList()); - printKeyword(":"); - s.append(this.formatType(methodSignature.getReturnType())); + if (symbolInformation.getKind() != SymbolInformation.Kind.CONSTRUCTOR) { + printKeyword(":"); + s.append(this.formatType(methodSignature.getReturnType())); + } } private Optional primaryConstructor(ClassSignature classSignature) { diff --git a/tests/snapshots/src/main/generated/minimized/MinimizedScalaSignatures.scala b/tests/snapshots/src/main/generated/minimized/MinimizedScalaSignatures.scala index cfc5b78a..0416e577 100644 --- a/tests/snapshots/src/main/generated/minimized/MinimizedScalaSignatures.scala +++ b/tests/snapshots/src/main/generated/minimized/MinimizedScalaSignatures.scala @@ -6,11 +6,11 @@ package minimized case class MinimizedCaseClass(value: String) { // ^^^^^^^^^^^^^^^^^^ definition minimized/MinimizedCaseClass# case class MinimizedCaseClass(value: String) -// definition minimized/MinimizedCaseClass#``(). def this(value: String): +// definition minimized/MinimizedCaseClass#``(). def this(value: String) // ^^^^^ definition minimized/MinimizedCaseClass#value. val value: String // ^^^^^^ reference scala/Predef.String# def this() = this("value") -// ^^^^ definition minimized/MinimizedCaseClass#``(+1). def this(): +// ^^^^ definition minimized/MinimizedCaseClass#``(+1). def this() // reference minimized/MinimizedCaseClass#``(). } @@ -34,7 +34,7 @@ trait MinimizedTrait[T] extends AutoCloseable { class MinimizedScalaSignatures extends AutoCloseable with java.io.Serializable { // ^^^^^^^^^^^^^^^^^^^^^^^^ definition minimized/MinimizedScalaSignatures# class MinimizedScalaSignatures -// definition minimized/MinimizedScalaSignatures#``(). def this(): +// definition minimized/MinimizedScalaSignatures#``(). def this() // ^^^^^^^^^^^^^ reference java/lang/AutoCloseable# // reference java/lang/Object#``(). // ^^^^ reference java/