Packages

c

scala.meta.internal.metals

MetalsHttpClient

final class MetalsHttpClient extends DelegatingLanguageClient

Editor client that implement dialogue UIs like window/showMessageRequest.

Goals:

- enable editor plugin authors access all functionality within Metals even if the editor plugin only supports a limited set of LSP endpoints.

Non-goals:

- Pretty UI, the interface only needs to be functional, not look nice. - Become permanent/primary interface for ordinary users. The end goal is to enable users to interact with Metals from their editor, not via a browser.

The most popular LSP clients in editors like Vim currently have limited support so that endpoints like window/showMessageRequest are ignored, with no workaround for users to interact with the Metals language server. This http client allows users in those editors to trigger server commands and respond to UI dialogues through their browser instead.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MetalsHttpClient
  2. DelegatingLanguageClient
  3. MetalsLanguageClient
  4. DecorationClient
  5. TreeViewClient
  6. LanguageClient
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MetalsHttpClient(folders: List[io.AbsolutePath], url: () => String, initial: MetalsLanguageClient, triggerReload: () => Unit, icons: Icons, clientConfig: ClientConfiguration)(implicit ec: ExecutionContext)

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. def applyEdit(params: ApplyWorkspaceEditParams): CompletableFuture[ApplyWorkspaceEditResponse]
    Definition Classes
    DelegatingLanguageClient → LanguageClient
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  7. def completeCommand(exchange: HttpServerExchange): Unit
  8. def configuration(configurationParams: ConfigurationParams): CompletableFuture[java.util.List[AnyRef]]
    Definition Classes
    DelegatingLanguageClient → LanguageClient
  9. def createProgress(params: WorkDoneProgressCreateParams): CompletableFuture[Void]
    Definition Classes
    DelegatingLanguageClientMetalsLanguageClient → LanguageClient
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  13. def globalTracePath(protocolName: String, description: String): Option[(String, io.AbsolutePath)]
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def logMessage(message: MessageParams): Unit
    Definition Classes
    MetalsHttpClientDelegatingLanguageClient → LanguageClient
  17. def logTrace(arg0: LogTraceParams): Unit
    Definition Classes
    LanguageClient
    Annotations
    @JsonNotification()
  18. def metalsExecuteClientCommand(params: ExecuteCommandParams): Unit
  19. final def metalsInputBox(params: MetalsInputBoxParams): CompletableFuture[Option[MetalsInputBoxResult]]

    Opens an input box to ask the user for input.

    Opens an input box to ask the user for input.

    returns

    the user provided input or None if request was cancelled. The future can be cancelled, meaning the input box should be dismissed in the editor.

    Definition Classes
    MetalsLanguageClient
  20. def metalsPublishDecorations(params: PublishDecorationsParams): Unit
  21. final def metalsQuickPick(params: MetalsQuickPickParams): CompletableFuture[Option[MetalsQuickPickResult]]

    Opens an menu to ask the user to pick one of the suggested options.

    Opens an menu to ask the user to pick one of the suggested options.

    returns

    the user provided pick or None if request was cancelled. The future can be cancelled, meaning the input box should be dismissed in the editor.

    Definition Classes
    MetalsLanguageClient
  22. def metalsStatus(params: MetalsStatusParams): Unit

    Display message in the editor "status bar", which should be displayed somewhere alongside the buffer.

    Display message in the editor "status bar", which should be displayed somewhere alongside the buffer.

    The status bar should always be visible to the user.

    - VS Code: https://code.visualstudio.com/docs/extensionAPI/vscode-api#StatusBarItem

    Definition Classes
    MetalsHttpClientDelegatingLanguageClientMetalsLanguageClient
  23. def metalsTreeViewDidChange(params: TreeViewDidChangeParams): Unit
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  27. def notifyProgress(params: ProgressParams): Unit
    Definition Classes
    DelegatingLanguageClientMetalsLanguageClient → LanguageClient
  28. def publishDiagnostics(diagnostics: PublishDiagnosticsParams): Unit
    Definition Classes
    DelegatingLanguageClient → LanguageClient
  29. def rawMetalsInputBox(params: MetalsInputBoxParams): CompletableFuture[RawMetalsInputBoxResult]

    Opens an input box to ask the user for input.

    Opens an input box to ask the user for input. This method is used to deal with gson and existing extension protocol.

    returns

    the user provided input.

    Definition Classes
    DelegatingLanguageClientMetalsLanguageClient
  30. def rawMetalsQuickPick(params: MetalsQuickPickParams): CompletableFuture[RawMetalsQuickPickResult]

    Opens an menu to ask the user to pick one of the suggested options.

    Opens an menu to ask the user to pick one of the suggested options. This method is used to deal with gson and existing extension protocol.

    returns

    the user provided pick.

    Definition Classes
    DelegatingLanguageClientMetalsLanguageClient
  31. def refreshCodeLenses(): CompletableFuture[Void]
    Definition Classes
    LanguageClient
    Annotations
    @JsonRequest()
  32. def refreshDiagnostics(): CompletableFuture[Void]
    Definition Classes
    LanguageClient
    Annotations
    @JsonRequest()
  33. def refreshInlayHints(): CompletableFuture[Void]
    Definition Classes
    DelegatingLanguageClient → LanguageClient
  34. def refreshInlineValues(): CompletableFuture[Void]
    Definition Classes
    LanguageClient
    Annotations
    @JsonRequest()
  35. def refreshModel(): CompletableFuture[Unit]
  36. def refreshSemanticTokens(): CompletableFuture[Void]
    Definition Classes
    LanguageClient
    Annotations
    @JsonRequest()
  37. def registerCapability(params: RegistrationParams): CompletableFuture[Void]
    Definition Classes
    DelegatingLanguageClient → LanguageClient
  38. def renderHtml: String
  39. def showDocument(arg0: ShowDocumentParams): CompletableFuture[ShowDocumentResult]
    Definition Classes
    LanguageClient
    Annotations
    @JsonRequest()
  40. def showMessage(params: MessageParams): Unit
    Definition Classes
    MetalsHttpClientDelegatingLanguageClient → LanguageClient
  41. final def showMessage(messageType: MessageType, message: String): Unit
    Definition Classes
    MetalsLanguageClient
  42. def showMessageRequest(params: ShowMessageRequestParams): CompletableFuture[MessageActionItem]
    Definition Classes
    MetalsHttpClientDelegatingLanguageClient → LanguageClient
  43. def showMessagesFormatted(html: HtmlBuilder): Unit
  44. def shutdown(): Unit
  45. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  46. def telemetryEvent(value: Any): Unit
    Definition Classes
    DelegatingLanguageClient → LanguageClient
  47. def toString(): String
    Definition Classes
    AnyRef → Any
  48. def tracePath(protocolName: String, workspace: io.AbsolutePath, description: String): Option[(String, io.AbsolutePath)]
  49. var underlying: MetalsLanguageClient
    Definition Classes
    DelegatingLanguageClient
  50. def unregisterCapability(params: UnregistrationParams): CompletableFuture[Void]
    Definition Classes
    DelegatingLanguageClient → LanguageClient
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  53. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  54. def workspaceFolders(): CompletableFuture[java.util.List[WorkspaceFolder]]
    Definition Classes
    LanguageClient
    Annotations
    @JsonRequest()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from MetalsLanguageClient

Inherited from DecorationClient

Inherited from TreeViewClient

Inherited from LanguageClient

Inherited from AnyRef

Inherited from Any

Ungrouped