dgoldman added inline comments.

================
Comment at: clang-tools-extra/clangd/TextMarks.h:22
+/// Represents a programmer specified mark/note, typically used to easily 
locate
+/// or differentiate code. e.g. a `pragma mark`, a `TODO`.
+///
----------------
sammccall wrote:
> dgoldman wrote:
> > sammccall wrote:
> > > This seems like premature abstraction - you don't handle TODOs here, nor 
> > > are they appropriate for the single use case we have. Moreover they don't 
> > > satisfy the definition here: `int foo; // TODO: turn into a float` the 
> > > TODO doesn't occupy the whole line.
> > > 
> > > If we need it, the appropriate generalization seems just as likely to be 
> > > "pragmas" or "directives" as "textual marks".
> > > 
> > > Similarly, it's not clear that the logic around interpreting the strings 
> > > e.g. as groups needs to be shared across features, nor is it terribly 
> > > complicated.
> > > So the interface here seems like it could be much simpler:
> > > ```
> > > struct PragmaMark {
> > >   unsigned Line;
> > >   string Text;
> > > }
> > > unique_ptr<PPCallbacks> collectPragmaMarksCallback(const SourceManager&, 
> > > vector<PragmaMark> &Out);
> > > ```
> > > 
> > > I'd suggest putting this in CollectMacros.h (which would be misnamed but 
> > > not terribly, or we could always rename) rather than adding a new header.
> > We don't handle them at the moment, but Xcode does (for both Swift + ObjC): 
> > https://medium.com/@cboynton/todo-make-your-notes-on-xcode-stand-out-5f5124ec064c.
> >  You're right that they don't necessarily have to occupy the whole line 
> > though, it's possible to have multiple per line although I'm not sure how 
> > often that is used in practice.
> This seems like a very different case, and I'm not convinced we should 
> support it.
> 
> That `#pragma mark`s are used for grouping seems like the strongest argument 
> for including them in the outline.  TODOs are not used for grouping.
> 
> The majority of `#pragma mark`s are written with XCode's conventions in mind, 
> the majority of TODO comments are not. So there's a real question of whether 
> authors want this. (And whether it should include all comments, or other 
> kinds of structured comments...)
> 
> I'd suggest keeping the scope small and concrete. If you'd like to add 
> abstractions because more cases are imminent, we probably need to get 
> consensus on (some of) these cases first.
> 
> 
Technically Xcode also supports `// MARK` comments as well, but almost all 
users internally use `#pragma mark`. I do think the TODO/FIXME in the outline 
could be useful (Xcode does it...), but if you're against it I'll remove this.




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D105904

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

Reply via email to