From 6bb8c5bcc6b96681bdbeb8806841d5f5d76626a5 Mon Sep 17 00:00:00 2001 From: Vadim Chelyshov Date: Wed, 23 Oct 2024 00:09:20 +0300 Subject: [PATCH] scalafix: gen doc --- .../commands/scalafix/ScalafixOptions.scala | 3 - .../integration/ScalafixTestDefinitions.scala | 3 +- website/docs/reference/cli-options.md | 36 +- website/docs/reference/commands.md | 11 +- .../reference/scala-command/cli-options.md | 76 +-- .../docs/reference/scala-command/commands.md | 15 - .../scala-command/runner-specification.md | 562 ------------------ 7 files changed, 50 insertions(+), 656 deletions(-) diff --git a/modules/cli/src/main/scala/scala/cli/commands/scalafix/ScalafixOptions.scala b/modules/cli/src/main/scala/scala/cli/commands/scalafix/ScalafixOptions.scala index 631bc1876e..e666411ee9 100644 --- a/modules/cli/src/main/scala/scala/cli/commands/scalafix/ScalafixOptions.scala +++ b/modules/cli/src/main/scala/scala/cli/commands/scalafix/ScalafixOptions.scala @@ -57,9 +57,6 @@ object ScalafixOptions { | |`scalafix` is used to check project code or rewrite it under the hood with use of specified rules. | - |The `.scalafix.conf` configuration file is optional. - |Default configuration values will be assumed by $fullRunnerName. - | |All standard $fullRunnerName inputs are accepted, but only Scala sources will be refactored (.scala and .sc files). | |${HelpMessages.commandDocWebsiteReference(cmdName)}""".stripMargin diff --git a/modules/integration/src/test/scala/scala/cli/integration/ScalafixTestDefinitions.scala b/modules/integration/src/test/scala/scala/cli/integration/ScalafixTestDefinitions.scala index 27a93ce9aa..6da38775d6 100644 --- a/modules/integration/src/test/scala/scala/cli/integration/ScalafixTestDefinitions.scala +++ b/modules/integration/src/test/scala/scala/cli/integration/ScalafixTestDefinitions.scala @@ -133,7 +133,7 @@ abstract class ScalafixTestDefinitions extends ScalaCliSuite with TestScalaVersi scalaVersionArgs ).call(cwd = root) val updatedContent = noCrLf(os.read(root / "Hello.scala")) - val expected = + val expected = noCrLf { s"""|//> using options $unusedRuleOption |package hello | @@ -144,6 +144,7 @@ abstract class ScalafixTestDefinitions extends ScalaCliSuite with TestScalaVersi | } |} |""".stripMargin + } expect(updatedContent == expected) diff --git a/website/docs/reference/cli-options.md b/website/docs/reference/cli-options.md index 55314941bc..a05760b2cf 100644 --- a/website/docs/reference/cli-options.md +++ b/website/docs/reference/cli-options.md @@ -46,7 +46,7 @@ are assumed to be Scala compiler options and will be propagated to Scala Compile Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`dependency-update`](./commands.md#dependency-update), [`doc`](./commands.md#doc), [`export`](./commands.md#export), [`fix`](./commands.md#fix), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`package`](./commands.md#package), [`publish`](./commands.md#publish), [`publish local`](./commands.md#publish-local), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`dependency-update`](./commands.md#dependency-update), [`doc`](./commands.md#doc), [`export`](./commands.md#export), [`fix`](./commands.md#fix), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`package`](./commands.md#package), [`publish`](./commands.md#publish), [`publish local`](./commands.md#publish-local), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -1474,20 +1474,6 @@ Aliases: `--verbose-scalac` Turn verbosity on for scalac. This is an alias for --scalac-option -verbose -## Scope options - -Available in commands: - -[`compile`](./commands.md#compile), [`repl` , `console`](./commands.md#repl) - - - -### `--test` - -Aliases: `--test-scope`, `--with-test`, `--with-test-scope` - -Include test scope - ## Scalafix options Available in commands: @@ -1502,15 +1488,29 @@ Custom path to the scalafix configuration file. ### `--scalafix-arg` -Pass an argument to scalafix. +Pass extra argument(s) to scalafix. ### `--rules` -Pass rules directly to scalafix. +Run rule(s) explicitly, overriding the configuration file default. ### `--check` -Check if sources are well organized +Fail the invocation if rewrites are needed + +## Scope options + +Available in commands: + +[`compile`](./commands.md#compile), [`repl` , `console`](./commands.md#repl) + + + +### `--test` + +Aliases: `--test-scope`, `--with-test`, `--with-test-scope` + +Include test scope ## Secret options diff --git a/website/docs/reference/commands.md b/website/docs/reference/commands.md index f5e543dacc..361a3281ee 100644 --- a/website/docs/reference/commands.md +++ b/website/docs/reference/commands.md @@ -158,15 +158,19 @@ Accepts option groups: [benchmarking](./cli-options.md#benchmarking-options), [c ## scalafix -Fixes Scala code according to scalafix rules. +Run Scalafix rules to lint or rewrite Scala code. -`scalafix` is used to lint or rewrite project's code according to specified rules. +`scalafix` is used to check project code or rewrite it under the hood with use of specified rules. All standard Scala CLI inputs are accepted, but only Scala sources will be refactored (.scala and .sc files). For detailed documentation refer to our website: https://scala-cli.virtuslab.org/docs/commands/scalafix -Accepts option groups: [compilation server](./cli-options.md#compilation-server-options), [coursier](./cli-options.md#coursier-options), [debug](./cli-options.md#debug-options), [dependency](./cli-options.md#dependency-options), [global suppress warning](./cli-options.md#global-suppress-warning-options), [help group](./cli-options.md#help-group-options), [input](./cli-options.md#input-options), [jvm](./cli-options.md#jvm-options), [logging](./cli-options.md#logging-options), [markdown](./cli-options.md#markdown-options), [power](./cli-options.md#power-options), [python](./cli-options.md#python-options), [Scala.js](./cli-options.md#scalajs-options), [Scala Native](./cli-options.md#scala-native-options), [scalac](./cli-options.md#scalac-options), [scalac extra](./cli-options.md#scalac-extra-options), [Scalafix](./cli-options.md#scalafix-options), [semantic db](./cli-options.md#semantic-db-options), [shared](./cli-options.md#shared-options), [snippet](./cli-options.md#snippet-options), [source generator](./cli-options.md#source-generator-options), [suppress warning](./cli-options.md#suppress-warning-options), [verbosity](./cli-options.md#verbosity-options), [version](./cli-options.md#version-options), [workspace](./cli-options.md#workspace-options) +The `scalafix` sub-command is experimental. +Please bear in mind that non-ideal user experience should be expected. +If you encounter any bugs or have feedback to share, make sure to reach out to the maintenance team at https://github.com/VirtusLab/scala-cli + +Accepts option groups: [benchmarking](./cli-options.md#benchmarking-options), [compilation server](./cli-options.md#compilation-server-options), [coursier](./cli-options.md#coursier-options), [debug](./cli-options.md#debug-options), [dependency](./cli-options.md#dependency-options), [global suppress warning](./cli-options.md#global-suppress-warning-options), [help group](./cli-options.md#help-group-options), [input](./cli-options.md#input-options), [jvm](./cli-options.md#jvm-options), [logging](./cli-options.md#logging-options), [markdown](./cli-options.md#markdown-options), [power](./cli-options.md#power-options), [python](./cli-options.md#python-options), [Scala.js](./cli-options.md#scalajs-options), [Scala Native](./cli-options.md#scala-native-options), [scalac](./cli-options.md#scalac-options), [scalac extra](./cli-options.md#scalac-extra-options), [Scalafix](./cli-options.md#scalafix-options), [semantic db](./cli-options.md#semantic-db-options), [shared](./cli-options.md#shared-options), [snippet](./cli-options.md#snippet-options), [source generator](./cli-options.md#source-generator-options), [suppress warning](./cli-options.md#suppress-warning-options), [verbosity](./cli-options.md#verbosity-options), [version](./cli-options.md#version-options), [workspace](./cli-options.md#workspace-options) ## help @@ -569,3 +573,4 @@ Accepts option groups: [pgp sign](./cli-options.md#pgp-sign-options) Verify PGP signatures Accepts option groups: [pgp verify](./cli-options.md#pgp-verify-options) + diff --git a/website/docs/reference/scala-command/cli-options.md b/website/docs/reference/scala-command/cli-options.md index 103fe07a5f..57c2aeb438 100644 --- a/website/docs/reference/scala-command/cli-options.md +++ b/website/docs/reference/scala-command/cli-options.md @@ -46,7 +46,7 @@ are assumed to be Scala compiler options and will be propagated to Scala Compile Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall) @@ -190,7 +190,7 @@ Force overwriting values for key Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -216,7 +216,7 @@ Debug mode (attach by default) Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -376,7 +376,7 @@ Pass scalafmt version before running it (3.8.3 by default). If passed, this over Available in commands: -[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) +[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) @@ -392,7 +392,7 @@ Suppress warnings about using experimental features Available in commands: -[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) +[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) @@ -422,7 +422,7 @@ Print help message, including hidden options, and exit Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -554,7 +554,7 @@ Add java properties. Note that options equal `-Dproperty=value` are assumed to b Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -614,7 +614,7 @@ Port for BSP debugging Available in commands: -[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) +[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) @@ -660,7 +660,7 @@ List main classes available in the current context Available in commands: -[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) +[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) @@ -700,7 +700,7 @@ Run Java commands using a manifest-based class path (shortens command length) Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -832,7 +832,7 @@ Whether to run the Scala.js CLI on the JVM or using a native executable Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -924,7 +924,7 @@ Enable/disable Scala Native multithreading support Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -946,7 +946,7 @@ Add a `scalac` option. Note that options starting with `-g`, `-language`, `-opt` Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -982,43 +982,11 @@ Aliases: `--test-scope`, `--with-test`, `--with-test-scope` Include test scope -## Scalafix options - -Available in commands: - -[`scalafix`](./commands.md#scalafix) - - - -### `--scalafix-conf` - -`IMPLEMENTATION specific` per Scala Runner specification - -Custom path to the scalafix configuration file. - -### `--scalafix-arg` - -`IMPLEMENTATION specific` per Scala Runner specification - -Pass an argument to scalafix. - -### `--rules` - -`IMPLEMENTATION specific` per Scala Runner specification - -Pass rules directly to scalafix. - -### `--check` - -`SHOULD have` per Scala Runner specification - -Check if sources are well organized - ## Shared options Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -1130,7 +1098,7 @@ Exclude sources Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -1176,7 +1144,7 @@ A synonym to --scala-snippet, which defaults the sub-command to `run` when no su Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -1322,7 +1290,7 @@ A github token used to access GitHub. Not needed in most cases. Available in commands: -[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) +[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`help`](./commands.md#help), [`install completions` , `install-completions`](./commands.md#install-completions), [`install-home`](./commands.md#install-home), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall), [`uninstall completions` , `uninstall-completions`](./commands.md#uninstall-completions), [`update`](./commands.md#update), [`version`](./commands.md#version) @@ -1352,7 +1320,7 @@ Enable actionable diagnostics Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`version`](./commands.md#version) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`version`](./commands.md#version) @@ -1465,7 +1433,7 @@ Name of BSP Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`config`](./commands.md#config), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test), [`uninstall`](./commands.md#uninstall) @@ -1491,7 +1459,7 @@ Enable checksum validation of artifacts downloaded by coursier Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -1559,7 +1527,7 @@ Don't actually run the REPL, just fetch it Available in commands: -[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) @@ -1603,7 +1571,7 @@ Available in commands: Available in commands: -[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`scalafix`](./commands.md#scalafix), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) +[`bsp`](./commands.md#bsp), [`clean`](./commands.md#clean), [`compile`](./commands.md#compile), [`doc`](./commands.md#doc), [`fmt` , `format` , `scalafmt`](./commands.md#fmt), [`repl` , `console`](./commands.md#repl), [`run`](./commands.md#run), [`setup-ide`](./commands.md#setup-ide), [`shebang`](./commands.md#shebang), [`test`](./commands.md#test) diff --git a/website/docs/reference/scala-command/commands.md b/website/docs/reference/scala-command/commands.md index 921219c9b9..8018179432 100644 --- a/website/docs/reference/scala-command/commands.md +++ b/website/docs/reference/scala-command/commands.md @@ -186,21 +186,6 @@ For detailed documentation refer to our website: https://scala-cli.virtuslab.org Accepts option groups: [benchmarking](./cli-options.md#benchmarking-options), [compilation server](./cli-options.md#compilation-server-options), [coursier](./cli-options.md#coursier-options), [debug](./cli-options.md#debug-options), [dependency](./cli-options.md#dependency-options), [fmt](./cli-options.md#fmt-options), [global suppress warning](./cli-options.md#global-suppress-warning-options), [help group](./cli-options.md#help-group-options), [input](./cli-options.md#input-options), [jvm](./cli-options.md#jvm-options), [logging](./cli-options.md#logging-options), [markdown](./cli-options.md#markdown-options), [power](./cli-options.md#power-options), [python](./cli-options.md#python-options), [Scala.js](./cli-options.md#scalajs-options), [Scala Native](./cli-options.md#scala-native-options), [scalac](./cli-options.md#scalac-options), [scalac extra](./cli-options.md#scalac-extra-options), [semantic db](./cli-options.md#semantic-db-options), [shared](./cli-options.md#shared-options), [snippet](./cli-options.md#snippet-options), [source generator](./cli-options.md#source-generator-options), [suppress warning](./cli-options.md#suppress-warning-options), [verbosity](./cli-options.md#verbosity-options), [version](./cli-options.md#version-options), [workspace](./cli-options.md#workspace-options) -### scalafix - -Fixes Scala code according to scalafix rules. - -`scalafix` is used to check project code or rewrite it under the hood with use of specified rules. - -The `.scalafix.conf` configuration file is optional. -Default configuration values will be assumed by Scala CLI. - -All standard Scala CLI inputs are accepted, but only Scala sources will be refactored (.scala and .sc files). - -For detailed documentation refer to our website: https://scala-cli.virtuslab.org/docs/commands/scalafix - -Accepts option groups: [compilation server](./cli-options.md#compilation-server-options), [coursier](./cli-options.md#coursier-options), [debug](./cli-options.md#debug-options), [dependency](./cli-options.md#dependency-options), [global suppress warning](./cli-options.md#global-suppress-warning-options), [help group](./cli-options.md#help-group-options), [input](./cli-options.md#input-options), [jvm](./cli-options.md#jvm-options), [logging](./cli-options.md#logging-options), [markdown](./cli-options.md#markdown-options), [power](./cli-options.md#power-options), [python](./cli-options.md#python-options), [Scala.js](./cli-options.md#scalajs-options), [Scala Native](./cli-options.md#scala-native-options), [scalac](./cli-options.md#scalac-options), [scalac extra](./cli-options.md#scalac-extra-options), [Scalafix](./cli-options.md#scalafix-options), [semantic db](./cli-options.md#semantic-db-options), [shared](./cli-options.md#shared-options), [snippet](./cli-options.md#snippet-options), [source generator](./cli-options.md#source-generator-options), [suppress warning](./cli-options.md#suppress-warning-options), [verbosity](./cli-options.md#verbosity-options), [version](./cli-options.md#version-options), [workspace](./cli-options.md#workspace-options) - ### test Compile and test Scala code. diff --git a/website/docs/reference/scala-command/runner-specification.md b/website/docs/reference/scala-command/runner-specification.md index 142d2f7be3..65a8d4725c 100644 --- a/website/docs/reference/scala-command/runner-specification.md +++ b/website/docs/reference/scala-command/runner-specification.md @@ -3889,568 +3889,6 @@ Aliases: `--fmt-version` --- -## `scalafix` command -**SHOULD have for Scala Runner specification.** - -Fixes Scala code according to scalafix rules. - -`scalafix` is used to check project code or rewrite it under the hood with use of specified rules. - -The `.scalafix.conf` configuration file is optional. -Default configuration values will be assumed by Scala CLI. - -All standard Scala CLI inputs are accepted, but only Scala sources will be refactored (.scala and .sc files). - -For detailed documentation refer to our website: https://scala-cli.virtuslab.org/docs/commands/scalafix - -### MUST have options - -**--power** - -Allows to use restricted & experimental features - -**--dependency** - -Add dependencies - -Aliases: `--dep` - -**--compile-only-dependency** - -Add compile-only dependencies - -Aliases: `--compile-dep` ,`--compile-lib` - -**--compiler-plugin** - -Add compiler plugin dependencies - -Aliases: `-P` ,`--plugin` - -**--scala-version** - -Set the Scala version (3.4.0 by default) - -Aliases: `-S` ,`--scala` - -**--scala-binary-version** - -Set the Scala binary version - -Aliases: `-B` ,`--scala-binary` ,`--scala-bin` - -**--extra-jars** - -Add extra JARs and compiled classes to the class path - -Aliases: `--jar` ,`--jars` ,`--extra-jar` ,`--class` ,`--extra-class` ,`--classes` ,`--extra-classes` ,`-classpath` ,`-cp` ,`--classpath` ,`--class-path` ,`--extra-class-path` - -**--resource-dirs** - -Add a resource directory - -Aliases: `--resource-dir` - -**--with-compiler** - -Allows to include the Scala compiler artifacts on the classpath. - -Aliases: `--with-scala-compiler` ,`-with-compiler` - -**--compilation-output** - -Copy compilation results to output directory using either relative or absolute path - -Aliases: `-d` ,`--output-directory` ,`--destination` ,`--compile-output` ,`--compile-out` - -### SHOULD have options - -**--js** - -Enable Scala.js. To show more options for Scala.js pass `--help-js` - -**--js-version** - -The Scala.js version (1.15.0 by default). - -**--js-mode** - -The Scala.js mode, for `fastLinkJS` use one of [`dev`, `fastLinkJS` or `fast`], for `fullLinkJS` use one of [`release`, `fullLinkJS`, `full`] - -**--js-module-kind** - -The Scala.js module kind: commonjs/common, esmodule/es, nomodule/none - -**--js-check-ir** - - - -**--js-emit-source-maps** - -Emit source maps - -**--js-source-maps-path** - -Set the destination path of source maps - -**--js-dom** - -Enable jsdom - -**--js-header** - -A header that will be added at the top of generated .js files - -**--js-es-version** - -The Scala.js ECMA Script version: es5_1, es2015, es2016, es2017, es2018, es2019, es2020, es2021 - -**--native** - -Enable Scala Native. To show more options for Scala Native pass `--help-native` - -**--native-version** - -Set the Scala Native version (0.4.17 by default). - -**--native-mode** - -Set Scala Native compilation mode - -**--native-lto** - -Link-time optimisation mode - -**--native-gc** - -Set the Scala Native garbage collector - -**--native-linking** - -Extra options passed to `clang` verbatim during linking - -**--native-compile** - -List of compile options - -**--native-target** - -Build target type - -**--embed-resources** - -Embed resources into the Scala Native binary (can be read with the Java resources API) - -**--repository** - -Add repositories for dependency resolution. - -Accepts predefined repositories supported by Coursier (like `sonatype:snapshots` or `m2Local`) or a URL of the root of Maven repository - -Aliases: `-r` ,`--repo` - -**--debug** - -Turn debugging on - -**--debug-port** - -Debug port (5005 by default) - -**--debug-mode** - -Debug mode (attach by default) - -**--java-home** - -Set the Java home directory - -**--jvm** - -Use a specific JVM, such as `14`, `adopt:11`, or `graalvm:21`, or `system` - -Aliases: `-j` - -**--javac-plugin** - -Javac plugin dependencies or files - -**--javac-option** - -Javac options - -Aliases: `--javac-opt` - -**--script-snippet** - -Allows to execute a passed string as a Scala script - -**--execute-script** - -A synonym to --script-snippet, which defaults the sub-command to `run` when no sub-command is passed explicitly - -Aliases: `-e` ,`--execute-scala-script` ,`--execute-sc` - -**--scala-snippet** - -Allows to execute a passed string as Scala code - -**--extra-compile-only-jars** - -Add extra JARs in the compilaion class path. Mainly using to run code in managed environments like Spark not to include certain depenencies on runtime ClassPath. - -Aliases: `--compile-only-jar` ,`--compile-only-jars` ,`--extra-compile-only-jar` - -**--extra-source-jars** - -Add extra source JARs - -Aliases: `--source-jar` ,`--source-jars` ,`--extra-source-jar` - -**--platform** - -Specify platform - -**--semantic-db** - -Generate SemanticDBs - -Aliases: `--semanticdb` - -**--semantic-db-target-root** - -SemanticDB target root (default to the compiled classes destination directory) - -Aliases: `--semanticdb-target-root` ,`--semanticdb-targetroot` - -**--semantic-db-source-root** - -SemanticDB source root (default to the project root directory) - -Aliases: `--semanticdb-source-root` ,`--semanticdb-sourceroot` - -**--check** - -Check if sources are well organized - -
- -### Implementantation specific options - - - -**--usage** - -Print usage and exit - -**--help** - -Print help message and exit - -Aliases: `-h` ,`-help` - -**--help-full** - -Print help message, including hidden options, and exit - -Aliases: `--full-help` ,`-help-full` ,`-full-help` - -**--suppress-directives-in-multiple-files-warning** - -Suppress warnings about using directives in multiple files - -Aliases: `--suppress-warning-directives-in-multiple-files` - -**--suppress-outdated-dependency-warning** - -Suppress warnings about outdated dependencies in project - -**--suppress-experimental-feature-warning** - -Suppress warnings about using experimental features - -Aliases: `--suppress-experimental-warning` - -**--verbose** - -Increase verbosity (can be specified multiple times) - -Aliases: `-v` ,`-verbose` - -**--interactive** - -Interactive mode - -Aliases: `-i` - -**--actions** - -Enable actionable diagnostics - -**--quiet** - -Decrease logging verbosity - -Aliases: `-q` - -**--progress** - -Use progress bars - -**--js-no-opt** - -Disable optimalisation for Scala.js, overrides `--js-mode` - -**--js-allow-big-ints-for-longs** - -Primitive Longs *may* be compiled as primitive JavaScript bigints - -**--js-avoid-classes** - -Avoid class'es when using functions and prototypes has the same observable semantics. - -**--js-avoid-lets-and-consts** - -Avoid lets and consts when using vars has the same observable semantics. - -**--js-module-split-style** - -The Scala.js module split style: fewestmodules, smallestmodules, smallmodulesfor - -**--js-small-module-for-package** - -Create as many small modules as possible for the classes in the passed packages and their subpackages. - -**--js-linker-path** - -Path to the Scala.js linker - -**--js-cli-version** - -Scala.js CLI version to use for linking (1.15.0.1 by default). - -**--js-cli-java-arg** - -Scala.js CLI Java options - -**--js-cli-on-jvm** - -Whether to run the Scala.js CLI on the JVM or using a native executable - -**--native-clang** - -Path to the Clang command - -**--native-clangpp** - -Path to the Clang++ command - -**--native-linking-defaults** - -Use default linking settings - -**--native-compile-defaults** - -Use default compile options - -**--bloop-bsp-protocol** - -Protocol to use to open a BSP connection with Bloop - -**--bloop-bsp-socket** - -Socket file to use to open a BSP connection with Bloop - -**--bloop-host** - -Host the compilation server should bind to - -**--bloop-port** - -Port the compilation server should bind to (pass `-1` to pick a random port) - -**--bloop-daemon-dir** - -Daemon directory of the Bloop daemon (directory with lock, pid, and socket files) - -**--bloop-version** - -If Bloop isn't already running, the version we should start - -**--bloop-bsp-timeout** - -Maximum duration to wait for the BSP connection to be opened - -**--bloop-bsp-check-period** - -Duration between checks of the BSP connection state - -**--bloop-startup-timeout** - -Maximum duration to wait for the compilation server to start up - -**--bloop-default-java-opts** - -Include default JVM options for Bloop - -**--bloop-java-opt** - -Pass java options to use by Bloop server - -**--bloop-global-options-file** - -Bloop global options file - -**--bloop-jvm** - -JVM to use to start Bloop (e.g. 'system|11', 'temurin:17', …) - -**--bloop-working-dir** - -Working directory for Bloop, if it needs to be started - -**--server** - -Enable / disable usage of Bloop compilation server. Bloop is used by default so use `--server=false` to disable it. Disabling compilation server allows to test compilation in more controlled mannter (no caching or incremental compiler) but has a detrimental effect of performance. - -**--scalac-option** - -Add a `scalac` option. Note that options starting with `-g`, `-language`, `-opt`, `-P`, `-target`, `-V`, `-W`, `-X`, and `-Y` are assumed to be Scala compiler options and don't require to be passed after `-O` or `--scalac-option`. - -Aliases: `--scala-opt` ,`-O` ,`--scala-option` - -**--jvm-index** - -JVM index URL - -**--jvm-index-os** - -Operating system to use when looking up in the JVM index - -**--jvm-index-arch** - -CPU architecture to use when looking up in the JVM index - -**--bsp-debug-port** - -Port for BSP debugging - -**--ttl** - -Specify a TTL for changing dependencies, such as snapshots - -**--cache** - -Set the coursier cache location - -**--coursier-validate-checksums** - -Enable checksum validation of artifacts downloaded by coursier - -**--workspace** - -Directory where .scala-build is written - -**--scalac-help** - -Show help for scalac. This is an alias for --scalac-option -help - -Aliases: `--help-scalac` - -**--scalac-verbose** - -Turn verbosity on for scalac. This is an alias for --scalac-option -verbose - -Aliases: `--verbose-scalac` - -**--execute-scala** - -A synonym to --scala-snippet, which defaults the sub-command to `run` when no sub-command is passed explicitly - -**--java-snippet** - -Allows to execute a passed string as Java code - -**--execute-java** - -A synonym to --scala-snippet, which defaults the sub-command to `run` when no sub-command is passed explicitly - -**--scala-library** - - - -**--java** - -Do not add dependency to Scala Standard library. This is useful, when Scala CLI works with pure Java projects. - -**--runner** - -Should include Scala CLI runner on the runtime ClassPath. Runner is added by default for application running on JVM using standard Scala versions. Runner is used to make stack traces more readable in case of application failure. - -**--default-forbidden-directories** - - - -**--forbid** - - - -**--help-js** - -Show options for ScalaJS - -**--help-native** - -Show options for ScalaNative - -**--help-scaladoc** - -Show options for Scaladoc - -Aliases: `--help-doc` ,`--scaladoc-help` ,`--doc-help` - -**--help-repl** - -Show options for Scala REPL - -Aliases: `--repl-help` - -**--help-scalafmt** - -Show options for Scalafmt - -Aliases: `--help-fmt` ,`--scalafmt-help` ,`--fmt-help` - -**--strict-bloop-json-check** - - - -**--with-toolkit** - -Add toolkit to classPath (not supported in Scala 2.12), 'default' version for Scala toolkit: 0.2.1, 'default' version for typelevel toolkit: 0.1.20 - -Aliases: `--toolkit` - -**--exclude** - -Exclude sources - -**--scalafix-conf** - -Custom path to the scalafix configuration file. - -**--scalafix-arg** - -Pass an argument to scalafix. - -**--rules** - -Pass rules directly to scalafix. - -
- ---- - ## `test` command **SHOULD have for Scala Runner specification.**