lspserv

package
v0.0.0-...-f687133 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2021 License: MIT Imports: 11 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Connection

type Connection interface {
	PublishDiagnostics(params lsp.PublishDiagnosticsParams) error
}

type HandleLspRequests

type HandleLspRequests struct {
	// contains filtered or unexported fields
}

func NewLspRequests

func NewLspRequests(handler Handler) *HandleLspRequests

func (*HandleLspRequests) Handle

func (h *HandleLspRequests) Handle(ctx context.Context, conn *jsonrpc2.Conn, req *jsonrpc2.Request)

func (*HandleLspRequests) HandleInternal

func (h *HandleLspRequests) HandleInternal(ctx context.Context, conn jsonrpc2.JSONRPC2, req *jsonrpc2.Request) (result interface{}, err error)

type Handler

type Handler interface {
	Reset() error
	ResetCaches(lock bool)
	ShutDown()
	HandleHover(params lsp.TextDocumentPositionParams, conn Connection) (*lsp.Hover, error)
	HandleGotoDefinition(params lsp.TextDocumentPositionParams, conn Connection) (*lsp.Location, error)
	HandleGotoDeclaration(params lsp.DeclarationOptions, conn Connection) (*lsp.Location, error)
	HandleGotoTypeDefinition(params lsp.TextDocumentPositionParams, conn Connection) (*lsp.Location, error)
	HandleGotoImplementation(params lsp.TextDocumentPositionParams, conn Connection) (*lsp.Location, error)
	HandleFindReferences(params lsp.ReferenceParams, conn Connection) ([]*lsp.Location, error)
	HandleSymbol(params lsp.DocumentSymbolParams, conn Connection) ([]*lsp.DocumentSymbol, error) // Used for outline
	HandleLinkedEditingRange(params lsp.LinkedEditingRangeParams, conn Connection) (*lsp.LinkedEditingRanges, error)
	HandleCompletion(params lsp.CompletionParams, conn Connection) (*lsp.CompletionList, error) // Intellisense when pressing '.'.
	HandleCompletionItemResolve(params lsp.CompletionItem, conn Connection) (*lsp.CompletionItem, error)
	HandleSignatureHelp(params lsp.TextDocumentPositionParams, conn Connection) (*lsp.SignatureHelp, error)
	HandleFormatting(params lsp.DocumentFormattingParams, conn Connection) ([]*lsp.TextEdit, error)
	// HandleRangeFormatting
	HandleHighlights(params lsp.DocumentHighlightParams, conn Connection) ([]*lsp.DocumentHighlight, error)
	HandleCodeAction(params lsp.CodeActionParams, conn Connection) (*lsp.CodeAction, error)
	HandleCodeActionResolve(params lsp.CodeAction, conn Connection) (*lsp.CodeAction, error)
	HandleRename(params lsp.RenameParams) (*lsp.WorkspaceEdit, error)
	HandleSemanticTokensFull(params lsp.SemanticTokensParams, conn Connection) (*lsp.SemanticTokens, error)

	/**
	 * A code lens represents a command that should be shown along with
	 * source text, like the number of references, a way to run tests, etc.
	 *
	 * A code lens is _unresolved_ when no command is associated to it. For
	 * performance reasons the creation of a code lens and resolving should be done
	 * in two stages.
	 */
	HandleCodeLens(params lsp.CodeLensParams, conn Connection) ([]*lsp.CodeLens, error)
	HandleCodeLensResolve(params lsp.CodeLens, conn Connection) (*lsp.CodeLens, error)

	// File System
	HandleDidChangeWatchedFiles(params lsp.DidChangeWatchedFilesParams, conn Connection) error
	HandleDidOpen(params lsp.DidOpenTextDocumentParams, conn Connection) error
	HandleDidChange(params lsp.DidChangeTextDocumentParams, conn Connection) error
	HandleDidClose(params lsp.DidCloseTextDocumentParams, conn Connection) error
	HandleWillSave(params lsp.WillSaveTextDocumentParams, conn Connection) error
	HandleDidSave(params lsp.DidSaveTextDocumentParams, conn Connection) error
}

type SendOut

type SendOut struct {
	// contains filtered or unexported fields
}

func NewSendOut

func NewSendOut(conn jsonrpc2.JSONRPC2, ctx context.Context) *SendOut

func (*SendOut) PublishDiagnostics

func (s *SendOut) PublishDiagnostics(params lsp.PublishDiagnosticsParams) error

type Service

type Service interface {
	RunUntilClose(rwc io.ReadWriteCloser, logOutput bool) error
}

func NewService

func NewService(implementationHandler Handler) Service

type StdInOutReadWriteCloser

type StdInOutReadWriteCloser struct {
	// contains filtered or unexported fields
}

func (StdInOutReadWriteCloser) Close

func (s StdInOutReadWriteCloser) Close() error

func (StdInOutReadWriteCloser) Read

func (s StdInOutReadWriteCloser) Read(p []byte) (int, error)

func (StdInOutReadWriteCloser) Write

func (s StdInOutReadWriteCloser) Write(p []byte) (int, error)

Jump to

Keyboard shortcuts

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