Package smile.util.lsp


package smile.util.lsp
LSP (Language Server Protocol) client built on top of LSP4J.

The main entry point is LanguageClient, which manages the full lifecycle of a language server process and exposes high-level navigation and search operations.

Supported operations

  • goToDefinition — find where a symbol is defined
  • findReferences — find all references to a symbol
  • hover — get documentation / type info for a symbol
  • documentSymbol — list all symbols in a file
  • workspaceSymbol — search for symbols across the workspace
  • goToImplementation — find implementations of an interface or abstract method
  • prepareCallHierarchy — resolve the call-hierarchy item at a position
  • incomingCalls — find all callers of a function
  • outgoingCalls — find all callees of a function

All position parameters are 1-based

The line and character parameters accepted by every operation use the same 1-based numbering displayed in editors (e.g. line 1, column 1 is the very first character of a file). The client transparently converts them to the 0-based coordinates required by the LSP specification.

  • Class
    Description
    Represents one edge in a call hierarchy graph — either an incoming call (a caller that invokes the focus item) or an outgoing call (a callee invoked by the focus item).
    Represents a single item in a call hierarchy — a named function or method that can serve as the focus of LanguageService.incomingCalls(smile.util.lsp.CallHierarchyItem) or LanguageService.outgoingCalls(smile.util.lsp.CallHierarchyItem) queries.
    An LSP (Language Server Protocol) service that manages the full lifecycle of a language server process and exposes high-level navigation and search operations.
    Unchecked exception thrown when an LSP request fails or times out.
    A source location returned by LSP operations — a file URI together with the start and end positions of the relevant text range.
    A 1-based position inside a text document, as displayed in editors.
    Represents a named symbol (class, method, field, variable, …) inside a document or workspace, as returned by the documentSymbol and workspaceSymbol operations.
    A no-op implementation of the LSP4J client interface.