summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/Protocol.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/clangd/Protocol.h')
-rw-r--r--clang-tools-extra/clangd/Protocol.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/clang-tools-extra/clangd/Protocol.h b/clang-tools-extra/clangd/Protocol.h
index 3007dc368a4..bdbbf62f7ab 100644
--- a/clang-tools-extra/clangd/Protocol.h
+++ b/clang-tools-extra/clangd/Protocol.h
@@ -480,6 +480,27 @@ struct TextDocumentPositionParams {
};
bool fromJSON(const json::Expr &, TextDocumentPositionParams &);
+enum class MarkupKind {
+ PlainText,
+ Markdown,
+};
+
+struct MarkupContent {
+ MarkupKind Kind = MarkupKind::PlainText;
+ std::string Value;
+};
+json::Expr toJSON(const MarkupContent &MC);
+
+struct Hover {
+ /// The hover's content
+ MarkupContent Contents;
+
+ /// An optional range is a range inside a text document
+ /// that is used to visualize a hover, e.g. by changing the background color.
+ llvm::Optional<Range> Range;
+};
+json::Expr toJSON(const Hover &H);
+
/// The kind of a completion entry.
enum class CompletionItemKind {
Missing = 0,
OpenPOWER on IntegriCloud