jeaye/color_coded

Incorrect/missing highlighting

jeaye opened this issue · 4 comments

Due to some bugs in libclang, certain bits of code are either highlighted incorrectly or are not highlighted at all. This ticket should be used to aggregate the known instances of this and provide whether or not they've been resolved in my libclang fork.

Status Description
(unresolved) In-class member initializer values
(unresolved) Lamba function parameters when there's a trailing return type
(resolved - not me) Range-based for loop components
(unresolved) Calling op [] on a function return value
(unresolved)

If you find any unlisted items, please add a comment below and, if you can, provide the smallest bit of code required to reproduce the problem. Debugging libclang is far from fun.

I sent a link to this issue to a clang dev I know. You might now get some eyes on your bug reports (no promises).

r4nt commented

If you have patches for libclang fixes, please send them to cfe-commits (and to: me (klimek@google.com)). Otherwise libclang bugs currently have a low chance of getting fixed. Cheers!

jeaye commented

@r4nt I had posted to cfe-commits back in March: http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20150323/126191.html and didn't gain any traction. What would you recommend?

How libclang bug reports, patches, and requests are handled is very frustrating for the layman who has found an issue, fixed it, and just wants llvm/clang devs to acknowledge the issue and take over.

r4nt commented

Currently nobody (as far as I'm aware of) has time to triage libclang bugs. Thus, they will rarely be picked up. The best way is to provide a patch and follow clang's patch submission guidelines (http://clang.llvm.org/get_involved.html). cc' me (klimek@google.com) when you send a patch - I try to get to all libclang patches within a week, but now and then I miss one.

I understand that you're frustrated, and I'm hoping we can make this a bit better in the future. One problem is that when you write "just wants llvm/clang devs to acknowledge the issue and take over.", the "just" is often a full day's work - writing good tests, figuring out why things were the way they are in the first place, etc. Following the patch submission process will turn the patch into a contribution to the project, and thus a) increase the probability that you'll get faster / any reaction and b) the better / more your contributions, the faster people will react to your complaints.

I hope that we'll find an owner for libclang in the near future, but that'll need somebody who's willing to spend time contributing a stream of high quality commits and reviewing others patches.