[PATCH] D66990: [clangd] Add distinct highlightings for declarations of functions and methods
Nathan Ridge via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 3 12:22:00 PDT 2019
nridge added a comment.
In D66990#1655175 <https://reviews.llvm.org/D66990#1655175>, @ilya-biryukov wrote:
> In D66990#1655030 <https://reviews.llvm.org/D66990#1655030>, @nridge wrote:
>
> > I was hoping though that a patch like this, which would bring us largely to parity with Eclipse CDT's highlightings, wouldn't need to blocked on a change to the upstream protocol proposal, which could take a while.
>
>
> Is feature parity a hard requirement? Having slightly different highlightings in that case should not be too disruptive.
Not a hard requirement, just a nice-to-have for someone moving from one tool to another :)
If you feel that for now it's better not to do this, I can respect that.
>> I think the way cquery does it <https://github.com/cquery-project/vscode-cquery/blob/4aac325dcf0735aa5d5f98960f28d6af6ca83d50/src/extension.ts#L84> it better in this regard: in place of a single kind enum, they essentially have a 4-tuple of `(kind, parent kind, storage class, role)`.
>
> A design like this definitely makes more sense. I was thinking of a slightly simpler model: adding a set of "modifiers" to each highlighting should be enough to encode all of it, e.g. a modifier 'is class member' could be used to distinguish methods and fields from global functions and variables, a modifier 'is usage' can be used to distinguish usages from declarations, etc.
> But there's no combinatorial explosion in the cquery's model, which is the important bit.
I will suggest this for the upstream protocol and see where that goes.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D66990/new/
https://reviews.llvm.org/D66990
More information about the cfe-commits
mailing list