hokein added inline comments.

================
Comment at: clang-tools-extra/clangd/clients/clangd-vscode/src/TextMate.ts:20
+            const split = scope.split('.');
+            while(split.length > 0) {
+                split.splice(-1)
----------------
jvikstrom wrote:
> I'm pretty sure this matching logic is wrong. An example of the scopes for 
> variables in the Light+ theme:
> 
> ```
> variable.css
> variable.scss
> variable.other.less
> variable.language.wildcard.java
> variable.language
> storage.type.variable.cs
> variable
> meta.definition.variable.name
> support.variable
> entity.name.variable
> ```
> 
> With this kind of matching we have now this means that `variable.other.less` 
> will match `variable.other` and `variable.other.less`.
> As there is no perfect match for `variable.other.field` it will try to match 
> `variable.other` and find the color for less.
> 
> What should probably be done is remove the divided map. The query function 
> should still be the same but  query on this.colors instead of this.divided.
The suffix of textmate indicates the language it belongs to (e.g. java), I 
think we can ignore non-C++ textmates, and merely find the longest-prefix match 
in all `c++` textmates?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D65637



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

Reply via email to