Skip to content

Add support for PEP 585 #229

Not planned
Not planned
@sprt

Description

@sprt

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).

  • Editor name and version: VS Code 1.51.1
  • Platform: Ubuntu 16.04
  • Color scheme: Tomorrow Night (also tested with other ones but none exhibit the desired behavior)
  • MagicPython version: From the VS Code extension = 1.1.0
  • A screenshot:
    Screenshot from 2020-11-16 15-29-09
  • 5-10 lines of surrounding code: None

Activity

Cielquan

Cielquan commented on Dec 3, 2020

@Cielquan

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

asottile

asottile commented on Mar 12, 2025

@asottile
Contributor

wasn't too bad, one line change in #271 to support this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    Participants

    @sprt@vpetrovykh@asottile@Cielquan

    Issue actions

      Add support for PEP 585 · Issue #229 · MagicStack/MagicPython