#include "Basic/Document.h" namespace clice::proto { using DeclarationParams = TextDocumentPositionParams; using DeclarationResult = std::vector; using DefinitionParams = TextDocumentPositionParams; using DefinitionResult = std::vector; using TypeDefinitionParams = TextDocumentPositionParams; using TypeDefinitionResult = std::vector; using ImplementationParams = TextDocumentPositionParams; using ImplementationResult = std::vector; using ReferenceParams = TextDocumentPositionParams; using ReferenceResult = std::vector; using CallHierarchyPrepareParams = TextDocumentPositionParams; struct CallHierarchyItem { /// The name of this item. string name; /// FIXME: ... }; using CallHierarchyPrepareResult = std::vector; struct CallHierarchyIncomingCallsParams { CallHierarchyItem item; }; struct CallHierarchyIncomingCall { /// The item that makes the call. CallHierarchyItem from; /// The range at which at which the calls appears. This is relative to the caller /// denoted by `from`. std::vector fromRange; }; using CallHierarchyIncomingCallsResult = std::vector; struct CallHierarchyOutgoingCallsParams { CallHierarchyItem item; }; struct CallHierarchyOutgoingCall { /// The item that is called. CallHierarchyItem to; /// The range at which this item is called. This is relative to the caller /// denoted by `to`. std::vector toRange; }; using CallHierarchyOutgoingCallsResult = std::vector; struct TypeHierarchyItem { /// The name of the type. string name; /// FIXME: ... }; using TypeHierarchyPrepareParams = TextDocumentPositionParams; using TypeHierarchyPrepareResult = std::vector; struct TypeHierarchySupertypesParams { TypeHierarchyItem item; }; using TypeHierarchySupertypesResult = std::vector; struct TypeHierarchySubtypesParams { TypeHierarchyItem item; }; using TypeHierarchySubtypesResult = std::vector; } // namespace clice::proto