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

scala.cli.commands.shared.ScalacExtraOptions.scala Maven / Gradle / Ivy

There is a newer version: 1.5.0
Show newest version
package scala.cli.commands.shared

import caseapp.*
import com.github.plokhotnyuk.jsoniter_scala.core.*
import com.github.plokhotnyuk.jsoniter_scala.macros.*

import scala.cli.commands.tags

/** Scala CLI options which aren't strictly scalac options, but directly involve the Scala compiler
  * in some way.
  */
// format: off
final case class ScalacExtraOptions(
  @Group(HelpGroup.Scala.toString)
  @HelpMessage("Show help for scalac. This is an alias for --scalac-option -help")
  @Name("helpScalac")
  @Tag(tags.inShortHelp)
    scalacHelp: Boolean = false,

  @Group(HelpGroup.Scala.toString)
  @HelpMessage("Turn verbosity on for scalac. This is an alias for --scalac-option -verbose")
  @Name("verboseScalac")
  @Tag(tags.inShortHelp)
    scalacVerbose: Boolean = false,
)
// format: on

object ScalacExtraOptions {
  implicit lazy val parser: Parser[ScalacExtraOptions]            = Parser.derive
  implicit lazy val help: Help[ScalacExtraOptions]                = Help.derive
  implicit lazy val jsonCodec: JsonValueCodec[ScalacExtraOptions] = JsonCodecMaker.make
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy