Merge extensions under `EXTEND_COMMANDS` into `Context` class

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

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

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
ruby
Lĩnh vực
cli

Hướng nghiên cứu

Kiểm tra EXTEND_COMMANDS trong lib/irb/extend-command.rb và các lệnh gọi được thực hiện từ Context#initialize trong context.rb. Sử dụng mẫu extension trong lib/irb/ext/history.rb làm ví dụ về phần phức tạp cần loại bỏ. Hoàn thành khi các extension được chọn được hợp nhất vào Context, vẫn giữ nguyên hành vi của chúng và loại bỏ các extension hack không cần thiết.

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

Mô tả

There are a few features defined as extensions:

https://github.com/ruby/irb/blob/0e862c5751968c589904ed93c3d707d919390597/lib/irb/extend-command.rb#L314-L319

The intention was that those files will be lazily-loaded until the related methods are called. But if we look at context.rb, we can see that all of the methods are called in Context#initialize. So none of them are lazily loaded anymore.

Consider this lazy-loading mechanism + individual extensions' hacks to extend Context introduces unnecessary complexity to IRB (example), I think we should start merging them one by one.

Ngôn ngữ chính
Ruby
Star
478
Fork
158
Merge trung bình
1 ngày 12 giờ
Pull request đã merge (30 ngày)
12

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

Mở hướng dẫn đóng góp

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.

Issue khác của ruby/irb

Tất cả issue của ruby/irb

Issue tương tự

Thêm issue về Ruby

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.