[PATCH] D139926: [clangd] Add semantic tokens for angle brackets

Kadir Cetinkaya via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 16 07:26:24 PST 2023


kadircet added a comment.

Sorry for missing this one, apparently I've already started writing an answer but got context switching and forgot about it.

> This is needed for clients that would like to visualize matching
> opening and closing angle brackets, which can be valuable in non-trivial
> template declarations or instantiations.

I am not sure how the clients will make use of this information to visualize "matching" angle brackets. all the opening and closing brackets are likely to be visualized in the same way (respectively), no?
This will only make sure we have a distinction between `<<` and `>>` used as operators vs `<`/`>` and the rest of the work to highlight matching braces needs to be specially done by the editor.
Since we've the distinction of "operator" now as @nridge pointed out, I would rather want editors to use that information to skip brackets that have the operator highlighting.
I am not sure what concrete cases you've (it would help if you could provide some examples) for the incomplete code argument, because it goes both ways, i.e. I don't think the false positives you get in operators vs template argument lists won't be any different (e.g. foo<int> x, where `foo` is not defined won't have right highlighting).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139926



More information about the cfe-commits mailing list