From db67ff7f05a1b7d3fa60fff90fe199fc201230c0 Mon Sep 17 00:00:00 2001 From: Albert Meltzer <7529386+kitbellew@users.noreply.github.com> Date: Wed, 8 Dec 2021 10:59:34 -0800 Subject: [PATCH] FormatWriter: format `@usecase` tag on one line Apparently, scaladoc doesn't allow newlines for this specific tag. --- .../scala/org/scalafmt/internal/FormatWriter.scala | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala index 4552ef0975..4802bb676b 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala @@ -771,9 +771,14 @@ class FormatWriter(formatOps: FormatOps) { t.label.foreach(x => sb.append(' ').append(x.syntax)) t.desc.foreach { x => val words = x.part.iterator.map(_.syntax) - val tagMargin = getIndentation(2 + margin.length) - // use maxLength to force a newline - iterWords(words, appendBreak, maxLength, tagMargin) + if (t.tag.tag == "@usecase") + // scaladoc parser doesn't allow newlines in @usecase + words.foreach(sb.append(' ').append(_)) + else { + val tagMargin = getIndentation(2 + margin.length) + // use maxLength to force a newline + iterWords(words, appendBreak, maxLength, tagMargin) + } } appendBreak() case t: Scaladoc.ListBlock =>