फ़ाइल प्रकार को स्थायी रूप से ack में जोड़ना


16

मैंने हाल ही में सीखा है कि कैसे अधिक फ़िल्टिप्स (निम्नलिखित को जोड़ते हुए .ackrc) का समर्थन किया जाए:

--type-add
latte=.latte

दुर्भाग्य से, यह मेरे द्वारा उपयोग की जाने वाली हर एक खोज पर एक सूचना रेखा पैदा करता है, यहां तक ​​कि 0 परिणाम वाले भी।

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

क्या इसे और स्थायी बनाने का कोई तरीका है? (यानी इस जानकारी लाइन से छुटकारा पाएं) यह मुझे ऐसा लग रहा है जैसे यह हर एक कॉल पर इस नए प्रकार को जोड़ रहा है। यह मेरे ack की स्थापना के साथ एक समस्या है?

मैं मैक ओएस एक्स 10.5.8 पर ऐक 1.92 के साथ हूं (पर्ल 5.10.1 के तहत चल रहा है)


10.6-> 10.5.8 के बारे में: मुझे वास्तव में कोई पता नहीं है कि मैंने 10.6 क्यों लिखा है, मैंने हमेशा 10.5.8 लिखा है ... और जब मुझे इसका एहसास हुआ, तो मैंने इसे बदल दिया ...
मार्टिन टोह

1
अजीब संशोधन इतिहास: @ मेपर ने 5 मिनट की अनुग्रह अवधि के भीतर संपादन शुरू किया, और फिर (मेहपर के शुरू होने के बाद , लेकिन इससे पहले कि वह बचता ) मार्टिन ने "10.6" को "10.5.8" में बदल दिया। इसके बाद, परिवर्तन पूर्ववत था जब मेहपर ने (तब) पुराने पाठ में संपादन को सहेजा - जो कि इतिहास के लिए अभी भी अनुग्रह अवधि के कारण एक ही संशोधन था, इसलिए संस्करण को बदलते हुए मेहपर को सूचीबद्ध किया गया। यदि आप इस बारे में परेशान हैं, तो वोटिंग के बाद सेविंग के बारे में सोचें , जब पोस्ट किसी और द्वारा पोस्ट की गई थी, तब अलर्ट करें
अर्जन

+1 - मैं दस्तावेज़ीकरण के बाद -टाइप-सेट का उपयोग कर रहा था, लेकिन पता नहीं था कि प्रकार एक नई पंक्ति में होने चाहिए
Marcelo Diniz

जवाबों:


18

मुझे लगता है कि प्रलेखन का दावा है कि आप के --type-setबजाय की जरूरत है :

--type-set
latte=.latte

जबकि --type-add, मेरा जोर है:

दिए गए EXTENSION (s) वाली फाइलों को TYPE ( मौजूदा ) प्रकार के होने के रूप में पहचाना जाता है ।


1
+1 यह भी कहता है "यदि आप एक नए प्रकार को परिभाषित करना चाहते हैं, या किसी मौजूदा प्रकार को पूरी तरह से फिर से परिभाषित करना चाहते हैं, तो उपयोग करें --type-set।"
अगली सूचना तक रोक दिया गया।

हम्म् ... मैंने उस खंड को काफी बार पढ़ा है, लेकिन मुझे इस बात का एहसास नहीं था कि मैं अपनी आवश्यकताओं के अनुरूप हूं! धन्यवाद!
मार्टिन टोह

-1

हम्म् ... ackमूल रूप से एक पर्ल स्क्रिप्ट है ... जिसे संपादित करना काफी आसान है:

%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 में किया जा सकता है जो एक बेहतर समाधान है।
नील्स बॉम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.