Skip to content

Commit

Permalink
python: Highlight attribute docstrings (#20763)
Browse files Browse the repository at this point in the history
Adds more docstring highlights missing from #20486.
[PEP257](https://peps.python.org/pep-0257/) defines attribute docstrings
as
> String literals occurring immediately after a simple assignment at the
top level of a module, class, or __init__ method are called “attribute
docstrings”.

This PR adds `@string.doc` for such cases.
Before:

![Screenshot_20241116_162257](https://github.com/user-attachments/assets/6b471cff-717e-4755-9291-d596da927dc6)
After:

![Screenshot_20241116_162457](https://github.com/user-attachments/assets/96674157-9c86-45b6-8ce9-e433ca0ae8ea)

Release Notes:

- Added Python syntax highlighting for attribute docstrings.

---------

Co-authored-by: Piotr Osiewicz <[email protected]>
  • Loading branch information
JaagupAverin and osiewicz authored Nov 19, 2024
1 parent f5cbfa7 commit 7853e32
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions crates/languages/src/python/highlights.scm
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,25 @@
(parameters)?
body: (block (expression_statement (string) @string.doc)))

(module
(expression_statement (assignment))
. (expression_statement (string) @string.doc))

(class_definition
body: (block
(expression_statement (assignment))
. (expression_statement (string) @string.doc)))

(class_definition
body: (block
(function_definition
name: (identifier) @function.method.constructor
(#eq? @function.method.constructor "__init__")
body: (block
(expression_statement (assignment))
. (expression_statement (string) @string.doc)))))


[
"-"
"-="
Expand Down

0 comments on commit 7853e32

Please sign in to comment.