diff --git a/metals/src/main/scala/scala/meta/internal/metals/Embedded.scala b/metals/src/main/scala/scala/meta/internal/metals/Embedded.scala index 87a1fe8b5e1..b94b0a0cf83 100644 --- a/metals/src/main/scala/scala/meta/internal/metals/Embedded.scala +++ b/metals/src/main/scala/scala/meta/internal/metals/Embedded.scala @@ -150,7 +150,8 @@ final class Embedded( pathString.contains("mdoc") || pathString.contains("scalameta") || pathString.contains("metaconfig") || - pathString.contains("diffutils") + pathString.contains("diffutils") || + pathString.contains("scala-sbt") } val urls = runtimeClasspath.iterator.map(_.toUri().toURL()).toArray new URLClassLoader(urls, parent) diff --git a/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala b/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala index 6062bb91e01..822c8eaa0f7 100644 --- a/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala +++ b/tests/slow/src/test/scala/tests/feature/WorksheetCrossLspSuite.scala @@ -1,8 +1,11 @@ package tests.feature +import scala.meta.internal.metals.MetalsEnrichments._ import scala.meta.internal.metals.{BuildInfo => V} import scala.meta.internal.semver.SemVer +import coursierapi.Complete + class Worksheet211LspSuite extends tests.BaseWorksheetLspSuite(V.scala211) class Worksheet3LspSuite extends tests.BaseWorksheetLspSuite(V.scala3) { @@ -25,4 +28,28 @@ class LatestWorksheet3LspSuite """given str: String = """"" } +class Worksheet3NextSuite + extends tests.BaseWorksheetLspSuite(Worksheet3NextSuite.scala3Next) { + override def versionSpecificCodeToValidate: String = + """given str: String = """"" +} + +object Worksheet3NextSuite { + def scala3Next: String = + Complete + .create() + .withInput("org.scala-lang:scala3-compiler_3:") + .complete() + .getCompletions() + .asScala + .toList + .reverse + .collectFirst { version => + SemVer.Version.fromString(version) match { + case SemVer.Version(_, _, _, None, None, None) => version + } + } + .get +} + class Worksheet212LspSuite extends tests.BaseWorksheetLspSuite(V.scala212) diff --git a/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala b/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala index f12425229f9..77e3b96e681 100644 --- a/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala +++ b/tests/unit/src/main/scala/tests/BaseWorksheetLspSuite.scala @@ -855,7 +855,7 @@ abstract class BaseWorksheetLspSuite( _ = assertNoDiff(noCompletions, "") } yield () } - if (ScalaVersions.isScala3Version(scalaVersion)) + if (ScalaVersions.isScala3Version(scalaVersion) && scalaVersion != "3.4.0") test("import-missing-symbol") { cleanWorkspace() val path = "a/src/main/scala/foo/Main.worksheet.sc"