v0.0.0-...-ec1a81b Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2024 License: BSD-3-Clause Imports: 28 Imported by: 0



Package lsprpc implements a jsonrpc2.StreamServer that may be used to serve the LSP on a jsonrpc2 channel.



This section is empty.


This section is empty.


func ConnectToRemote

func ConnectToRemote(ctx context.Context, addr string) (net.Conn, error)

func ExecuteCommand

func ExecuteCommand(ctx context.Context, addr string, id string, request, result any) error

ExecuteCommand connects to the named server, sends it a workspace/executeCommand request (with command 'id' and arguments JSON encoded in 'request'), and populates the result variable.

func NewForwarder

func NewForwarder(rawAddr string, argFunc func(network, address string) []string) (jsonrpc2.StreamServer, error)

NewForwarder creates a new forwarder (a jsonrpc2.StreamServer), ready to forward connections to the remote server specified by rawAddr. If provided and rawAddr indicates an 'automatic' address (starting with 'auto;'), argFunc may be used to start a remote server for the auto-discovered address.

func NewStreamServer

func NewStreamServer(cache *cache.Cache, daemon bool, optionsFunc func(*settings.Options)) jsonrpc2.StreamServer

NewStreamServer creates a StreamServer using the shared cache. If withTelemetry is true, each session is instrumented with telemetry that records RPC statistics.

func ParseAddr

func ParseAddr(listen string) (network string, address string)

ParseAddr parses the address of a gopls remote. TODO(rFindley): further document this syntax, and allow URI-style remote addresses such as "auto://...".

func QueryServerState

func QueryServerState(ctx context.Context, addr string) (any, error)

QueryServerState returns a JSON-encodable struct describing the state of the named server.


This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL