Unicode characters
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Ruby
- Star
- 155
- Fork
- 37
- Merge trung bình
- 4 ngày 2 giờ
- Pull request đã merge (30 ngày)
- 1
Mô tả
Currently, error_highlight does not handle Unicode characters well. There are two subissues.
- Ruby::AST::Node#first_column and #last_column seem to return the column in bytes, but String#match handles the index in characters. We need to convert the column indexes.
- Some Unicode characters are displayed as two (or more?) columns in a terminal with monospace font.
(1) is relatively simple, but (2) is a bit tough. It requires a table telling how many columns each character has. It is known that Reline has such a table. But because error_highlight is a built-in gem that is loaded at Ruby process invocation, it is not good for error_highlight to depend on Reline (unless we make Reline a special built-in gem). We need to discuss how we make the table available to error_highlight.
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ách Ruby::AST::Node#first_column và #last_column được sử dụng với String#match, sau đó so sánh dữ liệu độ rộng Unicode trong lib/reline/unicode/east_asian_width.rb của Reline. Tái hiện cả các trường hợp chỉ mục byte và độ rộng terminal; để hoàn tất, cần có một phương án thống nhất cho việc chuyển đổi ký tự và cung cấp dữ liệu độ rộng mà không phụ thuộc vào một dependency không phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- ruby
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- 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
- 25/100