104 lines
3.1 KiB
Go
104 lines
3.1 KiB
Go
|
// 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"`
|
||
|
}
|