2011-12-12 19 views
9

Emacs में, अलग-अलग रंगों के साथ विभिन्न डेटा प्रकारों के सभी चर को चिह्नित करना संभव है? जैसे अगर मैं C/C++ मेरे कार्यक्रम में निम्न चर राशिemacs में सिंटेक्स हाइलाइटिंग। विभिन्न रंगों के साथ विभिन्न डेटा प्रकारों को चिह्नित करना

int i,j; 
float g,h; 
char a,b; 

फिर स्रोत कोड मैं और जे लाल, ग्राम और हरे, ए और बी नीला के रूप में के रूप में ज के रूप में चिह्नित किया जाएगा भर में। (नहीं है कि मैं इस संकेतन का उपयोग: डी)

मुझे यकीन है कि कैसे उपयोगी यह भविष्य में हो जाएगा नहीं कर रहा हूँ, लेकिन मैं इसे मेरी मदद करेंगे कोड, पढ़ते समय और हंगरी के अंकन के लिए एक अच्छा विकल्प हो लग रहा है।

+6

सामान्य emacs सी मोड के साथ यह बहुत ही अनौपचारिक होगा - आपको वास्तव में इस जानकारी को प्राप्त करने के लिए फ़ाइल को पार्स करने की आवश्यकता होगी जहां आप वर्तमान में हाइलाइटिंग के लिए नियमित अभिव्यक्तियों का उपयोग करते हैं। मैं सी/सी ++ फाइलों को पार्स करने और वहां से काम करने के लिए ["सेमेन्टिक बॉविनेटर"] (http://www.emacswiki.org/emacs/SemanticBovinator) देखेंगे। –

+0

शायद आप [हाइलाइट-प्रतीक] (http://www.emacswiki.org/emacs/HighlightSymbol) पर एक नज़र डालना चाहते हैं। यह बिंदु पर प्रतीक की सभी घटनाओं को हाइलाइट करता है, और आप कई प्रतीकों को एक साथ हाइलाइट कर सकते हैं (विभिन्न रंगों में)। बिल्कुल वही नहीं जो आप पूछ रहे हैं, लेकिन यह एक समान फैशन में कोड पढ़ने में मदद करता है। – Tarmil

+0

एक और बिल्कुल सही टिप्पणी नहीं: Regexp मिलान शायद इसके लिए पर्याप्त नहीं है, लेकिन यह आपको रास्ते का हिस्सा ले सकता है। Regexp मिलान को ट्विक करने का एक आसान और इंटरैक्टिव तरीका 'सी-एम-एस' का उपयोग करना है। लाइब्रेरी ['highlight.el'] देखें (http://www.emacswiki.org/emacs/HighlightLibrary)। – Drew

उत्तर

4

नहीं। Emacs को किसी विशिष्ट अभिव्यक्ति के प्रकार के बारे में कोई जानकारी नहीं है; ऐसा करने से ELisp में C कंपाइलर का एक महत्वपूर्ण हिस्सा लिखने की संभावना होगी।

हालांकि, सुरंग के अंत में एक प्रकाश है।

जैसे, यदि आप tuareg-mode का उपयोग कर OCaml कोड को संपादित, आप किसी भी अभिव्यक्ति के प्रकार के बारे Emacs पूछ सकते हैं क्योंकि ocaml संकलक कि जानकारी प्रदान करता है; इस प्रकार आप टाइप करके चर को हाइलाइट करने के लिए कहने में सक्षम होना चाहिए। यह पालन करने का मार्ग है।

अलास, gcc वह जानकारी प्रदान नहीं करता है; हालांकि, इसका विस्तार gccxml करता है।

साथ ही, अन्य C compilers, उदाहरण के लिए, clang, कि जानकारी बॉक्स से बाहर प्रदान करते हैं और एक नई फ़ाइल semantic-clang.el जो उन सुविधाओं पर निर्भर करता है (हालांकि केवल, वाक्य रचना हाइलाइटिंग के लिए नहीं पूरा करने के लिए) नहीं है।

तो, यहाँ आप के लिए बॉक्स से बाहर कुछ भी नहीं, लेकिन अगर आप gcc के बजाय clang का उपयोग करें और CEDET विकास में योगदान करने को तैयार हैं, तो आप आप क्या चाहते हैं मिल सकता है।

1

नहीं, एमएक्स (या केवल एक दिए गए कार्यक्रम के लिए) दिए गए चर को चुनिंदा रंग निर्दिष्ट करना संभव नहीं है।
हालांकि, अगर यह सिर्फ वाक्य रचना आप के लिए निश्चित रूप से, Emacs सबसे अधिक भाषाओं को उजागर करेगा देख रहे हैं पर प्रकाश डाला है, और तुम भी वाक्य रचना भाषाओं Emacs के बारे में पता नहीं होता के लिए प्रकाश डाला बना सकते हैं।
पूर्व। स्माली: https://github.com/strazzere/Emacs-Smali

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