sammccall accepted this revision.
sammccall added a comment.
This revision is now accepted and ready to land.

Nice! I think we should get to `.clang-tidy` files subsequently, but this is a 
great start and allows us to hook up the right set of checks in other 
environments.



================
Comment at: clangd/ClangdLSPServer.h:132
 
-  RealFileSystemProvider FSProvider;
   /// Options used for code completion
----------------
ilya-biryukov wrote:
> Could we instead call `getRealFS()` when we try to initialize a clang-tidy 
> options provider in `main()` and avoid changing this?
> To avoid adding extra non-real-fs "modes of operation" to `ClangdLSPServer`. 
> Unless you see other uses for this.
We already have out-of-tree modifications to ClangdLSPServer to use non-real 
FSes.
Given that, I think this change is OK... though better still might be to move 
it into `ClangdServer::Options`


================
Comment at: clangd/ClangdUnit.cpp:136
     auto *ExistingCallbacks = PP.getPPCallbacks();
+    // Don't reply preamble if we don't run any clang-tidy checks without
+    // PPCallbacks.
----------------
I have a hard time understanding this comment.
`No need to replay events if nobody is listening`?


================
Comment at: clangd/ClangdUnit.cpp:274
     CTContext.emplace(llvm::make_unique<tidy::DefaultOptionsProvider>(
-        tidy::ClangTidyGlobalOptions(), CTOpts));
+        tidy::ClangTidyGlobalOptions(), ClangTidyOpts));
     CTContext->setDiagnosticsEngine(&Clang->getDiagnostics());
----------------
this is a copy


================
Comment at: clangd/ClangdUnit.cpp:540
                           
llvm::MemoryBuffer::getMemBufferCopy(Inputs.Contents),
-                          PCHs, std::move(VFS));
+                          PCHs, std::move(VFS), Inputs.ClangTidyOpts);
 }
----------------
this is a copy


================
Comment at: clangd/ClangdUnit.h:83
+        IntrusiveRefCntPtr<llvm::vfs::FileSystem> VFS,
+        tidy::ClangTidyOptions ClangTidyOpts);
 
----------------
Passing by value is OK here if deliberate, but let's try to avoid too many 
random copies below.


================
Comment at: clangd/tool/ClangdMain.cpp:204
 
+static llvm::cl::opt<std::string> ClangTidyChecks(
+    "clang-tidy-checks",
----------------
Maybe add a TODO or FIXME to respect .clang-tidy files?


Repository:
  rCTE Clang Tools Extra

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55256/new/

https://reviews.llvm.org/D55256



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to