MagicStack / MagicStack/MagicPython

Support for PEP 695 (Type parameters / generics)

Aberta
#262 1 comentário 2 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Linguagem predominante
JavaScript
Estrelas
1.4k
Forks
98
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

Related to #229: when writing a generic class/function that uses type parameters, the syntax is incorrectly highlighted. This syntax was introduced in 3.12 via [PEP 695](https://peps.python.org/pep-0695/).

Currently these are incorrectly scoped as attribute access (see attached screenshots). MVP to reproduce is simply

```python
class Foo[T]:
pass
```

* **Editor name and version**: Sublime text 4169
* **Platform**: Windows 10
* **Color scheme**: Monokai
* **MagicPython version**: 1.1.1

![2024-01-15-magicpython_pep_695](https://github.com/MagicStack/MagicPython/assets/6155386/14373e05-517f-414f-b64a-4afeab6becf4)
![2024-01-15-magicpython_pep_695_scope](https://github.com/MagicStack/MagicPython/assets/6155386/8d35ad3a-348e-4505-8794-65c3197ae07d)
![2024-01-15-magicpython_pep_695_scope_2](https://github.com/MagicStack/MagicPython/assets/6155386/64d8a977-4a8e-4351-b77a-7407f7aa7cc0)

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece pelos exemplos da PEP 695 e reproduza o problema usando `class Foo[T]: pass` em um editor compatível. Inspecione as regras de realce de sintaxe que atribuem scopes de acesso a atributos à sintaxe de parâmetros de tipo. Considera-se concluído quando as formas da PEP 695 recebem scopes apropriados e a regressão é coberta pelos testes existentes do projeto, se disponíveis.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python
Domínio
tooling
Tipo de issue
Funcionalidade
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.