status-go/vendor/go.lsp.dev/protocol/callhierarchy.go

104 lines
3.1 KiB
Go
Raw Normal View History

// SPDX-FileCopyrightText: 2021 The Go Language Server Authors
// SPDX-License-Identifier: BSD-3-Clause
package protocol
// CallHierarchy capabilities specific to the "textDocument/callHierarchy".
//
// @since 3.16.0.
type CallHierarchy struct {
// DynamicRegistration whether implementation supports dynamic registration.
//
// If this is set to "true" the client supports the new
// TextDocumentRegistrationOptions && StaticRegistrationOptions return
// value for the corresponding server capability as well.
DynamicRegistration bool `json:"dynamicRegistration,omitempty"`
}
// CallHierarchyPrepareParams params of CallHierarchyPrepare.
//
// @since 3.16.0.
type CallHierarchyPrepareParams struct {
TextDocumentPositionParams
WorkDoneProgressParams
}
// CallHierarchyItem is the result of a "textDocument/prepareCallHierarchy" request.
//
// @since 3.16.0.
type CallHierarchyItem struct {
// name is the name of this item.
Name string `json:"name"`
// Kind is the kind of this item.
Kind SymbolKind `json:"kind"`
// Tags for this item.
Tags []SymbolTag `json:"tags,omitempty"`
// Detail more detail for this item, e.g. the signature of a function.
Detail string `json:"detail,omitempty"`
// URI is the resource identifier of this item.
URI DocumentURI `json:"uri"`
// Range is the range enclosing this symbol not including leading/trailing whitespace
// but everything else, e.g. comments and code.
Range Range `json:"range"`
// SelectionRange is the range that should be selected and revealed when this symbol is being
// picked, e.g. the name of a function. Must be contained by the
// Range.
SelectionRange Range `json:"selectionRange"`
// Data is a data entry field that is preserved between a call hierarchy prepare and
// incoming calls or outgoing calls requests.
Data interface{} `json:"data,omitempty"`
}
// CallHierarchyIncomingCallsParams params of CallHierarchyIncomingCalls.
//
// @since 3.16.0.
type CallHierarchyIncomingCallsParams struct {
WorkDoneProgressParams
PartialResultParams
// Item is the IncomingCalls item.
Item CallHierarchyItem `json:"item"`
}
// CallHierarchyIncomingCall is the result of a "callHierarchy/incomingCalls" request.
//
// @since 3.16.0.
type CallHierarchyIncomingCall struct {
// From is the item that makes the call.
From CallHierarchyItem `json:"from"`
// FromRanges is the ranges at which the calls appear. This is relative to the caller
// denoted by From.
FromRanges []Range `json:"fromRanges"`
}
// CallHierarchyOutgoingCallsParams params of CallHierarchyOutgoingCalls.
//
// @since 3.16.0.
type CallHierarchyOutgoingCallsParams struct {
WorkDoneProgressParams
PartialResultParams
// Item is the OutgoingCalls item.
Item CallHierarchyItem `json:"item"`
}
// CallHierarchyOutgoingCall is the result of a "callHierarchy/outgoingCalls" request.
//
// @since 3.16.0.
type CallHierarchyOutgoingCall struct {
// To is the item that is called.
To CallHierarchyItem `json:"to"`
// FromRanges is the range at which this item is called. This is the range relative to
// the caller, e.g the item passed to "callHierarchy/outgoingCalls" request.
FromRanges []Range `json:"fromRanges"`
}