MagicStack / MagicStack/MagicPython

Support for PEP 695 (Type parameters / generics)

Đang mở
#262 1 bình luận 2 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Ngôn ngữ chính
JavaScript
Star
1.4k
Fork
98
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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)

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với các ví dụ PEP 695 và tái hiện vấn đề bằng cách sử dụng `class Foo[T]: pass` trong một trình soạn thảo được hỗ trợ. Kiểm tra các quy tắc tô sáng cú pháp gán scopes truy cập thuộc tính cho cú pháp tham số kiểu. Được xem là hoàn thành khi các dạng PEP 695 nhận được scopes phù hợp và hồi quy được bao phủ bởi các bài kiểm thử hiện có của dự án, nếu có.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
tooling
Loại issue
Tính năng
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
45/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.