Skip to content

Commit 24ec070

Browse files
authored
Merge pull request #219 from armanbilge/feature/scala3-syntax-highlighting
Enable syntax highlighting for Scala 3 automatically
2 parents 50e6ddf + a3f199a commit 24ec070

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

site/src/main/scala/org/typelevel/sbt/TypelevelSitePlugin.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import MdocPlugin.autoImport._
3737
import LaikaPlugin.autoImport._
3838
import gha.GenerativePlugin
3939
import GenerativePlugin.autoImport._
40+
import TypelevelKernelPlugin.autoImport._
4041

4142
object TypelevelSitePlugin extends AutoPlugin {
4243

@@ -117,7 +118,8 @@ object TypelevelSitePlugin extends AutoPlugin {
117118
},
118119
tlSiteHeliumExtensions := TypelevelHeliumExtensions(
119120
licenses.value.headOption,
120-
tlSiteRelatedProjects.value
121+
tlSiteRelatedProjects.value,
122+
tlIsScala3.value
121123
),
122124
tlSiteApiUrl := {
123125
val javadocioUrl = for {

site/src/main/scala/org/typelevel/sbt/site/TypelevelHeliumExtensions.scala

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import laika.config.Config
2323
import laika.io.model.InputTree
2424
import laika.markdown.github.GitHubFlavor
2525
import laika.parse.code.SyntaxHighlighting
26+
import laika.parse.code.languages.DottySyntax
2627
import laika.rewrite.DefaultTemplatePath
2728
import laika.theme.Theme
2829
import laika.theme.ThemeBuilder
@@ -32,9 +33,14 @@ import java.net.URL
3233

3334
object TypelevelHeliumExtensions {
3435

36+
@deprecated("Use overload with scala3 parameter", "0.4.7")
37+
def apply(license: Option[(String, URL)], related: Seq[(String, URL)]): ThemeProvider =
38+
apply(license, related, false)
39+
3540
def apply(
3641
license: Option[(String, URL)],
37-
related: Seq[(String, URL)]
42+
related: Seq[(String, URL)],
43+
scala3: Boolean
3844
): ThemeProvider = new ThemeProvider {
3945
def build[F[_]](implicit F: Sync[F]): Resource[F, Theme[F]] =
4046
ThemeBuilder[F]("Typelevel Helium Extensions")
@@ -49,7 +55,11 @@ object TypelevelHeliumExtensions {
4955
Path.Root / "site" / "styles.css"
5056
)
5157
)
52-
.addExtensions(GitHubFlavor, SyntaxHighlighting)
58+
.addExtensions(
59+
GitHubFlavor,
60+
if (scala3) SyntaxHighlighting.withSyntaxBinding("scala", DottySyntax)
61+
else SyntaxHighlighting
62+
)
5363
.addBaseConfig(licenseConfig(license).withFallback(relatedConfig(related)))
5464
.build
5565
}

0 commit comments

Comments
 (0)