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)importorg.encalmo.utils.CommandLineUtils.*valfunctionName:String= requiredScriptParameter('n', "function-name")(args)
valdescription:Option[String] =
optionalScriptParameter('d', "description")(args)
valuseS3Bucket:Boolean=
optionalScriptFlag('b', "use-s3-bucket")(args)importorg.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