diff --git a/llvm/include/llvm/Support/LSP/Protocol.h b/llvm/include/llvm/Support/LSP/Protocol.h index 30d68bad6691..a75ac291d1bc 100644 --- a/llvm/include/llvm/Support/LSP/Protocol.h +++ b/llvm/include/llvm/Support/LSP/Protocol.h @@ -494,6 +494,18 @@ LLVM_ABI_FOR_TEST bool fromJSON(const llvm::json::Value &value, DidCloseTextDocumentParams &result, llvm::json::Path path); +//===----------------------------------------------------------------------===// +// DidSaveTextDocumentParams +//===----------------------------------------------------------------------===// + +struct DidSaveTextDocumentParams { + /// The document that was saved. + TextDocumentIdentifier textDocument; +}; + +LLVM_ABI_FOR_TEST bool fromJSON(const llvm::json::Value &, + DidSaveTextDocumentParams &, llvm::json::Path); + //===----------------------------------------------------------------------===// // DidChangeTextDocumentParams //===----------------------------------------------------------------------===// diff --git a/llvm/lib/Support/LSP/Protocol.cpp b/llvm/lib/Support/LSP/Protocol.cpp index c2957bdc0dac..5c2379431e90 100644 --- a/llvm/lib/Support/LSP/Protocol.cpp +++ b/llvm/lib/Support/LSP/Protocol.cpp @@ -502,6 +502,16 @@ bool llvm::lsp::fromJSON(const llvm::json::Value &Value, return O && O.map("textDocument", Result.textDocument); } +//===----------------------------------------------------------------------===// +// DidSaveTextDocumentParams +//===----------------------------------------------------------------------===// + +bool llvm::lsp::fromJSON(const llvm::json::Value &Params, + DidSaveTextDocumentParams &R, llvm::json::Path P) { + llvm::json::ObjectMapper O(Params, P); + return O && O.map("textDocument", R.textDocument); +} + //===----------------------------------------------------------------------===// // DidChangeTextDocumentParams //===----------------------------------------------------------------------===//