ilya-biryukov created this revision.
ilya-biryukov added reviewers: sammccall, ioeric.
Herald added subscribers: kadircet, arphaman, jkorous, MaskRay.
Herald added a project: clang.
Only to the APIs, which are used by our embedders.
We do not plan to add a user-facing option for this.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D58387
Files:
clang-tools-extra/clangd/Diagnostics.cpp
clang-tools-extra/clangd/Diagnostics.h
Index: clang-tools-extra/clangd/Diagnostics.h
===================================================================
--- clang-tools-extra/clangd/Diagnostics.h
+++ clang-tools-extra/clangd/Diagnostics.h
@@ -32,6 +32,10 @@
/// 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.
Index: clang-tools-extra/clangd/Diagnostics.cpp
===================================================================
--- clang-tools-extra/clangd/Diagnostics.cpp
+++ clang-tools-extra/clangd/Diagnostics.cpp
@@ -161,11 +161,11 @@
///
/// 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 @@
{
clangd::Diagnostic Main = FillBasicFields(D);
- Main.message = mainMessage(D);
+ Main.message = mainMessage(D, Opts.SendDiagnosticCategory);
if (Opts.EmbedFixesInDiagnostics) {
Main.codeActions.emplace();
for (const auto &Fix : D.Fixes)
Index: clang-tools-extra/clangd/Diagnostics.h
===================================================================
--- clang-tools-extra/clangd/Diagnostics.h
+++ clang-tools-extra/clangd/Diagnostics.h
@@ -32,6 +32,10 @@
/// 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.
Index: clang-tools-extra/clangd/Diagnostics.cpp
===================================================================
--- clang-tools-extra/clangd/Diagnostics.cpp
+++ clang-tools-extra/clangd/Diagnostics.cpp
@@ -161,11 +161,11 @@
///
/// 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 @@
{
clangd::Diagnostic Main = FillBasicFields(D);
- Main.message = mainMessage(D);
+ Main.message = mainMessage(D, Opts.SendDiagnosticCategory);
if (Opts.EmbedFixesInDiagnostics) {
Main.codeActions.emplace();
for (const auto &Fix : D.Fixes)
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits