Add support for PEP 585
sprt opened this issue · 2 comments
Since PEP 585 implemented in Python 3.9, one can use the generics syntax even with built-in collections, not just those included in typing (e.g. list vs. typing.List).
As such, in the screenshot below, the type hint for argument c isn't highlighted properly. In list[int], both list and int should be highlighted, whereas only int is highlighted currently. The type hint for argument b is highlighted correctly (and same for a).
Unfortunately there is no scope for inline type hints at all - as far as I could find.
The yellow highlighting in your screenshot is because int and list have the scope support.type.python. This scope also applies for the int in this snippet: print(int(1.2)).
There are scopes for type hint comments though:
meta.typehint.comment.python
comment.typehint.directive.notation.python
comment.typehint.ignore.notation.python
comment.typehint.punctuation.notation.python
comment.typehint.type.notation.python
comment.typehint.variable.notation.python
I would love to see one or multiple scope(s) for inline type hints (variables, parameters, returns) like PyCharm has.
EDIT: with the new Pylance language server you can get semantic highlighting including type hints: https://github.com/microsoft/pylance-release#semantic-highlighting
