All Downloads are FREE. Search and download functionalities are using the official Maven repository.

caseapp.core.help.CommandHelp.scala Maven / Gradle / Ivy

package caseapp.core.help

import caseapp.core.Arg

final case class CommandHelp(
  args: Seq[Arg],
  argsNameOption: Option[String]
) {

  def usageMessage(progName: String, commandName: String): String =
    s"Usage: $progName $commandName ${argsNameOption.map("<" + _ + ">").mkString}"

  def optionsMessage: String =
    Help.optionsMessage(args)

  def helpMessage(progName: String, commandName: String): String = {
    val b = new StringBuilder
    b ++= s"Command: $commandName${Help.NL}"
    b ++= usageMessage(progName, commandName)
    b ++= Help.NL
    b ++= optionsMessage
    b ++= Help.NL
    b.result()
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy