Skip to content

Commit

Permalink
Add configurable version short flag
Browse files Browse the repository at this point in the history
Resolves bkirwi#299
  • Loading branch information
alexcardell committed May 21, 2021
1 parent 1de6a21 commit 1ed6854
Showing 1 changed file with 6 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,10 @@ object CommandIOApp {
name: String,
header: String,
helpFlag: Boolean = true,
version: Option[String] = None
version: Option[String] = None,
versionShortFlag: String = "v"
)(opts: Opts[F[ExitCode]], args: List[String]): F[ExitCode] =
run(Command(name, header, helpFlag)(version.map(addVersionFlag(opts)).getOrElse(opts)), args)
run(Command(name, header, helpFlag)(version.map(addVersionFlag(opts, versionShortFlag)).getOrElse(opts)), args)

def run[F[_]: Sync: Console](command: Command[F[ExitCode]], args: List[String]): F[ExitCode] =
for {
Expand All @@ -46,11 +47,12 @@ object CommandIOApp {
}

private[CommandIOApp] def addVersionFlag[F[_]: Console: Functor](
opts: Opts[F[ExitCode]]
opts: Opts[F[ExitCode]],
versionShortFlag: String
)(version: String): Opts[F[ExitCode]] = {
val flag = Opts.flag(
long = "version",
short = "v",
short = versionShortFlag,
help = "Print the version number and exit.",
visibility = Visibility.Partial
)
Expand Down

0 comments on commit 1ed6854

Please sign in to comment.