summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2018-08-03 20:43:28 +0000
committerAlex Lorenz <arphaman@gmail.com>2018-08-03 20:43:28 +0000
commitb411cf327528a561b94f247aab7f1a520e1685ed (patch)
tree8ee69400fb03771d0c671e2011bb3190374c2358
parentbfd9cfdeeb20c0c48c71447140ca0cdc55b7b5dd (diff)
downloadbcm5719-llvm-b411cf327528a561b94f247aab7f1a520e1685ed.tar.gz
bcm5719-llvm-b411cf327528a561b94f247aab7f1a520e1685ed.zip
[clangd] capitalize diagnostic messages
The diagnostic messages that are sent to the client from Clangd are now always capitalized. Differential Revision: https://reviews.llvm.org/D50154 llvm-svn: 338919
-rw-r--r--clang-tools-extra/clangd/Diagnostics.cpp11
-rw-r--r--clang-tools-extra/test/clangd/diagnostics.test2
-rw-r--r--clang-tools-extra/test/clangd/did-change-configuration-params.test2
-rw-r--r--clang-tools-extra/test/clangd/execute-command.test2
-rw-r--r--clang-tools-extra/test/clangd/extra-flags.test4
-rw-r--r--clang-tools-extra/test/clangd/fixits.test6
-rw-r--r--clang-tools-extra/unittests/clangd/ClangdUnitTests.cpp4
7 files changed, 19 insertions, 12 deletions
diff --git a/clang-tools-extra/clangd/Diagnostics.cpp b/clang-tools-extra/clangd/Diagnostics.cpp
index 73ac475efef..5a61567f2dc 100644
--- a/clang-tools-extra/clangd/Diagnostics.cpp
+++ b/clang-tools-extra/clangd/Diagnostics.cpp
@@ -145,6 +145,13 @@ void printDiag(llvm::raw_string_ostream &OS, const DiagBase &D) {
OS << diagLeveltoString(D.Severity) << ": " << D.Message;
}
+/// Capitalizes the first word in the diagnostic's message.
+std::string capitalize(std::string Message) {
+ if (!Message.empty())
+ Message[0] = llvm::toUpper(Message[0]);
+ return Message;
+}
+
/// Returns a message sent to LSP for the main diagnostic in \p D.
/// The message includes all the notes with their corresponding locations.
/// However, notes with fix-its are excluded as those usually only contain a
@@ -166,7 +173,7 @@ std::string mainMessage(const Diag &D) {
printDiag(OS, Note);
}
OS.flush();
- return Result;
+ return capitalize(std::move(Result));
}
/// Returns a message sent to LSP for the note of the main diagnostic.
@@ -179,7 +186,7 @@ std::string noteMessage(const Diag &Main, const DiagBase &Note) {
OS << "\n\n";
printDiag(OS, Main);
OS.flush();
- return Result;
+ return capitalize(std::move(Result));
}
} // namespace
diff --git a/clang-tools-extra/test/clangd/diagnostics.test b/clang-tools-extra/test/clangd/diagnostics.test
index afd1277b27e..a191c0822a9 100644
--- a/clang-tools-extra/test/clangd/diagnostics.test
+++ b/clang-tools-extra/test/clangd/diagnostics.test
@@ -6,7 +6,7 @@
# CHECK-NEXT: "params": {
# CHECK-NEXT: "diagnostics": [
# CHECK-NEXT: {
-# CHECK-NEXT: "message": "return type of 'main' is not 'int'",
+# CHECK-NEXT: "message": "Return type of 'main' is not 'int'",
# CHECK-NEXT: "range": {
# CHECK-NEXT: "end": {
# CHECK-NEXT: "character": 4,
diff --git a/clang-tools-extra/test/clangd/did-change-configuration-params.test b/clang-tools-extra/test/clangd/did-change-configuration-params.test
index d46c043da2b..e0f9363995a 100644
--- a/clang-tools-extra/test/clangd/did-change-configuration-params.test
+++ b/clang-tools-extra/test/clangd/did-change-configuration-params.test
@@ -24,7 +24,7 @@
# CHECK-NEXT: "params": {
# CHECK-NEXT: "diagnostics": [
# CHECK-NEXT: {
-# CHECK-NEXT: "message": "variable 'i' is uninitialized when used here",
+# CHECK-NEXT: "message": "Variable 'i' is uninitialized when used here",
# CHECK-NEXT: "range": {
# CHECK-NEXT: "end": {
# CHECK-NEXT: "character": 28,
diff --git a/clang-tools-extra/test/clangd/execute-command.test b/clang-tools-extra/test/clangd/execute-command.test
index 9686d04009f..492006fdfab 100644
--- a/clang-tools-extra/test/clangd/execute-command.test
+++ b/clang-tools-extra/test/clangd/execute-command.test
@@ -6,7 +6,7 @@
# CHECK-NEXT: "params": {
# CHECK-NEXT: "diagnostics": [
# CHECK-NEXT: {
-# CHECK-NEXT: "message": "using the result of an assignment as a condition without parentheses",
+# CHECK-NEXT: "message": "Using the result of an assignment as a condition without parentheses",
# CHECK-NEXT: "range": {
# CHECK-NEXT: "end": {
# CHECK-NEXT: "character": 37,
diff --git a/clang-tools-extra/test/clangd/extra-flags.test b/clang-tools-extra/test/clangd/extra-flags.test
index f360ccae493..f2460eb1241 100644
--- a/clang-tools-extra/test/clangd/extra-flags.test
+++ b/clang-tools-extra/test/clangd/extra-flags.test
@@ -6,7 +6,7 @@
# CHECK-NEXT: "params": {
# CHECK-NEXT: "diagnostics": [
# CHECK-NEXT: {
-# CHECK-NEXT: "message": "variable 'i' is uninitialized when used here",
+# CHECK-NEXT: "message": "Variable 'i' is uninitialized when used here",
# CHECK-NEXT: "range": {
# CHECK-NEXT: "end": {
# CHECK-NEXT: "character": 28,
@@ -28,7 +28,7 @@
# CHECK-NEXT: "params": {
# CHECK-NEXT: "diagnostics": [
# CHECK-NEXT: {
-# CHECK-NEXT: "message": "variable 'i' is uninitialized when used here",
+# CHECK-NEXT: "message": "Variable 'i' is uninitialized when used here",
# CHECK-NEXT: "range": {
# CHECK-NEXT: "end": {
# CHECK-NEXT: "character": 28,
diff --git a/clang-tools-extra/test/clangd/fixits.test b/clang-tools-extra/test/clangd/fixits.test
index f8eb20ca788..ce74d1c8b37 100644
--- a/clang-tools-extra/test/clangd/fixits.test
+++ b/clang-tools-extra/test/clangd/fixits.test
@@ -6,7 +6,7 @@
# CHECK-NEXT: "params": {
# CHECK-NEXT: "diagnostics": [
# CHECK-NEXT: {
-# CHECK-NEXT: "message": "using the result of an assignment as a condition without parentheses",
+# CHECK-NEXT: "message": "Using the result of an assignment as a condition without parentheses",
# CHECK-NEXT: "range": {
# CHECK-NEXT: "end": {
# CHECK-NEXT: "character": 37,
@@ -23,7 +23,7 @@
# CHECK-NEXT: "uri": "file://{{.*}}/foo.c"
# CHECK-NEXT: }
---
-{"jsonrpc":"2.0","id":2,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"test:///foo.c"},"range":{"start":{"line":104,"character":13},"end":{"line":0,"character":35}},"context":{"diagnostics":[{"range":{"start": {"line": 0, "character": 32}, "end": {"line": 0, "character": 37}},"severity":2,"message":"using the result of an assignment as a condition without parentheses"}]}}}
+{"jsonrpc":"2.0","id":2,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"test:///foo.c"},"range":{"start":{"line":104,"character":13},"end":{"line":0,"character":35}},"context":{"diagnostics":[{"range":{"start": {"line": 0, "character": 32}, "end": {"line": 0, "character": 37}},"severity":2,"message":"Using the result of an assignment as a condition without parentheses"}]}}}
# CHECK: "id": 2,
# CHECK-NEXT: "jsonrpc": "2.0",
# CHECK-NEXT: "result": [
@@ -92,7 +92,7 @@
# CHECK-NEXT: }
# CHECK-NEXT: ]
---
-{"jsonrpc":"2.0","id":3,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"test:///foo.c"},"range":{"start":{"line":104,"character":13},"end":{"line":0,"character":35}},"context":{"diagnostics":[{"range":{"start": {"line": 0, "character": 32}, "end": {"line": 0, "character": 37}},"severity":2,"message":"using the result of an assignment as a condition without parentheses"}]}}}
+{"jsonrpc":"2.0","id":3,"method":"textDocument/codeAction","params":{"textDocument":{"uri":"test:///foo.c"},"range":{"start":{"line":104,"character":13},"end":{"line":0,"character":35}},"context":{"diagnostics":[{"range":{"start": {"line": 0, "character": 32}, "end": {"line": 0, "character": 37}},"severity":2,"message":"Using the result of an assignment as a condition without parentheses"}]}}}
# Make sure unused "code" and "source" fields ignored gracefully
# CHECK: "id": 3,
# CHECK-NEXT: "jsonrpc": "2.0",
diff --git a/clang-tools-extra/unittests/clangd/ClangdUnitTests.cpp b/clang-tools-extra/unittests/clangd/ClangdUnitTests.cpp
index 6843c9e06c8..5e662cb8736 100644
--- a/clang-tools-extra/unittests/clangd/ClangdUnitTests.cpp
+++ b/clang-tools-extra/unittests/clangd/ClangdUnitTests.cpp
@@ -172,7 +172,7 @@ TEST(DiagnosticsTest, ToLSP) {
};
// Diagnostics should turn into these:
- clangd::Diagnostic MainLSP = MatchingLSP(D, R"(something terrible happened
+ clangd::Diagnostic MainLSP = MatchingLSP(D, R"(Something terrible happened
main.cpp:6:7: remark: declared somewhere in the main file
@@ -180,7 +180,7 @@ main.cpp:6:7: remark: declared somewhere in the main file
note: declared somewhere in the header file)");
clangd::Diagnostic NoteInMainLSP =
- MatchingLSP(NoteInMain, R"(declared somewhere in the main file
+ MatchingLSP(NoteInMain, R"(Declared somewhere in the main file
main.cpp:2:3: error: something terrible happened)");
OpenPOWER on IntegriCloud