Support multiple files from the CLI (support dir globs)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 45/100
Hướng nghiên cứu
Bắt đầu tại lib/dead_end/cli.rb, khoảng các dòng 43-55, nơi CLI hiện đang xử lý các đầu vào, và theo dõi cách đường dẫn đầu tiên được chọn. Kiểm tra các đặc tả CLI và tích hợp hiện có về hành vi của đối số. Được xem là hoàn thành khi một lệnh như dead_end **/*.rb xử lý mọi tệp đã được mở rộng thay vì chỉ tệp đầu tiên.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
To run this against multiple files developers want to run:
$ dead_end **/*.rb
This doesn't work today due to terminal globbing, which we don't yet support. What's happening when that command is run is that info isn't coming to dead_end. Your shell is expanding the input to be all files:
$ echo **/*.rb
lib/dead_end.rb lib/dead_end/around_block_scan.rb lib/dead_end/auto.rb lib/dead_end/block_expand.rb lib/dead_end/capture_code_context.rb lib/dead_end/clean_document.rb lib/dead_end/cli.rb lib/dead_end/code_block.rb lib/dead_end/code_frontier.rb lib/dead_end/code_line.rb lib/dead_end/code_search.rb lib/dead_end/display_code_with_line_numbers.rb lib/dead_end/display_invalid_blocks.rb lib/dead_end/explain_syntax.rb lib/dead_end/insertion_sort.rb lib/dead_end/left_right_lex_count.rb lib/dead_end/lex_all.rb lib/dead_end/lex_value.rb lib/dead_end/parse_blocks_from_indent_line.rb lib/dead_end/ripper_errors.rb lib/dead_end/version.rb spec/integration/dead_end_spec.rb spec/integration/exe_cli_spec.rb spec/integration/ruby_command_line_spec.rb spec/spec_helper.rb spec/unit/around_block_scan_spec.rb spec/unit/block_expand_spec.rb spec/unit/capture_code_context_spec.rb spec/unit/clean_document_spec.rb spec/unit/cli_spec.rb spec/unit/code_block_spec.rb spec/unit/code_frontier_spec.rb spec/unit/code_line_spec.rb spec/unit/code_search_spec.rb spec/unit/display_invalid_blocks_spec.rb spec/unit/explain_syntax_spec.rb spec/unit/insertion_sort_spec.rb spec/unit/lex_all_spec.rb
So what's really happening when you run that dead_end **/*.rb command (I think) is that we're only looking at the first file in the list. i.e. calling this:
$ dead_end **/*.rb
Is functionally the same as calling:
$ dead_end lib/dead_end.rb # based on the file output from above
That's the problem.
Solution
The fix would be pretty easy, which would be to look at all inputs rather than just the first one. Essentially change this in the CLI to loop over all args, https://github.com/zombocom/dead_end/blob/e8eb54c651bfa196fc933f76def5d811bb5d57dc/lib/dead_end/cli.rb#L43-L55
- Ngôn ngữ chính
- Ruby
- Star
- 350
- Fork
- 17
- Merge trung bình
- 48 phút
- Pull request đã merge (30 ngày)
- 5
Chuẩn bị môi trường
Chúng tôi chưa kiểm tra các tệp thiết lập môi trường của dự án này. Hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
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.
Issue khác của ruby/syntax_suggest
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
ruby/syntax_suggest#258 · 6 bình luận ·
-
Accidental if instead of a blockĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 30/100
ruby/syntax_suggest#206 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 42/100
ruby/syntax_suggest#205 · 1 bình luận ·
-
RSpec won't use syntax_suggestĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
ruby/syntax_suggest#171 · 3 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
ruby/syntax_suggest#118 · 3 bình luận ·
Tất cả issue của ruby/syntax_suggest
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
misa.G should not be definedĐang mởdata error
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
riscv/riscv-unified-db#2648 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
P2 testing
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 90/100
Maintainer thường phản hồi trong vòng 1 ngày