final class Diagnostics extends AnyRef
Converts diagnostics from the build server and Scalameta parser into LSP diagnostics.
BSP diagnostics have different semantics from LSP diagnostics with regards to how they
are published. BSP diagnostics can be accumulated when reset=false, meaning the client
(Metals) is responsible for aggregating multiple build/publishDiagnostics notifications
into a single textDocument/publishDiagnostics notification.
Another challenge is to consolidate syntax errors on every keystroke with type errors on batch compile because positions get stale in batch compile errors as you type new syntax errors. To solve this problem we use token edit distance the same way we support goto definition in stale buffers.
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- Diagnostics
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Instance Constructors
- new Diagnostics(buffers: Buffers, languageClient: LanguageClient, statistics: StatisticsConfig, workspace: Option[io.AbsolutePath], trees: Trees)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- def didChange(path: io.AbsolutePath): Unit
- def didDelete(path: io.AbsolutePath): Unit
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hasCompilationErrors(buildTarget: BuildTargetIdentifier): Boolean
- def hasDiagnosticError(path: io.AbsolutePath): Boolean
- def hasSyntaxError(path: io.AbsolutePath): Boolean
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def onBuildPublishDiagnostics(params: PublishDiagnosticsParams): Unit
- def onClose(path: io.AbsolutePath): Unit
- def onFinishCompileBuildTarget(report: CompileReport, statusCode: StatusCode): Unit
- def onPublishDiagnostics(path: io.AbsolutePath, diagnostics: Seq[Diagnostic], isReset: Boolean): Unit
- def onStartCompileBuildTarget(target: BuildTargetIdentifier): Unit
- def onSyntaxError(path: io.AbsolutePath, diags: List[Diagnostic]): Unit
- def reset(paths: Seq[io.AbsolutePath]): Unit
- def reset(): Unit
- def resetAmmoniteScripts(): Unit
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)