aboutsummaryrefslogtreecommitdiff
path: root/doc-tool
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2017-01-24 10:23:10 +0100
committerFelix Mulder <felix.mulder@gmail.com>2017-01-31 14:32:41 +0100
commit269c24b92a2cf15e90344430291b74ee30441d3a (patch)
tree7d1a2870aa25991adc4562180930a410b4e84575 /doc-tool
parentf56a8b3246adca23ed76beefb0eb5102e70f6d97 (diff)
downloaddotty-269c24b92a2cf15e90344430291b74ee30441d3a.tar.gz
dotty-269c24b92a2cf15e90344430291b74ee30441d3a.tar.bz2
dotty-269c24b92a2cf15e90344430291b74ee30441d3a.zip
Fix codeblocks in shortened markdown
Diffstat (limited to 'doc-tool')
-rw-r--r--doc-tool/src/dotty/tools/dottydoc/model/comment/MarkdownShortener.scala15
1 files changed, 9 insertions, 6 deletions
diff --git a/doc-tool/src/dotty/tools/dottydoc/model/comment/MarkdownShortener.scala b/doc-tool/src/dotty/tools/dottydoc/model/comment/MarkdownShortener.scala
index f7d970959..311f1e2cb 100644
--- a/doc-tool/src/dotty/tools/dottydoc/model/comment/MarkdownShortener.scala
+++ b/doc-tool/src/dotty/tools/dottydoc/model/comment/MarkdownShortener.scala
@@ -14,11 +14,11 @@ class MarkdownShortener {
def shorten(node: Node, maxLen: Int = 150): Node = {
var len = 0
- var didUnlinkListItem = false
+ var didUnlink = false
def count(node: Node, length: => Int, shortenOrUnlink: Int => Unit) = {
val remaining = math.max(maxLen - len, 0)
- if (remaining == 0) node.unlink()
+ if (didUnlink || remaining == 0) node.unlink()
else {
if (length <= remaining) len += length
else {
@@ -50,25 +50,28 @@ class MarkdownShortener {
new VisitHandler(classOf[Image], new Visitor[Image] {
override def visit(node: Image) = count(node, maxLen, _ => node.unlink())
}),
+ new VisitHandler(classOf[FencedCodeBlock], new Visitor[FencedCodeBlock] {
+ override def visit(node: FencedCodeBlock) = count(node, maxLen, _ => node.unlink())
+ }),
new VisitHandler(classOf[BulletListItem], new Visitor[BulletListItem] {
override def visit(node: BulletListItem) = count(
node,
- if (didUnlinkListItem) maxLen
+ if (didUnlink) maxLen
else node.getSegments.map(_.length).reduceLeft(_ + _),
_ => {
node.unlink()
- didUnlinkListItem = true // unlink all following bullets
+ didUnlink = true // unlink all following bullets
}
)
}),
new VisitHandler(classOf[OrderedListItem], new Visitor[OrderedListItem] {
override def visit(node: OrderedListItem) = count(
node,
- if (didUnlinkListItem) maxLen
+ if (didUnlink) maxLen
else node.getSegments.map(_.length).reduceLeft(_ + _),
_ => {
node.unlink()
- didUnlinkListItem = true // unlink all following bullets
+ didUnlink = true // unlink all following bullets
}
)
})