summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/Protocol.h
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2019-05-29 10:01:00 +0000
committerIlya Biryukov <ibiryukov@google.com>2019-05-29 10:01:00 +0000
commitf9169d0896dff637f1476e042a0669ef8c981167 (patch)
tree730fb38afb9c584f7c6949d8e78b03f4d333ae52 /clang-tools-extra/clangd/Protocol.h
parentd2042d3dd770ec593f0bf27a6fabe976d3fab804 (diff)
downloadbcm5719-llvm-f9169d0896dff637f1476e042a0669ef8c981167.tar.gz
bcm5719-llvm-f9169d0896dff637f1476e042a0669ef8c981167.zip
[clangd] Represent Hover result using FormattedString
Reviewers: sammccall, kadircet Reviewed By: kadircet Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D61601 llvm-svn: 361940
Diffstat (limited to 'clang-tools-extra/clangd/Protocol.h')
-rw-r--r--clang-tools-extra/clangd/Protocol.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/clang-tools-extra/clangd/Protocol.h b/clang-tools-extra/clangd/Protocol.h
index 957e2f3da44..21bac8abfb5 100644
--- a/clang-tools-extra/clangd/Protocol.h
+++ b/clang-tools-extra/clangd/Protocol.h
@@ -353,6 +353,15 @@ llvm::json::Value toJSON(const OffsetEncoding &);
bool fromJSON(const llvm::json::Value &, OffsetEncoding &);
llvm::raw_ostream &operator<<(llvm::raw_ostream &, OffsetEncoding);
+// Describes the content type that a client supports in various result literals
+// like `Hover`, `ParameterInfo` or `CompletionItem`.
+enum class MarkupKind {
+ PlainText,
+ Markdown,
+};
+bool fromJSON(const llvm::json::Value &, MarkupKind &);
+llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, MarkupKind);
+
// This struct doesn't mirror LSP!
// The protocol defines deeply nested structures for client capabilities.
// Instead of mapping them all, this just parses out the bits we care about.
@@ -391,6 +400,9 @@ struct ClientCapabilities {
/// Supported encodings for LSP character offsets. (clangd extension).
llvm::Optional<std::vector<OffsetEncoding>> offsetEncoding;
+
+ /// The content format that should be used for Hover requests.
+ MarkupKind HoverContentFormat = MarkupKind::PlainText;
};
bool fromJSON(const llvm::json::Value &, ClientCapabilities &);
@@ -861,11 +873,6 @@ struct CompletionParams : TextDocumentPositionParams {
};
bool fromJSON(const llvm::json::Value &, CompletionParams &);
-enum class MarkupKind {
- PlainText,
- Markdown,
-};
-
struct MarkupContent {
MarkupKind kind = MarkupKind::PlainText;
std::string value;
OpenPOWER on IntegriCloud