Few handy commandline argument parsing and console printing utilities for use in Scala-CLI scripts.
- Scala >= 3.3.5
- com.lihaoyi os-lib 0.11.4
Use with SBT
libraryDependencies += "org.encalmo" %% "script-utils" % "0.9.5"
or with SCALA-CLI
//> using dep org.encalmo::script-utils:0.9.5
execute("git status")
executeCommandArray(Array("git", "status"), showOutput = false)
import org.encalmo.utils.CommandLineUtils.*
val functionName: String =
requiredScriptParameter('n', "function-name")(args)
val description: Option[String] =
optionalScriptParameter('d', "description")(args)
val useS3Bucket: Boolean =
optionalScriptFlag('b', "use-s3-bucket")(args)
import org.encalmo.utils.ConsoleUtils.*
printlnMessageBoxed(size = 30, margin = 2, message = loremIpsum, color = AnsiColor.CYAN, frame = '=')
printlnMessageUnderlined(size = 40, margin = 3, message = loremIpsum, color = AnsiColor.CYAN, frame = '-')
printlnMessageOverlined(size = 50, margin = 4, message = loremIpsum, color = AnsiColor.CYAN, frame = '*')
printlnMessage(size = 60, margin = 4, color = AnsiColor.CYAN, message = loremIpsum)
printlnErrorMessage("Error!")
printlnWarningMessage("Warning!")
printlnInfoMessage("Info!")
├── .github
│ └── workflows
│ ├── pages.yaml
│ ├── release.yaml
│ └── test.yaml
│
├── .gitignore
├── .scalafmt.conf
├── CommandLineUtils.scala
├── CommandLineUtils.test.scala
├── ConsoleUtils.scala
├── ConsoleUtils.test.scala
├── LICENSE
├── project.scala
├── README.md
└── test.sh