Thêm loại tệp vào ack vĩnh viễn


16

Gần đây tôi đã học được cách để ack hỗ trợ nhiều kiểu tệp hơn (thêm phần sau vào .ackrc):

--type-add
latte=.latte

Thật không may, điều đó tạo ra một dòng thông tin trên mỗi tìm kiếm ack tôi sử dụng, ngay cả những người có 0 kết quả.

$ ack --latte dump
ack: --type-add: Type "latte" does not exist, creating with ".latte" ...

Có cách nào để làm cho điều này một bổ sung lâu dài hơn? (tức là thoát khỏi dòng thông tin này) Điều này đối với tôi giống như nó thêm loại mới này vào mỗi cuộc gọi ack. Có vấn đề với việc cài đặt ack của tôi không?

Tôi đang dùng Mac OS X 10.5.8 với ack 1.92 (Chạy theo Perl 5.10.1)


Về 10.6-> 10.5.8: Tôi thực sự không biết tại sao tôi viết 10.6, tôi luôn có 10.5.8 ... Và khi tôi nhận ra, tôi đã thay đổi nó ...
Martin Tóth

1
Lịch sử sửa đổi kỳ lạ: @Mehper bắt đầu chỉnh sửa trong vòng 5 phút ân hạn, và sau đó (sau khi Mehper bắt đầu , nhưng trước khi anh ta lưu ) Martin đã thay đổi "10.6" thành "10.5.8". Tiếp theo, thay đổi đã được hoàn tác khi Mehper lưu các chỉnh sửa vào văn bản cũ hơn (sau đó) - mà lịch sử vẫn là bản sửa đổi do thời gian ân hạn, do đó liệt kê Mehper là thay đổi phiên bản. Nếu bạn bận tâm về điều này, thì hãy xem xét bỏ phiếu cho Sau khi lưu, hãy cảnh báo khi bài đăng được lưu bởi người khác .
Arjan

+1 Tôi đã sử dụng --type-set theo tài liệu nhưng không biết các loại nên có trong một dòng mới
Marcelo Diniz

Câu trả lời:


18

Dường như với tôi rằng tài liệu yêu cầu bạn cần --type-setthay thế:

--type-set
latte=.latte

Trong khi đó --type-add, tôi nhấn mạnh:

Các tệp có (các) EXTENSION đã cho được nhận dạng là loại TYPE ( hiện có ).


1
+1 Nó cũng cho biết "Nếu bạn muốn xác định một loại mới hoặc xác định lại hoàn toàn một loại hiện có, thì hãy sử dụng --type-set."
Tạm dừng cho đến khi có thông báo mới.

Hmmm ... Tôi đã đọc phần đó khá nhiều lần, nhưng tôi không nhận ra / hiểu, rằng tôi phù hợp với nhu cầu của mình! Cảm ơn!
Martin Tóth

-1

Hmmm ... ackvề cơ bản là tập lệnh Perl ... khá dễ chỉnh sửa:

%mappings = (
    actionscript => [qw( as mxml )],
    ada         => [qw( ada adb ads )],
...
    latte       => [qw( latte )],
...
    yaml        => [qw( yaml yml )],
    xml         => [qw( xml dtd xslt ent )],
);

Nhưng vẫn còn, có một giải pháp khác cho điều này?


4
Nếu bạn tự chỉnh sửa ack-grep, bạn sẽ mất lợi ích của các lần nâng cấp tiếp theo vì việc nâng cấp sẽ ghi đè lên các thay đổi của bạn. Cấu hình có thể được thực hiện trong .ackrc là một giải pháp ưu việt.
Niels Bom
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.