[clangd] Add an option in the code to not display number of fixes
Summary: Only to the APIs, which are used by our embedders. We do not plan to add a user-facing option for this. Reviewers: sammccall, ioeric Reviewed By: sammccall Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D58387 llvm-svn: 354349
This commit is contained in:
parent
4d88427a58
commit
93dfb45256
|
@ -161,11 +161,11 @@ std::string capitalize(std::string Message) {
|
|||
///
|
||||
/// dir1/dir2/dir3/../../dir4/header.h:12:23
|
||||
/// note: candidate function not viable: requires 3 arguments
|
||||
std::string mainMessage(const Diag &D) {
|
||||
std::string mainMessage(const Diag &D, bool DisplayFixesCount) {
|
||||
std::string Result;
|
||||
llvm::raw_string_ostream OS(Result);
|
||||
OS << D.Message;
|
||||
if (!D.Fixes.empty())
|
||||
if (DisplayFixesCount && !D.Fixes.empty())
|
||||
OS << " (" << (D.Fixes.size() > 1 ? "fixes" : "fix") << " available)";
|
||||
for (auto &Note : D.Notes) {
|
||||
OS << "\n\n";
|
||||
|
@ -252,7 +252,7 @@ void toLSPDiags(
|
|||
|
||||
{
|
||||
clangd::Diagnostic Main = FillBasicFields(D);
|
||||
Main.message = mainMessage(D);
|
||||
Main.message = mainMessage(D, Opts.DisplayFixesCount);
|
||||
if (Opts.EmbedFixesInDiagnostics) {
|
||||
Main.codeActions.emplace();
|
||||
for (const auto &Fix : D.Fixes)
|
||||
|
|
|
@ -32,6 +32,10 @@ struct ClangdDiagnosticOptions {
|
|||
/// stage during which the issue was produced, e.g. "Semantic Issue" or "Parse
|
||||
/// Issue".
|
||||
bool SendDiagnosticCategory = false;
|
||||
|
||||
/// If true, Clangd will add a number of available fixes to the diagnostic's
|
||||
/// message.
|
||||
bool DisplayFixesCount = true;
|
||||
};
|
||||
|
||||
/// Contains basic information about a diagnostic.
|
||||
|
|
Loading…
Reference in New Issue