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

scala.meta.internal.metap.DiagnosticPrinter.scala Maven / Gradle / Ivy

There is a newer version: 4.1.6
Show newest version
package scala.meta.internal.metap

import scala.math.Ordering
import scala.meta.internal.semanticdb._
import scala.meta.internal.semanticdb.Diagnostic._
import scala.meta.internal.semanticdb.Diagnostic.Severity._

trait DiagnosticPrinter extends BasePrinter with RangePrinter {
  def pprint(diag: Diagnostic): Unit = {
    opt(diag.range, " ")(pprint)
    diag.severity match {
      case ERROR => out.print("[error] ")
      case WARNING => out.print("[warning] ")
      case INFORMATION => out.print("[info] ")
      case HINT => out.print("[hint] ")
      case UNKNOWN_SEVERITY | Severity.Unrecognized(_) => out.print("[] ")
    }
    out.println(diag.message)
  }

  implicit def diagOrder: Ordering[Diagnostic] = {
    Ordering.by(d => (d.range, d.severity.value, d.message))
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy