From 01c2c35bc2b715a576e14a8ac3e97bb80c0733f5 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 21 Apr 2022 08:44:29 +0200 Subject: [PATCH] Allow adding suffix to LineCommentCreator (#285) --- .../de/heikoseeberger/sbtheader/CommentStyle.scala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/scala/de/heikoseeberger/sbtheader/CommentStyle.scala b/src/main/scala/de/heikoseeberger/sbtheader/CommentStyle.scala index b285008..276dfa0 100644 --- a/src/main/scala/de/heikoseeberger/sbtheader/CommentStyle.scala +++ b/src/main/scala/de/heikoseeberger/sbtheader/CommentStyle.scala @@ -94,7 +94,7 @@ object TwirlStyleFramedBlockCommentCreator extends CommentCreator { private def stars(count: Int) = "*" * count } -final class LineCommentCreator(linePrefix: String) extends CommentCreator { +final class LineCommentCreator(linePrefix: String, lineSuffix: String = "") extends CommentCreator { override def apply(text: String, existingText: Option[String]): String = { def prependWithLinePrefix(s: String) = @@ -102,8 +102,14 @@ final class LineCommentCreator(linePrefix: String) extends CommentCreator { case "" => if (linePrefix.trim.nonEmpty) linePrefix else "" case line => s"$linePrefix $line" } + def appendLineSuffix(s: String) = + s match { + case "" => "" + case line => // Only add the suffix when a prefix was added before + if (linePrefix.trim.nonEmpty && lineSuffix.trim.nonEmpty) s"$line $lineSuffix" else line + } - text.linesIterator.map(prependWithLinePrefix).mkString(NewLine) + text.linesIterator.map(prependWithLinePrefix).map(appendLineSuffix).mkString(NewLine) } }