python: Highlight attribute docstrings (#20763)

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 <24362066+osiewicz@users.noreply.github.com>
This commit is contained in:
Jaagup Averin 2024-11-19 19:53:36 +02:00 committed by GitHub
parent f5cbfa718e
commit 7853e32f80
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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)))))
[
"-"
"-="