microsoft / microsoft/TypeScript-TmLanguage
Tokenising failure on parenthesis-wrapped object literal's type assertion operators `as keyof typeof`
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- TypeScript
- Star
- 471
- Fork
- 149
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
JavaScript and TypeScript Nightly version: 5.3.0-dev.20231015
Code
This is the minimal and possible code for compare and constrast.
The example might not cover all posibilities that leads to this issue.
type A = { a: "", b: "" }
const a = { a: "", b: "" }
const c = ({
key: a.a, label: a.b[a.a as keyof typeof a.b]
})
const d = (
{
key: a.a, label: a.b[a.a as keyof typeof a.b]
})
const e =
{ key: a.a, label: a.b[a.a as keyof typeof a.b] }
const f =
{
key: a.a, label: a.b[a.a as keyof typeof a.b]
}
When the object literal is going to be written like d, the inner operator as keyof typeof is tokenised as variable.parameter.ts or (tsx), but not keyword.*.
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
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu bằng cách kiểm tra các tệp ngữ pháp TypeScript TextMate của repository và tái hiện các ví dụ được cung cấp trong trình tô sáng cú pháp của editor tương ứng. So sánh việc tô sáng as keyof typeof trong object literal được bọc bằng dấu ngoặc đơn với các ví dụ khác; được xem là hoàn tất khi các toán tử đó nhận được các scope keyword thay vì variable.parameter.ts hoặc scope tương đương của TSX.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- typescript
- Lĩnh vực
- tooling
- Loại issue
- Lỗi
- Độ 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
- 35/100