hokein marked an inline comment as done.
hokein added inline comments.

================
Comment at: clangd/ClangdLSPServer.h:132
 
-  RealFileSystemProvider FSProvider;
   /// Options used for code completion
----------------
ilya-biryukov wrote:
> hokein wrote:
> > sammccall wrote:
> > > 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`
> > Yes, this is the main reason I did this change.
> It still feels that `ClangdLSPServcer` is closely tied to real fs, so I don't 
> see how that makes things simpler. I wouldn't call the presence of 
> out-of-tree modifications a good reason to do this change, at least not 
> without tests and comments explaining why this needs to be configurable.
> 
> WRT to `ClangdServer::Options`, I believe this goes back to the previous 
> discussion we had about putting the non-data configuration parameters 
> (Index+FSProvider+CompilationsDB). I'd say put `CompilationsDB` into 
> `Options` as well if you plan to put FSProvider, they should really live 
> together (i.e. the reason we have out-of-tree modifications is closely tied 
> to our custom CDB, so it makes sense for both to stay together). 
> 
> FWIW, I still think they're FSProvider+CDB+Index should be separate 
> parameters, but that goes back to the earlier conversation we had with 
> @sammccall when the `Options` were added in the first place.
> 
> Not a big deal, just wanted to convey the intention of my original comment.
> It still feels that ClangdLSPServcer is closely tied to real fs, so I don't 
> see how that makes things simpler. I wouldn't call the presence of 
> out-of-tree modifications a good reason to do this change, at least not 
> without tests and comments explaining why this needs to be configurable.

This would simplifier our internal modification (just 1-2 line changes) -- 
ClangTidyOptionProvider needs to know FileSystem, we need a way to retrieve it 
(I believe both clangdLSPServer and ClangTidyOptionProvider should share the 
same non-real FS internally). An optional way is to add a `GetFS` method in 
ClangdLSPServer.

Anyway, I think this shouldn't block this patch, we could revisit it afterwards.




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