ckandeler added a comment.

In D143260#4122523 <https://reviews.llvm.org/D143260#4122523>, @kadircet wrote:

> at hindsight i can't see why `goto X;` and `X:` is not enough for clients to 
> implement this without any need for semantic analysis. are there contexts 
> where this kind of syntactical match is not enough?

I suppose the label *use* could be identified by looking at the previous token, 
but not the label *declaration* (see below).

> moreover there are other label-like constructs that we're not handling, e.g. 
> access specifiers and switch cases.

But access specifiers are a completely different thing semantically, that's the 
point: The user does not tell the client: "I want everything  that is followed 
by a single colon in this color"; that would be silly. They say "I want goto 
labels in this color", exactly because then they immediately stand out compared 
to access specifiers.
switch cases are indeed similar semantically, but the difference is that they 
already have a category assigned: They are either enum values (a semantic token 
type in clangd), macros (ditto) or number literals (likely to be its own 
category in the client's syntax highlighter).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D143260

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

Reply via email to