Packages

package lsp

Type Members

  1. class DelegatingScalaService extends ScalaLspService

    Delegating Scala LSP service which forwards all requests to the underlying instance.

    Delegating Scala LSP service which forwards all requests to the underlying instance. This is needed to support lsp4j org.eclipse.lsp4j.jsonrpc.services.JsonDelegate. Value returned by method with that annotation is used to determine which methods are supported by the server. We can't initialize it to null because then no lsp methods would be supported. Instead, we initialize it to a dummy instance which is then replaced.

  2. trait LanguageServer extends AnyRef

    Modified version of org.eclipse.lsp4j.services.LanguageServer that has adjusted types for already existing Metals methods.

    Modified version of org.eclipse.lsp4j.services.LanguageServer that has adjusted types for already existing Metals methods. Moreover, this interface has only one delegate method which provides exactly the same methods as current scala.meta.metals.internal.MetalLanguageServer does.

    Delegation of LSP request allows us to delay creation of TextDocumentAndWorkspaceService (which is MetalsLanguageServer under the hood) until initialize is called. Previously, we were creating it eagerly with many services set to null because we didn't have access to the client, workspace and configuration yet.

  3. trait MetalsService extends AnyRef

    Interface which describes metals specific LSP requests and notifications which are implemented by Metals.

  4. trait ScalaLspService extends TextDocumentService with WorkspaceService with MetalsService with WindowService
  5. trait TextDocumentService extends AnyRef

    Interface which describes text document LSP requests and notifications which are implemented by Metals.

    Interface which describes text document LSP requests and notifications which are implemented by Metals.

    Based on org.eclipse.lsp4j.services.TextDocumentService with some return types changed.

  6. trait WindowService extends AnyRef
  7. trait WorkspaceService extends AnyRef

    Interface which describes workspace LSP requests and notifications which are implemented by Metals.

    Interface which describes workspace LSP requests and notifications which are implemented by Metals.

    Based on org.eclipse.lsp4j.services.WorkspaceService with some return types changed.

Ungrouped