rust: Follow-up fixes for attribute highlighting (#26172)
Closes #26124 This PR fixes some more cases of improper attribute highlights for rust. In #25501 I tried to address the regression in highlighting rust attributes which were introduced by #25333 . However, I failed to properly check all cases of attribute highlights as shown in the linked issue - really sorry for that! Thus, this is a follow-up fix aiming to resolve the issues the previous PR did not cover. The changes do not affect any highlighting shown in the [previous PR](https://github.com/zed-industries/zed/pull/25501): | `main` | <img width="719" alt="main-working" src="https://github.com/user-attachments/assets/9aa0e611-7bda-4b50-9335-c87da4c38057" /> | | --- | --- | | This PR | <img width="719" alt="PR-working" src="https://github.com/user-attachments/assets/605b275c-1d68-4bd7-97c6-251d7614a7ed" /> | But resolves the mentioned regressions in the linked issue: | `main` | <img width="371" alt="main_broken" src="https://github.com/user-attachments/assets/ebbb47b7-7945-41e0-b030-2fe3f2198653" /> | | --- | --- | | This PR | <img width="371" alt="PR_broken" src="https://github.com/user-attachments/assets/fa97408b-e1d6-4d99-81c1-cfb8073961a4" /> | Again, sorry for not checking this more thoroughly. Release Notes: - Fixed attributes in Rust being improperly highlighted. Co-authored-by: Marshall Bowers <git@maxdeviant.com>
This commit is contained in:
parent
ead60d1857
commit
e9b4fa1465
1 changed files with 10 additions and 4 deletions
|
@ -190,9 +190,15 @@ operator: "/" @operator
|
|||
|
||||
(parameter (identifier) @variable.parameter)
|
||||
|
||||
(attribute_item (attribute (identifier) @attribute))
|
||||
(inner_attribute_item (attribute (identifier) @attribute))
|
||||
(attribute_item (attribute [
|
||||
(identifier) @attribute
|
||||
(scoped_identifier name: (identifier) @attribute)
|
||||
]))
|
||||
(inner_attribute_item (attribute [
|
||||
(identifier) @attribute
|
||||
(scoped_identifier name: (identifier) @attribute)
|
||||
]))
|
||||
; Match nested snake case identifiers in attribute items.
|
||||
(token_tree (identifier) @attribute (#match? @attribute "^[a-z\\d_]*$"))
|
||||
; Override the attribute match for paths in scoped identifiers.
|
||||
(token_tree (identifier) @variable "::")
|
||||
; Override the attribute match for paths in scoped type/enum identifiers.
|
||||
(token_tree (identifier) @variable "::" (identifier) @type (#match? @type "^[A-Z]"))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue