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.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/clang-tools-extra/clangd/Protocol.h b/clang-tools-extra/clangd/Protocol.h
index 5d2a5a21629..079873e61cf 100644
--- a/clang-tools-extra/clangd/Protocol.h
+++ b/clang-tools-extra/clangd/Protocol.h
@@ -323,9 +323,8 @@ struct ClientCapabilities {
/// workspace.symbol.symbolKind.valueSet
llvm::Optional<SymbolKindBitset> WorkspaceSymbolKinds;
- /// Whether the client accepts diagnostics with fixes attached using the
- /// "clangd_fixes" extension.
- /// textDocument.publishDiagnostics.clangdFixSupport
+ /// Whether the client accepts diagnostics with codeActions attached inline.
+ /// textDocument.publishDiagnostics.codeActionsInline.
bool DiagnosticFixes = false;
/// Whether the client accepts diagnostics with category attached to it
@@ -536,6 +535,7 @@ struct DocumentSymbolParams {
};
bool fromJSON(const llvm::json::Value &, DocumentSymbolParams &);
+struct CodeAction;
struct Diagnostic {
/// The range at which the message applies.
Range range;
@@ -560,7 +560,12 @@ struct Diagnostic {
/// An LSP extension that's used to send the name of the category over to the
/// client. The category typically describes the compilation stage during
/// which the issue was produced, e.g. "Semantic Issue" or "Parse Issue".
- std::string category;
+ llvm::Optional<std::string> category;
+
+ /// Clangd extension: code actions related to this diagnostic.
+ /// Only with capability textDocument.publishDiagnostics.codeActionsInline.
+ /// (These actions can also be obtained using textDocument/codeAction).
+ llvm::Optional<std::vector<CodeAction>> codeActions;
};
llvm::json::Value toJSON(const Diagnostic &);
OpenPOWER on IntegriCloud