Sign Up

LspServer

Constructors

Constructor

new LspServer(
   transport: HttpTransport,
   languageId: string,
   pathToProject: string): LspServer;

Parameters:

  • transport HttpTransport
  • languageId string
  • pathToProject string

Returns:

  • LspServer

Methods

[Symbol.asyncDispose]()

[Symbol.asyncDispose](): Promise<void>;

Returns:

  • Promise<void>

completions()

completions(
   uri: string,
   position: LspPosition,
   options: LspCompletionsOptions = {}): Promise<LspCompletionList>;

Parameters:

  • uri string
  • position LspPosition
  • options LspCompletionsOptions = {}

Returns:

  • Promise<LspCompletionList>

didClose()

didClose(uri: string): Promise<void>;

Parameters:

  • uri string

Returns:

  • Promise<void>

didOpen()

didOpen(uri: string): Promise<void>;

Parameters:

  • uri string

Returns:

  • Promise<void>

documentSymbols()

documentSymbols(uri: string): Promise<LspSymbol[]>;

Parameters:

  • uri string

Returns:

  • Promise<LspSymbol[]>

stop()

stop(): Promise<void>;

Returns:

  • Promise<void>

workspaceSymbols()

workspaceSymbols(query: string): Promise<LspSymbol[]>;

Parameters:

  • query string

Returns:

  • Promise<LspSymbol[]>

LspService

Sandbox LSP namespace.

Every call is scoped by languageId + pathToProject: the daemon keys one language server per pair, starting it on demand and reusing it afterwards. start() is therefore about controlling WHEN the server boots (and surfacing LSP_SERVER_UNAVAILABLE when the image lacks it), not a precondition the other calls can skip — they answer LSP_NOT_STARTED rather than starting one implicitly.

Constructors

Constructor

new LspService(transport: HttpTransport): LspService;

Parameters:

  • transport HttpTransport

Returns:

  • LspService

Methods

start()

start(languageId: string, pathToProject: string): Promise<LspServer>;

Start the language server for a project.

Parameters:

  • languageId string
  • pathToProject string

Returns:

  • Promise<LspServer>

LspCompletionsOptions

Properties:

  • context? toolbox.CompletionRequest['context']

LspCompletionItem

type LspCompletionItem = {
  [key: string]: unknown
} & Omit<toolbox.CompletionItem, 'documentation'> & {
  documentation?: unknown
}

One completion candidate. Shape follows the language server, so the daemon passes items through with only isIncomplete/items normalized.


LspCompletionList

type LspCompletionList = Omit<toolbox.CompletionList, 'items'> & { items: LspCompletionItem[] }

LspLocation

type LspLocation = toolbox.SymbolLocation

LspPosition

type LspPosition = toolbox.SymbolPosition

A zero-based LSP position.


LspRange

type LspRange = toolbox.SymbolRange

LspSymbol

type LspSymbol = toolbox.SymbolInfo

One symbol from documentSymbols() / workspaceSymbols().