Files
clice/include/Protocol/Language/Reference.h
2024-09-03 20:14:47 +08:00

38 lines
990 B
C++

#pragma once
#include "../Basic.h"
namespace clice::protocol {
/// Client Capability:
/// - property name (optional): `textDocument.references`
/// - property type: `ReferenceClientCapabilities` defined as follows:
struct ReferenceClientCapabilities {
/// Whether references supports dynamic registration.
bool dynamicRegistration = false;
};
struct ReferenceContext {
/// Include the declaration of the current symbol.
bool includeDeclaration = false;
};
struct ReferenceParamsBody {
ReferenceContext context;
};
/// Request:
/// - method: 'textDocument/references'
/// - params: `ReferenceParams` defined follows:
using ReferenceParams = Combine<TextDocumentPositionParams,
// WorkDoneProgressParams,
// PartialResultParams,
ReferenceParamsBody>;
/// Response:
/// result: Location[]
using ReferenceResult = std::vector<Location>;
} // namespace clice::protocol