Tôi yêu tiện ích tìm kiếm mã ack
. Nó đủ thông minh để xem qua Makefiles, nhưng không biết về các tệp SConstruct và SConscript mà scons sử dụng. Làm cách nào để thêm những tệp đó vào các tệp mà ack sẽ xem?Thêm các tệp SCON vào các tìm kiếm ack
Trả lời
Điều này không thể thực hiện được bằng cách sử dụng bộ loại của ack. Makefiles and Rakefiles are hard-coded trong nguồn. Tôi nghĩ bạn có thể thêm loại scons bằng cách sửa đổi $HOME/.ackrc
và thêm --type-set=scons=SConstruct,SConscript
, nhưng điều đó sẽ tìm kiếm tệp kết thúc bằng ".SConstruct" hoặc ".SConscript".
Cách giải quyết đơn giản nhất là thêm cờ -a (tất cả các loại tệp) vào ack.
Nếu bạn chỉ muốn tìm kiếm và có thể lọc SConstruct bằng cách nào đó, thì bạn có thể thêm #!/usr/bin/python
làm dòng đầu tiên của tệp SConstruct. Sau đó, Ack sẽ xử lý tệp dưới dạng mã nguồn python và bạn có thể lọc bằng --python
.
Đây là một bản vá mà đối xử với file SCons thích làm cho các tập tin:
--- ~/bin/ack-old 2011-06-01 15:43:51.000000000 -0600
+++ ~/bin/ack 2011-06-01 15:42:09.000000000 -0600
@@ -1583,6 +1583,8 @@
return 'skipped' unless is_searchable($basename);
+ return ('python',TEXT) if $basename eq 'SConstruct' || $basename eq 'SConscript';
+
my $lc_basename = lc $basename;
return ('make',TEXT) if $lc_basename eq 'makefile' || $lc_basename eq 'gnumakefile';
return ('rake','ruby',TEXT) if $lc_basename eq 'rakefile';
Tôi đang chạy gói deb của ack phiên bản 1.92 trên Ubuntu 10.04 và bản vá tương tự có thể được áp dụng theo cách thủ công vào /usr/share/perl5/App/Ack.pm tại dòng 476. –
Một mới ack2 đang được phát triển mà sẽ cho phép kết hợp tập tin chính xác trong file .ackrc. Điều đó sẽ cho phép hỗ trợ Scons và Jam dễ dàng hơn.
Xem http: // stackoverflow. com/questions/9508431/ack-binding-an-fact-file-name-to-a-filetype để biết thêm về điều này. –
- 1. Ack: Tìm kiếm cây thư mục cho các tệp có đuôi cụ thể
- 2. ack: Loại trừ các thư mục cụ thể khỏi tìm kiếm qua regex
- 3. Tìm kiếm các tệp nhật ký lớn
- 4. Tạo một Xây dựng theo Cấp bậc với các SCON
- 5. Thêm các tệp tài nguyên vào xcode
- 6. Thêm mục vào thanh công cụ Tìm kiếm
- 7. Thêm một keychain vào danh sách tìm kiếm?
- 8. Lệnh Emacs để tìm kiếm trong các tệp
- 9. 7Zip thêm mã hóa vào các tệp
- 10. Thêm các tệp css khác vào wp_head
- 11. Thêm điểm tham chiếu vào A * tìm kiếm đồ thị
- 12. Cách thêm tùy chọn tìm kiếm vào Android Spinner?
- 13. Các scon có biết trong thư mục nào có tệp SConscript không?
- 14. Tìm kiếm thông qua các tệp PDF với PHP
- 15. Tìm kiếm hoặc lập chỉ mục các tệp XML
- 16. Tìm kiếm mã nhận xét trên các tệp trong Eclipse
- 17. XCode - văn bản tìm kiếm trong tất cả các tệp
- 18. Cách tìm kiếm thông qua các tệp mã VBA
- 19. Cách tìm kiếm một chuỗi trong các tệp JAR
- 20. Tìm kiếm trong các tệp lớn với ifstream
- 21. Tìm kiếm đường dẫn cho các tệp .d.ts typescript
- 22. Cách thêm đường dẫn tìm kiếm thư viện được chia sẻ vào tệp thực thi?
- 23. MongoVue tìm kiếm ngày thêm 1 vào tháng
- 24. thêm biểu tượng tìm kiếm vào ô nhập
- 25. Làm cách nào để tìm kiếm các tệp trong Eclipse để các kết quả hiển thị các tệp KHÔNG chứa cụm từ tìm kiếm?
- 26. Tôi có thể yêu cầu các bộ tìm kiếm bỏ qua các lớp mà tôi không thể thêm vào không?
- 27. Làm cách nào để loại trừ một tệp cụ thể khỏi ack (ack-grep)?
- 28. Thêm huy hiệu vào biểu tượng tệp trong Trình tìm kiếm
- 29. Phụ thuộc transitive cho các thư viện tĩnh và SCON
- 30. Tệp cấu hình SCON và giá trị mặc định
Điều đó dường như chỉ hoạt động đối với các tệp .scons, không phải SConstruct hoặc SConscript. – jblocksom
Gah, bạn nói đúng. Chỉ cần kiểm tra mã nguồn - "makefile" và "rakefile" là các ngoại lệ được mã hóa cứng. – richq
Cảm ơn bạn đã tìm kiếm điều đó. Tôi đã có thể sửa đổi phiên bản địa phương của tôi để thêm SConstruct và SConscript trong cùng một cách makefiles đang ở trong đó, có lẽ tôi sẽ gửi một bản vá. Tôi phải nói rằng tôi không điên về quyết định thiết kế scons để sử dụng các tập tin w/out mở rộng, mặc dù tôi đã nhìn thấy các hệ thống xây dựng khác mà làm như vậy. – jblocksom