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

mdoc.Main.scala Maven / Gradle / Ivy

The newest version!
package mdoc

import java.io.PrintStream
import java.nio.file.Path
import metaconfig.Configured
import scala.meta.internal.io.PathIO
import scala.meta.io.AbsolutePath
import mdoc.internal.cli.MainOps
import mdoc.internal.cli.Settings
import mdoc.internal.io.ConsoleReporter
import mdoc.internal.markdown.Markdown

object Main {

  def main(args: Array[String]): Unit = {
    val code = process(args, System.out, PathIO.workingDirectory.toNIO)
    if (code != 0) sys.exit(code)
  }

  def process(args: Array[String], out: PrintStream, cwd: Path): Int = {
    process(args, new ConsoleReporter(out), cwd)
  }
  def process(args: Array[String], reporter: Reporter, cwd: Path): Int = {
    val base = Settings.default(AbsolutePath(cwd))
    val ctx = Settings.fromCliArgs(args.toList, base)
    MainOps.process(ctx, reporter)
  }

  def process(settings: MainSettings): Int = {
    MainOps.process(Configured.ok(settings.settings), settings.reporter)
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy