sammccall added a comment.

I like the change to initialize() a lot.



================
Comment at: clang-tools-extra/clangd/ClangdLSPServer.h:64
+
+    /// Options used for diagnostics.
+    ClangdDiagnosticOptions DiagOpts;
----------------
I don't really like making these options part of this struct.

Currently this struct is largely used to send data from main->ClangdLSPServer.
After this patch, half of the fields are for that and half of them are scratch 
space for ClangdLSPServer to use itself. Worse, they *look* like things that 
can/should be set beforehand, but will in fact the passed values are ignored.
(Admittedly, some of the *inherited* fields are used in the same way, sigh).

Additionally, these options are publicly exposed when they don't need to be - 
these are internals leaking into API without a use case.

---

Having updateServerOptions be a hidden helper rather than a member is nice, but 
I think not as important as the actual public interface.

Grouping the options is also nice. Having the members be consecutive seems 
enough to me (they're almost grouped: background queue state is in the wrong 
place). Adding a second struct also seems like an option though?



Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D133339

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

Reply via email to