lspClient

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: Apache-2.0 Imports: 10 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 interface{}) 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 interface{}, result interface{}) error

Request sends a request and waits for response

func (*Client) RequestWithTimeout

func (c *Client) RequestWithTimeout(ctx context.Context, method string, params interface{}, result interface{}, 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 interface{} `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      interface{}     `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                 interface{}           `json:"textDocumentSync,omitempty"`
	HoverProvider                    bool                  `json:"hoverProvider,omitempty"`
	CompletionProvider               *CompletionOptions    `json:"completionProvider,omitempty"`
	SignatureHelpProvider            *SignatureHelpOptions `json:"signatureHelpProvider,omitempty"`
	DefinitionProvider               bool                  `json:"definitionProvider,omitempty"`
	TypeDefinitionProvider           interface{}           `json:"typeDefinitionProvider,omitempty"`
	ImplementationProvider           interface{}           `json:"implementationProvider,omitempty"`
	ReferencesProvider               bool                  `json:"referencesProvider,omitempty"`
	DocumentHighlightProvider        bool                  `json:"documentHighlightProvider,omitempty"`
	DocumentSymbolProvider           bool                  `json:"documentSymbolProvider,omitempty"`
	WorkspaceSymbolProvider          interface{}           `json:"workspaceSymbolProvider,omitempty"`
	CodeActionProvider               bool                  `json:"codeActionProvider,omitempty"`
	CodeLensProvider                 *CodeLensOptions      `json:"codeLensProvider,omitempty"`
	DocumentFormattingProvider       bool                  `json:"documentFormattingProvider,omitempty"`
	DocumentRangeFormattingProvider  bool                  `json:"documentRangeFormattingProvider,omitempty"`
	DocumentOnTypeFormattingProvider interface{}           `json:"documentOnTypeFormattingProvider,omitempty"`
	RenameProvider                   interface{}           `json:"renameProvider,omitempty"`
	DocumentLinkProvider             *DocumentLinkOptions  `json:"documentLinkProvider,omitempty"`
	ColorProvider                    interface{}           `json:"colorProvider,omitempty"`
	FoldingRangeProvider             interface{}           `json:"foldingRangeProvider,omitempty"`
	SelectionRangeProvider           interface{}           `json:"selectionRangeProvider,omitempty"`
	LinkedEditingRangeProvider       interface{}           `json:"linkedEditingRangeProvider,omitempty"`
	CallHierarchyProvider            bool                  `json:"callHierarchyProvider,omitempty"`
	SemanticTokensProvider           interface{}           `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