2012-06-10 7 views
25

एक्स्यूबरेंट सीटीएजी .ctags फ़ाइल में टिप्पणियां रखने के लिए मैं किस चरित्र का उपयोग कर सकता हूं?एक एक्सबेरेंट सीटीएजी कॉन्फ़िगरेशन फ़ाइल में टिप्पणियां कैसे जोड़ें?

मैं स्पष्टीकरण के साथ टिप्पणियां जोड़ना चाहता हूं, और शायद कुछ regexps को अक्षम करने के लिए।

लेकिन मुझे कोई टिप्पणी चरित्र नहीं मिल रहा है जो ctags-exuberant स्वीकार करता है!
मैं चेतावनी बार आ रही है:

ctags: Warning: Ignoring non-option in /home/joey/.ctags 

जो त्रुटि से बेहतर है, लेकिन अभी भी एक छोटे से परेशान।

मैं #///* ... */ और ; टिप्पणी के रूप में की कोशिश की है, लेकिन ctags उन सब को पार्स करने के लिए कोशिश करता है!

यहाँ कुछ टिप्पणियों के साथ एक उदाहरण फ़ाइल जो ctags शिकायत है के बारे में:

# Add some more rules for Javascript 
--langmap=javascript:+.jpp 
--regex-javascript=/^[ \t]*var ([a-zA-Z_$][0-9a-zA-Z_$]*).*$/\1/v,variable/ 
--regex-javascript=/^[ \t]*this\.([a-zA-Z_$][0-9a-zA-Z_$]*)[ \t]*=.*$/\1/e,export/ 
--regex-javascript=/^[ \t]*([a-zA-Z_$][0-9a-zA-Z_$]*):.*$/\1/p,property/ 
--regex-javascript=/^\<function\>[ \t]*([a-zA-Z_$][0-9a-zA-Z_$]*)/\1/f,function/ 

# Define tags for the Coffeescript language 
--langdef=coffee 
--langmap=coffee:.coffee 
--regex-coffee=/^class @?([a-zA-Z_$][0-9a-zA-Z_$]*)(extends [a-zA-Z_$][0-9a-zA-Z_$]*)?$/\1/c,class/ 
--regex-coffee=/^[ \t]*(@|this\.)([a-zA-Z_$][0-9a-zA-Z_$]*).*$/\2/e,export/ 
--regex-coffee=/^[ \t]*@?([a-zA-Z_$][0-9a-zA-Z_$]*):.*[-=]>.*$/\1/f,function/ 
--regex-coffee=/^[ \t]*([a-zA-Z_$][0-9a-zA-Z_$]*)[ \t]+=.*[-=]>.*$/\1/f,function/ 
--regex-coffee=/^[ \t]*([a-zA-Z_$][0-9a-zA-Z_$]*)[ \t]+=[^->\n]*$/\1/v,variable/ 
--regex-coffee=/^[ \t]*@?([a-zA-Z_$][0-9a-zA-Z_$]*):.*$/\1/p,property/ 

उत्तर

3

जैसा @joeytwiddle बताता है, टिप्पणियां पार्सर द्वारा समर्थित नहीं हैं, लेकिन एक कार्य-आसपास है।

उदाहरण .ctags फ़ाइल:

--regex-C=/$x/x/x/e/ The ctags parser currently doesn't support comments 
--regex-C=/$x/x/x/e/ This is a work-around which works with '/' characters 
--regex-C=/$x/x/x/e/ http://stackoverflow.com/questions/10973224/how-to-add-comments-to-an-exuberant-ctags-config-file 
--regex-C=/$x/x/x/e/ 
--regex-C=/$x/x/x/e/ You can add whatever comment text you want here. 
30

आप नहीं कर सकते! मैंने स्रोत कोड को देखा (उपयुक्त स्रोत प्राप्त करने के लिए धन्यवाद)। अनदेखा करने के लिए लाइनों के लिए कोई जांच नहीं है। प्रासंगिक कोड parseFileOptions() में विकल्प.c

पर कभी-कभी टिप्पणियां एक निपुणता होती हैं, इसलिए एक कामकाज के रूप में मैंने एक regexp के रूप में एक टिप्पणी डाली, इस तरह से कि यह किसी भी चीज़ से मेल खाने की संभावना नहीं है।

--regex-coffee=/^(COMMENT: Disable next line when using prop tag)/\1/X,XXX/ 

^ मैच में मदद करता है, जल्दी से असफल जबकि () आवरण दृश्य प्रभाव के लिए विशुद्ध रूप से है।

आपकी टिप्पणी एक वैध regexp होना चाहिए, stderr पर चेतावनियों से बचने के लिए। (इसका मतलब है कि / एस से बचा जाना चाहिए, और यदि आप []( या ) एस का उपयोग करते हैं तो उन्हें जोड़ा जाना चाहिए।) इन प्रतिबंधों से बचने के लिए टॉम का समाधान देखें।

+3

+1। हैकिश समाधान बदसूरत है हालांकि, मैं चेतावनियों के साथ रहना चाहता हूं। –

+3

एफडब्ल्यूआईडब्ल्यू: यह एक ज्ञात मुद्दा है: http://sourceforge.net/p/ctags/bugs/352/ – jwfearn

+0

क्या हम विकास टीम पर टिप्पणियों के समर्थन का सुझाव दे सकते हैं? – nowox

0

यह देखते हुए कि टिप्पणी से काम नहीं करते, आप वास्तव में एक टिप्पणी की जरूरत नहीं है क्या एक .ctags.readme फाइल के बारे में ...

सबसे चीजों के लिए, उदाहरण के लिए आपको वास्तव में नीचे टिप्पणी की आवश्यकता नहीं है।

# Define tags for the Coffeescript language 
--langdef=coffee 
--langmap=coffee:.coffee 

मैं तथापि देख सकते हैं कि आप कुछ मन regex झुकने समझा टिप्पणियां जोड़ने के लिए चाहते हो सकता है प्रत्येक पंक्ति है कि पूरी तरह से यह जरूरत है कि आप एक markdown फ़ाइल के रूप में .ctags.readme फ़ाइल में पेस्ट कॉपी कर सकते हैं के लिए बहुत:

Forgive me father for I have regexed 
It was purely because I wanted some lovely coffee properties 
``` 
--regex-coffee=/^[ \t]*@?([a-zA-Z_$][0-9a-zA-Z_$]*):.*$/\1/p,property/ 
``` 

आपके पास लाइन ब्रेक से अलग ctags फ़ाइल के नीचे एक ब्लॉक हो सकता है, फिर इस अंतिम ब्लॉक को हटा दें।

आप केवल अपने .ctags फ़ाइल में एक लाइन ब्रेक इस sed लाइन के बाद सभी लाइनों को नष्ट करेगा है, तो तोड़ने

sed -i '/^\s*$/,$d' .ctags 

फिर .ctags में .ctags.readme से पंक्तियां जोड़ के लिए कुछ सरल grepping है।

grep --regex .ctags.readme >> .ctags 
1

कि आप युनिवर्सल-ctag (https://ctags.io) का उपयोग कर रहे आप टिप्पणी की शुरुआत के रूप में '#' का उपयोग कर सकते हैं। स्रोत कोड को देखने के लिए

संबंधित मुद्दे