Skip to content

Commit 5698f5e

Browse files
authored
Merge pull request #13959 from dotty-staging/scaladoc/snippets-frame
Add missing styles to snippets that are not Scala
2 parents b311b4e + 931d964 commit 5698f5e

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

scaladoc-js/src/code-snippets/CodeSnippets.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class CodeSnippets:
2020
case _ => None
2121
}
2222

23-
def enrichSnippets() = document.querySelectorAll("div.snippet").foreach {
23+
def enrichSnippets() = document.querySelectorAll("div.snippet[scala-snippet]").foreach {
2424
case snippet: html.Element =>
2525
snippet.addEventListener("click", (e: MouseEvent) => e.asInstanceOf[js.Dynamic].fromSnippet = true)
2626
snippetAnchor(snippet)

scaladoc/src/dotty/tools/scaladoc/tasty/comments/markdown/SnippetRenderer.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ object SnippetRenderer:
137137
def renderSnippetWithMessages(snippetName: Option[String], codeLines: Seq[String], messages: Seq[SnippetCompilerMessage], hasContext: Boolean): String =
138138
val transformedLines = wrapCodeLines.andThen(addCompileMessages(messages)).apply(codeLines).map(_.toHTML)
139139
val codeHTML = s"""<code class="language-scala">${transformedLines.mkString("")}</code>"""
140-
s"""<div class="snippet" ${if hasContext then "hasContext" else ""}><div class="buttons"></div><pre>$codeHTML</pre>${snippetName.fold("")(snippetLabel(_))}</div>"""
140+
s"""<div class="snippet" scala-snippet ${if hasContext then "hasContext" else ""}><div class="buttons"></div><pre>$codeHTML</pre>${snippetName.fold("")(snippetLabel(_))}</div>"""
141141

142142
def renderSnippetWithMessages(node: ExtendedFencedCodeBlock): String =
143143
renderSnippetWithMessages(

scaladoc/src/dotty/tools/scaladoc/tasty/comments/markdown/SnippetRenderingExtension.scala

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import com.vladsch.flexmark.util.ast._
1212
import com.vladsch.flexmark.util.options._
1313
import com.vladsch.flexmark.util.sequence.BasedSequence
1414
import com.vladsch.flexmark._
15+
import com.vladsch.flexmark.ast.FencedCodeBlock
1516

1617
/**
1718
* SnippetRenderingExtension is responsible for running an analysis for scala codeblocks in the static documentation/scaladoc comments.
@@ -26,10 +27,17 @@ object SnippetRenderingExtension extends HtmlRenderer.HtmlRendererExtension:
2627
SnippetRenderer.renderSnippetWithMessages(node)
2728
)
2829

30+
object FencedCodeBlockHandler extends CustomNodeRenderer[FencedCodeBlock]:
31+
override def render(node: FencedCodeBlock, c: NodeRendererContext, html: HtmlWriter): Unit =
32+
html.raw("""<div class="snippet">""")
33+
c.delegateRender()
34+
html.raw("""</div>""")
35+
2936
object Render extends NodeRenderer:
3037
override def getNodeRenderingHandlers: JSet[NodeRenderingHandler[_]] =
3138
JSet(
3239
new NodeRenderingHandler(classOf[ExtendedFencedCodeBlock], ExtendedFencedCodeBlockHandler),
40+
new NodeRenderingHandler(classOf[FencedCodeBlock], FencedCodeBlockHandler)
3341
)
3442

3543
object Factory extends NodeRendererFactory:

0 commit comments

Comments
 (0)