[PATCH] D54077: [clangd] Implemented DraftFileSystem

Manuel Klimek via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 6 01:52:24 PST 2018

klimek added a comment.

In https://reviews.llvm.org/D54077#1288404, @ioeric wrote:

> In https://reviews.llvm.org/D54077#1288387, @sammccall wrote:
> > Someone mentioned to me that the interaction-between-features argument wasn't clear here:
> >
> > - we **don't** currently update diagnostics for `A.cc` when `A.h` is edited
> > - we should, this seems more obvious & important than what we do with drafts
> > - this interacts badly with using draft state, as this patch proposes - there are too many edits
> FWIW, one of my "pain points" when using vim+clangd is:
> - Edit `A.h` in a buffer (and forget to save)
> - Switch to `A.cc` in another buffer
> - Realize that I forgot to save `A.h`
> - Go back to save `A.h`
> - Jump back to `A.cc` file.
>   I would be very happy if `A.cc` can see the unsaved `A.h` when I am editing `A.cc`. I think the update should be relatively less frequent with this approach, as people don't usually update multiple files at the same time.  Not sure if I want all files that depend on `A.h` to be updated when I edit `A.h` though; it seems much more complicated and less important (to me).

I can see this is a problem when you forget to save. On the other hand, one case I encounter frequently enough is:
edit A.h, save
go to B.cc (that includes it), see errors that it causes (here and in other files)
go to A.h, fix error, save
go to B.cc (or a different file that includes A.h) and wanting to see the error gone

  rCTE Clang Tools Extra


More information about the cfe-commits mailing list