Help us shape the future of Go! Take the 2026 Go Developer Survey

lspClient

package
v1.13.2 Latest Latest
Warning

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

Go to latest
Published: Nov 2, 2026 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SymbolKindFile          = 1
	SymbolKindModule        = 2
	SymbolKindNamespace     = 3
	SymbolKindPackage       = 4
	SymbolKindClass         = 5
	SymbolKindMethod        = 6
	SymbolKindProperty      = 7
	SymbolKindField         = 8
	SymbolKindConstructor   = 9
	SymbolKindEnum          = 10
	SymbolKindInterface     = 11
	SymbolKindConstant      = 12
	SymbolKindString        = 13
	SymbolKindNumber        = 14
	SymbolKindBoolean       = 15
	SymbolKindArray         = 16
	SymbolKindObject        = 17
	SymbolKindKey           = 18
	SymbolKindNull          = 19
	SymbolKindEnumMember    = 20
	SymbolKindStruct        = 21
	SymbolKindEvent         = 22
	SymbolKindOperator      = 23
	SymbolKindTypeParameter = 24
)

SymbolKind constants (from LSP spec)

View Source
const (
	TextDocumentSyncNone        = 0
	TextDocumentSyncFull        = 1
	TextDocumentSyncIncremental = 2
)

TextDocumentSyncKind constants

View Source
const DefaultTimeout = 30 * time.Second

DefaultTimeout is the default request timeout

Variables

This section is empty.

Functions

func PathFromURI

func PathFromURI(uri string) string

PathFromURI converts a file URI to a path

func URIFromPath

func URIFromPath(path string) string

URIFromPath converts a file path to a file URI

Types

type CallHierarchyIncomingCall

type CallHierarchyIncomingCall struct {
	From       CallHierarchyItem `json:"from"`
	FromRanges []Range           `json:"fromRanges"`
}

CallHierarchyIncomingCall represents an incoming call

type CallHierarchyIncomingCallsParams

type CallHierarchyIncomingCallsParams struct {
	Item CallHierarchyItem `json:"item"`
}

CallHierarchyIncomingCallsParams params for incoming calls

type CallHierarchyItem

type CallHierarchyItem struct {
	Name           string `json:"name"`
	Kind           int    `json:"kind"`
	URI            string `json:"uri"`
	Range          Range  `json:"range"`
	SelectionRange Range  `json:"selectionRange"`
	Detail         string `json:"detail,omitempty"`
}

CallHierarchyItem represents a call hierarchy item

type CallHierarchyOutgoingCall

type CallHierarchyOutgoingCall struct {
	To         CallHierarchyItem `json:"to"`
	FromRanges []Range           `json:"fromRanges"`
}

CallHierarchyOutgoingCall represents an outgoing call

type CallHierarchyOutgoingCallsParams

type CallHierarchyOutgoingCallsParams struct {
	Item CallHierarchyItem `json:"item"`
}

CallHierarchyOutgoingCallsParams params for outgoing calls

type Client

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

Client represents an LSP client connection

func NewClient

func NewClient(serverName string) *Client

NewClient creates a new LSP client

func (*Client) CallHierarchyIncomingCalls

func (c *Client) CallHierarchyIncomingCalls(ctx context.Context, item CallHierarchyItem) ([]CallHierarchyIncomingCall, error)

CallHierarchyIncomingCalls sends a callHierarchy/incomingCalls request

func (*Client) CallHierarchyOutgoingCalls

func (c *Client) CallHierarchyOutgoingCalls(ctx context.Context, item CallHierarchyItem) ([]CallHierarchyOutgoingCall, error)

CallHierarchyOutgoingCalls sends a callHierarchy/outgoingCalls request

func (*Client) Close

func (c *Client) Close() error

Close closes the client connection

func (*Client) ConnectProcess

func (c *Client) ConnectProcess(stdin io.Writer, stdout io.Reader) error

ConnectProcess connects to an LSP server via an existing process

func (*Client) Initialize

func (c *Client) Initialize(ctx context.Context, rootPath string) (*InitializeResult, error)

Initialize initializes the LSP server

func (*Client) Notify

func (c *Client) Notify(ctx context.Context, method string, params any) error

Notify sends a notification (no response expected)

func (*Client) RegisterNotification

func (c *Client) RegisterNotification(method string, handler NotificationHandler)

RegisterNotification registers a handler for a notification

func (*Client) Request

func (c *Client) Request(ctx context.Context, method string, params any, result any) error

Request sends a request and waits for response

func (*Client) RequestWithTimeout

func (c *Client) RequestWithTimeout(ctx context.Context, method string, params any, result any, timeout time.Duration) error

RequestWithTimeout sends a request with a timeout

func (*Client) Shutdown

func (c *Client) Shutdown(ctx context.Context) error

Shutdown sends the shutdown request

func (*Client) TextDocumentChange

func (c *Client) TextDocumentChange(ctx context.Context, uri string, content string, version int) error

TextDocumentChange sends changes to the LSP server

func (*Client) TextDocumentClose

func (c *Client) TextDocumentClose(ctx context.Context, uri string) error

TextDocumentClose closes a document

func (*Client) TextDocumentDefinition

func (c *Client) TextDocumentDefinition(ctx context.Context, uri string, position Position) ([]Location, error)

TextDocumentDefinitions sends a textDocument/definition request

func (*Client) TextDocumentDocumentSymbol

func (c *Client) TextDocumentDocumentSymbol(ctx context.Context, uri string) ([]DocumentSymbol, error)

TextDocumentDocumentSymbol sends a textDocument/documentSymbol request

func (*Client) TextDocumentHover

func (c *Client) TextDocumentHover(ctx context.Context, uri string, position Position) (*Hover, error)

TextDocumentHover sends a textDocument/hover request

func (*Client) TextDocumentImplementation

func (c *Client) TextDocumentImplementation(ctx context.Context, uri string, position Position) ([]Location, error)

TextDocumentImplementation sends a textDocument/implementation request

func (*Client) TextDocumentOpen

func (c *Client) TextDocumentOpen(ctx context.Context, uri string, content string, languageID string) error

TextDocumentOpen opens a document in the LSP server

func (*Client) TextDocumentPrepareCallHierarchy

func (c *Client) TextDocumentPrepareCallHierarchy(ctx context.Context, uri string, position Position) ([]CallHierarchyItem, error)

TextDocumentPrepareCallHierarchy sends a textDocument/prepareCallHierarchy request

func (*Client) TextDocumentReferences

func (c *Client) TextDocumentReferences(ctx context.Context, uri string, position Position) ([]Location, error)

TextDocumentReferences sends a textDocument/references request

func (*Client) TextDocumentSave

func (c *Client) TextDocumentSave(ctx context.Context, uri string, text string) error

TextDocumentSave saves the document

func (*Client) WorkspaceSymbol

func (c *Client) WorkspaceSymbol(ctx context.Context, query string) ([]SymbolInformation, error)

WorkspaceSymbol sends a workspace/symbol request

type ClientCapabilities

type ClientCapabilities struct {
	TextDocument TextDocumentClientCapabilities `json:"textDocument,omitempty"`
	Workspace    *WorkspaceClientCapabilities   `json:"workspace,omitempty"`
	Window       *WindowClientCapabilities      `json:"window,omitempty"`
}

ClientCapabilities client capabilities

type ClientInfo

type ClientInfo struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

ClientInfo client information

type CodeActionCapabilities

type CodeActionCapabilities struct {
	CodeActionLiteralSupport *CodeActionLiteralSupportCapabilities `json:"codeActionLiteralSupport,omitempty"`
	IsDynamicRegistration    bool                                  `json:"isDynamicRegistration,omitempty"`
}

CodeActionCapabilities code action capabilities

type CodeActionKindCapabilities

type CodeActionKindCapabilities struct {
	ValueSet []string `json:"valueSet,omitempty"`
}

CodeActionKindCapabilities code action kind capabilities

type CodeActionLiteralSupportCapabilities

type CodeActionLiteralSupportCapabilities struct {
	CodeActionKind *CodeActionKindCapabilities `json:"codeActionKind,omitempty"`
}

CodeActionLiteralSupportCapabilities code action literal support capabilities

type CodeLensCapabilities

type CodeLensCapabilities struct {
	IsDynamicRegistration bool `json:"isDynamicRegistration,omitempty"`
}

CodeLensCapabilities code lens capabilities

type CodeLensOptions

type CodeLensOptions struct {
	ResolveProvider bool `json:"resolveProvider,omitempty"`
}

CodeLensOptions code lens options

type CompletionCapabilities

type CompletionCapabilities struct {
	CompletionItem     *CompletionItemCapabilities     `json:"completionItem,omitempty"`
	CompletionItemKind *CompletionItemKindCapabilities `json:"completionItemKind,omitempty"`
	ContextSupport     bool                            `json:"contextSupport,omitempty"`
	CompletionList     *CompletionListCapabilities     `json:"completionList,omitempty"`
}

CompletionCapabilities completion capabilities

type CompletionItemCapabilities

type CompletionItemCapabilities struct {
	SnippetSupport          bool     `json:"snippetSupport,omitempty"`
	CommitCharactersSupport bool     `json:"commitCharactersSupport,omitempty"`
	DocumentationFormat     []string `json:"documentationFormat,omitempty"`
	DeprecatedSupport       bool     `json:"deprecatedSupport,omitempty"`
	PreselectSupport        bool     `json:"preselectSupport,omitempty"`
}

CompletionItemCapabilities completion item capabilities

type CompletionItemKindCapabilities

type CompletionItemKindCapabilities struct {
	ValueSet []int `json:"valueSet,omitempty"`
}

CompletionItemKindCapabilities completion item kind capabilities

type CompletionListCapabilities

type CompletionListCapabilities struct {
	ItemDefaults []string `json:"itemDefaults,omitempty"`
}

CompletionListCapabilities completion list capabilities

type CompletionOptions

type CompletionOptions struct {
	ResolveProvider   bool     `json:"resolveProvider,omitempty"`
	TriggerCharacters []string `json:"triggerCharacters,omitempty"`
}

CompletionOptions completion options

type DefinitionCapabilities

type DefinitionCapabilities struct {
	LinkSupport bool `json:"linkSupport,omitempty"`
}

DefinitionCapabilities definition capabilities

type DidChangeTextDocumentParams

type DidChangeTextDocumentParams struct {
	TextDocument   VersionedTextDocumentIdentifier  `json:"textDocument"`
	ContentChanges []TextDocumentContentChangeEvent `json:"contentChanges"`
}

DidChangeTextDocumentParams params for didChange notification

type DidCloseTextDocumentParams

type DidCloseTextDocumentParams struct {
	TextDocument TextDocumentIdentifier `json:"textDocument"`
}

DidCloseTextDocumentParams params for didClose notification

type DidOpenTextDocumentParams

type DidOpenTextDocumentParams struct {
	TextDocument TextDocumentItem `json:"textDocument"`
}

DidOpenTextDocumentParams params for didOpen notification

type DidSaveTextDocumentParams

type DidSaveTextDocumentParams struct {
	TextDocument TextDocumentIdentifier `json:"textDocument"`
	Text         *string                `json:"text,omitempty"`
}

DidSaveTextDocumentParams params for didSave notification

type DocumentLinkOptions

type DocumentLinkOptions struct {
	ResolveProvider bool `json:"resolveProvider,omitempty"`
}

DocumentLinkOptions document link options

type DocumentSymbol

type DocumentSymbol struct {
	Name           string           `json:"name"`
	Detail         string           `json:"detail,omitempty"`
	Kind           int              `json:"kind"`
	Range          Range            `json:"range"`
	SelectionRange Range            `json:"selectionRange"`
	Children       []DocumentSymbol `json:"children,omitempty"`
}

DocumentSymbol represents a document symbol

type DocumentSymbolCapabilities

type DocumentSymbolCapabilities struct {
	HierarchicalSymbolSupport bool `json:"hierarchicalSymbolSupport,omitempty"`
	LabelSupport              bool `json:"labelSupport,omitempty"`
}

DocumentSymbolCapabilities document symbol capabilities

type DocumentSymbolParams

type DocumentSymbolParams struct {
	TextDocument TextDocumentIdentifier `json:"textDocument"`
}

DocumentSymbolParams params for document symbol requests

type FileOperationCapabilities

type FileOperationCapabilities struct {
	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
	WillRename          bool `json:"willRename,omitempty"`
}

FileOperationCapabilities file operation capabilities

type FormattingCapabilities

type FormattingCapabilities struct {
	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}

FormattingCapabilities formatting capabilities

type Hover

type Hover struct {
	Contents any    `json:"contents"` // MarkupContent | string | MarkedString[]
	Range    *Range `json:"range,omitempty"`
}

Hover represents hover information

type HoverCapabilities

type HoverCapabilities struct {
	ContentFormat []string `json:"contentFormat,omitempty"`
}

HoverCapabilities hover capabilities

type ImplementationCapabilities

type ImplementationCapabilities struct {
	LinkSupport bool `json:"linkSupport,omitempty"`
}

ImplementationCapabilities implementation capabilities

type InitializeParams

type InitializeParams struct {
	ProcessID        int64              `json:"processId"`
	RootURI          string             `json:"rootUri,omitempty"`
	RootPath         string             `json:"rootPath,omitempty"`
	ClientInfo       ClientInfo         `json:"clientInfo"`
	Capabilities     ClientCapabilities `json:"capabilities"`
	WorkspaceFolders []WorkspaceFolder  `json:"workspaceFolders"`
	Locale           string             `json:"locale,omitempty"`
}

InitializeParams params for initialize request

type InitializeResult

type InitializeResult struct {
	Capabilities ServerCapabilities `json:"capabilities"`
	ServerInfo   ServerInfo         `json:"serverInfo,omitempty"`
}

InitializeResult result of initialize request

type Location

type Location struct {
	URI   string `json:"uri"`
	Range Range  `json:"range"`
}

Location represents a location in a text document

type LocationLink struct {
	OriginURI   string `json:"originUri,omitempty"`
	OriginRange Range  `json:"originSelectionRange,omitempty"`
	TargetURI   string `json:"targetUri"`
	TargetRange Range  `json:"targetSelectionRange"`
}

LocationLink represents a location link

type NotificationHandler

type NotificationHandler func(params json.RawMessage)

NotificationHandler handles LSP notifications

type OnTypeFormattingCapabilities

type OnTypeFormattingCapabilities struct {
	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}

OnTypeFormattingCapabilities on type formatting capabilities

type Position

type Position struct {
	Line      int `json:"line"`
	Character int `json:"character"`
}

Position represents a position in a text document

type RPCError

type RPCError struct {
	Code    int             `json:"code"`
	Message string          `json:"message"`
	Data    json.RawMessage `json:"data,omitempty"`
}

RPCError represents a JSON-RPC error

func (*RPCError) Error

func (e *RPCError) Error() string

type RPCMessage

type RPCMessage struct {
	JSONRPC string          `json:"jsonrpc"`
	ID      any             `json:"id,omitempty"`
	Method  string          `json:"method,omitempty"`
	Params  json.RawMessage `json:"params,omitempty"`
	Result  json.RawMessage `json:"result,omitempty"`
	Error   *RPCError       `json:"error,omitempty"`
}

RPCMessage represents a JSON-RPC message

type Range

type Range struct {
	Start Position `json:"start"`
	End   Position `json:"end"`
}

Range represents a range in a text document

type RangeFormattingCapabilities

type RangeFormattingCapabilities struct {
	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}

RangeFormattingCapabilities range formatting capabilities

type ReferenceCapabilities

type ReferenceCapabilities struct {
	ContextSupport bool `json:"contextSupport,omitempty"`
}

ReferenceCapabilities reference capabilities

type ReferenceContext

type ReferenceContext struct {
	IncludeDeclaration bool `json:"includeDeclaration"`
}

ReferenceContext context for reference requests

type ReferenceParams

type ReferenceParams struct {
	TextDocumentPositionParams
	Context ReferenceContext `json:"context"`
}

ReferenceParams params for reference requests

type RenameCapabilities

type RenameCapabilities struct {
	PrepareSupport                bool   `json:"prepareSupport,omitempty"`
	PrepareSupportDefaultBehavior string `json:"prepareSupportDefaultBehavior,omitempty"`
	HonorsChangeAnnotations       bool   `json:"honorsChangeAnnotations,omitempty"`
}

RenameCapabilities rename capabilities

type SelectionRangeCapabilities

type SelectionRangeCapabilities struct {
	DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}

SelectionRangeCapabilities selection range capabilities

type ServerCapabilities

type ServerCapabilities struct {
	TextDocumentSync                 any                   `json:"textDocumentSync,omitempty"`
	HoverProvider                    bool                  `json:"hoverProvider,omitempty"`
	CompletionProvider               *CompletionOptions    `json:"completionProvider,omitempty"`
	SignatureHelpProvider            *SignatureHelpOptions `json:"signatureHelpProvider,omitempty"`
	DefinitionProvider               bool                  `json:"definitionProvider,omitempty"`
	TypeDefinitionProvider           any                   `json:"typeDefinitionProvider,omitempty"`
	ImplementationProvider           any                   `json:"implementationProvider,omitempty"`
	ReferencesProvider               bool                  `json:"referencesProvider,omitempty"`
	DocumentHighlightProvider        bool                  `json:"documentHighlightProvider,omitempty"`
	DocumentSymbolProvider           bool                  `json:"documentSymbolProvider,omitempty"`
	WorkspaceSymbolProvider          any                   `json:"workspaceSymbolProvider,omitempty"`
	CodeActionProvider               bool                  `json:"codeActionProvider,omitempty"`
	CodeLensProvider                 *CodeLensOptions      `json:"codeLensProvider,omitempty"`
	DocumentFormattingProvider       bool                  `json:"documentFormattingProvider,omitempty"`
	DocumentRangeFormattingProvider  bool                  `json:"documentRangeFormattingProvider,omitempty"`
	DocumentOnTypeFormattingProvider any                   `json:"documentOnTypeFormattingProvider,omitempty"`
	RenameProvider                   any                   `json:"renameProvider,omitempty"`
	DocumentLinkProvider             *DocumentLinkOptions  `json:"documentLinkProvider,omitempty"`
	ColorProvider                    any                   `json:"colorProvider,omitempty"`
	FoldingRangeProvider             any                   `json:"foldingRangeProvider,omitempty"`
	SelectionRangeProvider           any                   `json:"selectionRangeProvider,omitempty"`
	LinkedEditingRangeProvider       any                   `json:"linkedEditingRangeProvider,omitempty"`
	CallHierarchyProvider            bool                  `json:"callHierarchyProvider,omitempty"`
	SemanticTokensProvider           any                   `json:"semanticTokensProvider,omitempty"`
	MonikerProvider                  bool                  `json:"monikerProvider,omitempty"`
}

ServerCapabilities server capabilities

func (*ServerCapabilities) IsCallHierarchyProvider

func (s *ServerCapabilities) IsCallHierarchyProvider() bool

IsCallHierarchyProvider returns true if the server supports call hierarchy

func (*ServerCapabilities) IsDefinitionProvider

func (s *ServerCapabilities) IsDefinitionProvider() bool

IsDefinitionProvider returns true if the server supports definition

func (*ServerCapabilities) IsDocumentSymbolProvider

func (s *ServerCapabilities) IsDocumentSymbolProvider() bool

IsDocumentSymbolProvider returns true if the server supports document symbols

func (*ServerCapabilities) IsHoverProvider

func (s *ServerCapabilities) IsHoverProvider() bool

IsHoverProvider returns true if the server supports hover

func (*ServerCapabilities) IsImplementationProvider

func (s *ServerCapabilities) IsImplementationProvider() bool

IsImplementationProvider returns true if the server supports implementation

func (*ServerCapabilities) IsReferencesProvider

func (s *ServerCapabilities) IsReferencesProvider() bool

IsReferencesProvider returns true if the server supports references

func (*ServerCapabilities) IsWorkspaceSymbolProvider

func (s *ServerCapabilities) IsWorkspaceSymbolProvider() bool

IsWorkspaceSymbolProvider returns true if the server supports workspace symbols

type ServerInfo

type ServerInfo struct {
	Name    string `json:"name"`
	Version string `json:"version,omitempty"`
}

ServerInfo server information

type SignatureHelpOptions

type SignatureHelpOptions struct {
	TriggerCharacters []string `json:"triggerCharacters,omitempty"`
}

SignatureHelpOptions signature help options

type SymbolCapabilities

type SymbolCapabilities struct {
	DynamicRegistration bool                    `json:"dynamicRegistration,omitempty"`
	SymbolKind          *SymbolKindCapabilities `json:"symbolKind,omitempty"`
}

SymbolCapabilities symbol capabilities

type SymbolInformation

type SymbolInformation struct {
	Name          string   `json:"name"`
	Kind          int      `json:"kind"`
	Location      Location `json:"location"`
	ContainerName string   `json:"containerName,omitempty"`
}

SymbolInformation represents symbol information

type SymbolKindCapabilities

type SymbolKindCapabilities struct {
	ValueSet []int `json:"valueSet,omitempty"`
}

SymbolKindCapabilities symbol kind capabilities

type SynchronizationCapabilities

type SynchronizationCapabilities struct {
	WillSave          bool `json:"willSave,omitempty"`
	DidSave           bool `json:"didSave,omitempty"`
	WillSaveWaitUntil bool `json:"willSaveWaitUntil,omitempty"`
}

SynchronizationCapabilities synchronization capabilities

type TextDocumentClientCapabilities

type TextDocumentClientCapabilities struct {
	Synchronization  *SynchronizationCapabilities  `json:"synchronization,omitempty"`
	Completion       *CompletionCapabilities       `json:"completion,omitempty"`
	Hover            *HoverCapabilities            `json:"hover,omitempty"`
	References       *ReferenceCapabilities        `json:"references,omitempty"`
	Definition       *DefinitionCapabilities       `json:"definition,omitempty"`
	TypeDefinition   *TypeDefinitionCapabilities   `json:"typeDefinition,omitempty"`
	Implementation   *ImplementationCapabilities   `json:"implementation,omitempty"`
	DocumentSymbol   *DocumentSymbolCapabilities   `json:"documentSymbol,omitempty"`
	CodeAction       *CodeActionCapabilities       `json:"codeAction,omitempty"`
	CodeLens         *CodeLensCapabilities         `json:"codeLens,omitempty"`
	Formatting       *FormattingCapabilities       `json:"formatting,omitempty"`
	RangeFormatting  *RangeFormattingCapabilities  `json:"rangeFormatting,omitempty"`
	OnTypeFormatting *OnTypeFormattingCapabilities `json:"onTypeFormatting,omitempty"`
	Rename           *RenameCapabilities           `json:"rename,omitempty"`
	SelectionRange   *SelectionRangeCapabilities   `json:"selectionRange,omitempty"`
}

TextDocumentClientCapabilities text document capabilities

type TextDocumentContentChangeEvent

type TextDocumentContentChangeEvent struct {
	Range *Range `json:"range,omitempty"`
	Text  string `json:"text"`
}

TextDocumentContentChangeEvent represents a text document change

type TextDocumentIdentifier

type TextDocumentIdentifier struct {
	URI string `json:"uri"`
}

TextDocumentIdentifier identifies a text document

type TextDocumentItem

type TextDocumentItem struct {
	URI        string `json:"uri"`
	LanguageID string `json:"languageId"`
	Version    int    `json:"version"`
	Text       string `json:"text"`
}

TextDocumentItem identifies a text document

type TextDocumentPositionParams

type TextDocumentPositionParams struct {
	TextDocument TextDocumentIdentifier `json:"textDocument"`
	Position     Position               `json:"position"`
}

TextDocumentPositionParams params for text document position requests

type TypeDefinitionCapabilities

type TypeDefinitionCapabilities struct {
	LinkSupport bool `json:"linkSupport,omitempty"`
}

TypeDefinitionCapabilities type definition capabilities

type VersionedTextDocumentIdentifier

type VersionedTextDocumentIdentifier struct {
	TextDocumentIdentifier
	Version int `json:"version"`
}

VersionedTextDocumentIdentifier identifies a text document with version

type WindowClientCapabilities

type WindowClientCapabilities struct {
	WorkDoneProgress bool `json:"workDoneProgress,omitempty"`
}

WindowClientCapabilities window capabilities

type WorkspaceClientCapabilities

type WorkspaceClientCapabilities struct {
	ApplyEdit        bool                       `json:"applyEdit,omitempty"`
	WorkspaceFolders bool                       `json:"workspaceFolders,omitempty"`
	WorkspaceEdit    *WorkspaceEditCapabilities `json:"workspaceEdit,omitempty"`
	FileOperations   *FileOperationCapabilities `json:"fileOperations,omitempty"`
	Symbol           *SymbolCapabilities        `json:"symbol,omitempty"`
}

WorkspaceClientCapabilities workspace capabilities

type WorkspaceEditCapabilities

type WorkspaceEditCapabilities struct {
	DocumentChanges    bool     `json:"documentChanges,omitempty"`
	ResourceOperations []string `json:"resourceOperations,omitempty"`
	FailureHandling    string   `json:"failureHandling,omitempty"`
}

WorkspaceEditCapabilities workspace edit capabilities

type WorkspaceFolder

type WorkspaceFolder struct {
	URI  string `json:"uri"`
	Name string `json:"name"`
}

WorkspaceFolder represents a workspace folder

type WorkspaceSymbolParams

type WorkspaceSymbolParams struct {
	Query string `json:"query"`
}

WorkspaceSymbolParams params for workspace symbol requests

Jump to

Keyboard shortcuts

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