2012-11-09 9 views
10

उदाहरण के लिए, मैं अपने पायथन डॉकस्ट्रिंग में @param, @type, और @return (यानी epytext घोषणाएं) को हाइलाइट करना चाहता हूं। मैंने यह पता लगाया है कि Python/Python.tmLanguage को संपादित करके इसे कैसे किया जाए; हालांकि, मैं वास्तव में कारणों की एक जोड़ी के लिए अपने स्वयं के फ़ाइल में इस डाल करने के लिए, चाहते हैं:मैं बिना संपादन किए सब्लिमे टेक्स्ट में सिंटैक्स परिभाषा में सुविधाओं को कैसे जोड़ूं?

  1. मैं नहीं हमेशा इस हाइलाइटिंग लागू करना चाहते हैं। यह केवल उन परियोजनाओं के लिए है जो epydoc का उपयोग उनके दस्तावेज़ उपकरण के रूप में करते हैं; अन्य परियोजनाओं में, मैं इसके बजाय reStructuredText को हाइलाइट करना चाहता हूं।
  2. जब सब्लिमे टेक्स्ट अपडेट होते हैं, तो मैं शामिल सुविधाओं पर ओवरले के रूप में अपना स्वयं का वाक्यविन्यास रखना चाहता हूं। पाइथन की कई विशेषताएं हैं कि सब्लिमे के लेखक भविष्य के संस्करणों में शामिल करना चुन सकते हैं और मैं मैन्युअल रूप से यह समझना नहीं चाहता कि प्रत्येक बार जब मैं आधार पायथन सिंटैक्स परिभाषा को संशोधित करता हूं तो मैं क्या बदलता हूं।
  3. मैं संस्करण नियंत्रण में अपना स्वयं का संपादक कॉन्फ़िगरेशन रखता हूं, लेकिन मैं चाहता हूं कि यह मेरी मूल सामग्री हो; मैं सब्लिमे के साथ आने वाली वाक्यविन्यास परिभाषाओं की प्रतियों (संभावित रूप से स्वामित्व? मुझे नहीं पता, ऐसा लगता है कि यह एक स्वतंत्र लाइसेंस प्रतीत नहीं होता) के साथ बोझ नहीं होना चाहता।

क्या एक अलग फ़ाइल में नियमों को हाइलाइट करने का कोई तरीका है, शायद केवल एक विशेष दायरे पर लागू किया जा सकता है?

+1

मैं वास्तव में आपकी अंतिम वाक्यविन्यास फ़ाइल देखना चाहता हूं, क्योंकि मैं एसटी 3 में बहुत कुछ करना चाहता हूं। कृपया इसे पोस्ट करने पर विचार करें। धन्यवाद। – aliteralmind

उत्तर

7

मुझे लगता है जैसे आप अपनी खुद की सिंटैक्स फ़ाइल बनाना चाहते हैं, पाइथन सिंटैक्स फ़ाइल (source.python) से प्राप्त करें, और वहां अपने परिवर्तन और अनुकूलन करें। सब्लिमे टेक्स्ट 2 .tmLanguage format for syntax files का उपयोग करता है, जो थोड़ा जटिल है, लेकिन सौभाग्य से अधिकांश काम आपके लिए पहले से ही किया जा चुका है, केवल source.python से विरासत में।

आप जो करना चाहते हैं वह सबस्ट्रिंग्स से मेल खाने के लिए एक रेगेक्स पैटर्न सेट अप करना है जिसे आप हाइलाइट करना चाहते हैं, और उस पैटर्न को एक नाम दें; में सम्मेलन सेट का पालन करने के लिए punctuation.definition.comment.epydoc जैसे कुछ। फिर, अपनी कलर स्कीम फ़ाइल (.tmTheme में समाप्त) की जांच करें और सुनिश्चित करें कि आपके द्वारा चुने गए दायरे के लिए सेटिंग हैं - या इसके माता-पिता के लिए, चूंकि एसटी 2 को इस तरह की चीज़ के लिए उचित स्कोपिंग नियमों का उपयोग करना चाहिए।

आपके द्वारा बनाई गई वाक्यविन्यास फ़ाइल का उपयोग करने के लिए, इसे Packages/User में चिपकाएं (ताकि एसटी 2 इसे अपग्रेड पर ओवरराइट नहीं कर सके), संपादक में एक पायथन फ़ाइल खोलें, और फिर ड्रॉपडाउन सूची से अपना नया वाक्यविन्यास चुनें खिड़की के नीचे दाएं कोने। यदि आपने सब कुछ सही तरीके से सेट अप किया है, तो epydoc तारों को आपके रंग योजना में जो भी रंग सेट किया गया है, उसे बदलना चाहिए।

शुभकामनाएं! और जब कहीं एक सिंटैक्स फ़ाइल मिलती है तो एक लिंक पोस्ट करें, इसलिए अन्य इसे देख और उपयोग कर सकते हैं!

+7

धन्यवाद यह "स्रोत.python' से प्राप्त होता है" बिट जो मैं गायब था। वंशावली के लिए थोड़ा स्पष्ट होने के लिए - मुझे यकीन नहीं है कि अगर आपका उत्तर '.tmLanguage' प्रारूप से परिचित नहीं हुआ है - तो इसका मतलब है कि' {"शामिल": "स्रोत डालने का मतलब है। पाइथन "}' रूट डिक्शनरी के 'पैटर्न' 'सरणी में। यह भी महत्वपूर्ण है कि, अन्य सभी नियम * उस "विरासत" नियम से पहले * आना चाहिए, अन्यथा वे पहले मिलान नहीं करेंगे। – Glyph

+5

ग्लाइफ, क्या आपके पास अभी भी वाक्यविन्यास फ़ाइल है? यदि हां, तो क्या आप इसे एक लिंक पोस्ट कर सकते हैं ताकि मैं देख सकूं कि आपने इसे हल करने के लिए क्या किया? धन्यवाद। –

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