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