[llvm-branch-commits] [clang-tools-extra] 22dc722 - [clangd] Change the url for clang-tidy check documentation
Tom Stellard via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Mon Aug 8 12:29:50 PDT 2022
Author: Nathan James
Date: 2022-08-08T12:29:18-07:00
New Revision: 22dc722d6d7c2303865735eaad457ed2f419074a
URL: https://github.com/llvm/llvm-project/commit/22dc722d6d7c2303865735eaad457ed2f419074a
DIFF: https://github.com/llvm/llvm-project/commit/22dc722d6d7c2303865735eaad457ed2f419074a.diff
LOG: [clangd] Change the url for clang-tidy check documentation
In https://github.com/llvm/llvm-project/commit/6e566bc5523f743bc34a7e26f050f1f2b4d699a8, The directory structure of the documentation for clang-tidy checks was changed, however clangd wasn't updated.
Now all the links generated will point to old dead pages.
This updated clangd to use the new page structure.
Reviewed By: sammccall, kadircet
Differential Revision: https://reviews.llvm.org/D128379
(cherry picked from commit 4c106c93eb68f8f9f201202677cd31e326c16823)
Added:
Modified:
clang-tools-extra/clangd/Diagnostics.cpp
clang-tools-extra/clangd/test/diagnostics-tidy.test
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/Diagnostics.cpp b/clang-tools-extra/clangd/Diagnostics.cpp
index e70d45769fe46..031192f763e6e 100644
--- a/clang-tools-extra/clangd/Diagnostics.cpp
+++ b/clang-tools-extra/clangd/Diagnostics.cpp
@@ -918,9 +918,19 @@ llvm::Optional<std::string> getDiagnosticDocURI(Diag::DiagSource Source,
// information to be worth linking.
// https://clang.llvm.org/docs/DiagnosticsReference.html
break;
- case Diag::ClangTidy:
- return {("https://clang.llvm.org/extra/clang-tidy/checks/" + Name + ".html")
- .str()};
+ case Diag::ClangTidy: {
+ StringRef Module, Check;
+ // This won't correctly get the module for clang-analyzer checks, but as we
+ // don't link in the analyzer that shouldn't be an issue.
+ // This would also need updating if anyone decides to create a module with a
+ // '-' in the name.
+ std::tie(Module, Check) = Name.split('-');
+ if (Module.empty() || Check.empty())
+ return llvm::None;
+ return ("https://clang.llvm.org/extra/clang-tidy/checks/" + Module + "/" +
+ Check + ".html")
+ .str();
+ }
case Diag::Clangd:
if (Name == "unused-includes")
return {"https://clangd.llvm.org/guides/include-cleaner"};
diff --git a/clang-tools-extra/clangd/test/diagnostics-tidy.test b/clang-tools-extra/clangd/test/diagnostics-tidy.test
index c7e79b0c6d5f5..a100c9f4359d1 100644
--- a/clang-tools-extra/clangd/test/diagnostics-tidy.test
+++ b/clang-tools-extra/clangd/test/diagnostics-tidy.test
@@ -9,7 +9,7 @@
# CHECK-NEXT: {
# CHECK-NEXT: "code": "bugprone-sizeof-expression",
# CHECK-NEXT: "codeDescription": {
-# CHECK-NEXT: "href": "https://clang.llvm.org/extra/clang-tidy/checks/bugprone-sizeof-expression.html"
+# CHECK-NEXT: "href": "https://clang.llvm.org/extra/clang-tidy/checks/bugprone/sizeof-expression.html"
# CHECK-NEXT: },
# CHECK-NEXT: "message": "Suspicious usage of 'sizeof(K)'; did you mean 'K'?",
# CHECK-NEXT: "range": {
More information about the llvm-branch-commits
mailing list