การเพิ่มประเภทไฟล์ไปยัง ack อย่างถาวร


16

เมื่อเร็ว ๆ นี้ฉันได้เรียนรู้วิธีให้ ack รองรับไฟล์ประเภทอื่น ๆ เพิ่มเติม (เพิ่มรายการต่อไปนี้.ackrc):

--type-add
latte=.latte

น่าเสียดายที่สร้างบรรทัดข้อมูลในทุกการค้นหาแอ๊คที่ฉันใช้แม้แต่ผลลัพธ์ที่มี 0 รายการ

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

มีวิธีที่จะทำให้ส่วนเสริมนี้ถาวรยิ่งขึ้นหรือไม่ (เช่นลบบรรทัดข้อมูลนี้) สิ่งนี้ดูเหมือนว่าฉันจะเพิ่มประเภทใหม่นี้ในทุกการเรียก ack เป็นปัญหากับการติดตั้ง ack ของฉันหรือไม่?

ฉันใช้ Mac OS X 10.5.8 พร้อม ack 1.92 (ทำงานภายใต้ Perl 5.10.1)


เกี่ยวกับ 10.6-> 10.5.8: ฉันไม่รู้เลยว่าทำไมฉันถึงเขียน 10.6 ฉันมี 10.5.8 เสมอ ... และเมื่อฉันรู้ว่ามันฉันเปลี่ยนมัน ...
Martin Tóth

1
ประวัติการแก้ไขที่ผิดปกติ: @Mehper เริ่มแก้ไขภายในระยะเวลาผ่อนผัน 5 นาทีจากนั้น (หลังจาก Mehper เริ่มแต่ก่อนที่เขาจะบันทึก ) Martin เปลี่ยน "10.6" เป็น "10.5.8" ถัดไปการเปลี่ยนแปลงถูกยกเลิกเมื่อ Mehper บันทึกการแก้ไขลงในข้อความเก่า (ซึ่ง) - ซึ่งสำหรับประวัติยังคงมีการแก้ไขเหมือนเดิมเนื่องจากช่วงเวลาผ่อนผันดังนั้นรายการ Mehper จึงเปลี่ยนเวอร์ชั่น หากคุณใส่ใจเกี่ยวกับเรื่องนี้แล้วพิจารณาลงคะแนนหลังจากบันทึกการแจ้งเตือนเมื่อมีการโพสต์ถูกบันทึกไว้ในขณะเดียวกันโดยคนอื่น
Arjan

+1 ฉันใช้ --type-set ตามเอกสาร แต่ไม่รู้ว่าควรเป็นประเภทใดในบรรทัดใหม่
Marcelo Diniz

คำตอบ:


18

ดูเหมือนว่าเอกสารอ้างว่าคุณต้องการ--type-setแทน:

--type-set
latte=.latte

ในขณะที่--type-addสำหรับฉันเน้น:

ไฟล์ที่มีส่วนขยายที่กำหนดจะถูกรับรู้ว่าเป็นประเภท (TYPE) ที่มีอยู่เดิม


1
+1 นอกจากนี้ยังมีคำว่า "หากคุณต้องการกำหนดประเภทใหม่หรือกำหนดประเภทที่มีอยู่ใหม่ให้สมบูรณ์ให้ใช้--type-set"
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

อืม ... ฉันได้อ่านหัวข้อนั้นสองสามครั้ง แต่ฉันไม่ได้ตระหนัก / เข้าใจว่าฉันเหมาะสมกับความต้องการของฉัน! ขอบคุณ!
Martin Tóth

-1

อืม ... ackนั้นเป็นสคริปต์ Perl ... ซึ่งค่อนข้างง่ายต่อการแก้ไข:

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

แต่ยังมีวิธีการแก้ปัญหานี้อีกหรือไม่


4
หากคุณแก้ไข ack-grep ตัวเองคุณจะเสียประโยชน์จากการอัปเกรดที่ตามมาเนื่องจากการอัปเกรดจะเขียนทับการเปลี่ยนแปลงของคุณ การกำหนดค่าสามารถทำได้ใน .ackrc ซึ่งเป็นโซลูชั่นที่เหนือกว่า
Niels Bom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.