forked from scalameta/metals
/
WorksheetCrossLspSuite.scala
55 lines (46 loc) 路 1.46 KB
/
WorksheetCrossLspSuite.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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) {
override def versionSpecificCodeToValidate: String =
"""given str: String = """""
override def versionSpecificScalacOptionsToValidate: List[String] = List(
"-Ycheck-reentrant"
)
}
class LatestWorksheet3LspSuite
extends tests.BaseWorksheetLspSuite(
V.supportedScala3Versions
.sortWith(SemVer.isCompatibleVersion)
.reverse
.head
) {
override def versionSpecificCodeToValidate: String =
"""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)