Packages

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
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Diagnostics
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Diagnostics(buildTargets: BuildTargets, buffers: Buffers, languageClient: LanguageClient, statistics: StatisticsConfig, config: () ⇒ UserConfiguration)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. def didChange(path: io.AbsolutePath): Unit
  7. def didDelete(path: io.AbsolutePath): Unit
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hasSyntaxError(path: io.AbsolutePath): Boolean
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. def onBuildPublishDiagnostics(params: PublishDiagnosticsParams): Unit
  19. def onFinishCompileBuildTarget(target: BuildTargetIdentifier): Unit
  20. def onNoSyntaxError(path: io.AbsolutePath): Unit
  21. def onPublishDiagnostics(path: io.AbsolutePath, diagnostics: Seq[Diagnostic], isReset: Boolean): Unit
  22. def onStartCompileBuildTarget(target: BuildTargetIdentifier): Unit
  23. def onSyntaxError(path: io.AbsolutePath, d: Diagnostic): Unit
  24. def onSyntaxError(path: io.AbsolutePath, pos: meta.Position, shortMessage: String): Unit
  25. def reset(): Unit
  26. def resetAmmoniteScripts(): Unit
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped