2012-07-03 24 views
7

मैं कोड प्रलेखन के लिए स्फिंक्स का उपयोग कर रहा हूं और कोड के भीतर कई भाषाओं का उपयोग करता हूं, मैं उस कोड के लिए हाइलाइटिंग सेट करना चाहता हूं। स्फिंक्स संक्षेप में उन भाषाओं में से कुछ का उल्लेख करता है जो इसे समर्थन देते हैं (on this page), और फिर उल्लेख किया गया है कि यह व्याख्यात्मक विश्लेषण और हाइलाइटिंग के लिए Pygments का उपयोग करता है। स्फिंक्स और पायगल्स दोनों के लिए प्रलेखन के माध्यम से स्थानांतरण ने मुझे कोई उद्देश्य नहीं दिया कि हाइलाइट उद्देश्य-सी कोड जैसे कुछ कैसे करें।स्फिंक्स: हाइलाइट करने के लिए समर्थित भाषाओं की सूची?

पाइगल्स भाषाओं की सूची का उल्लेख करता है, here, हालांकि यह मुझे सटीक वाक्यविन्यास नहीं बताता है कि मुझे स्पिनक्स (.rst फ़ाइलों) के भीतर उपयोग करना होगा ताकि कोड ब्लॉक को किसी विशिष्ट भाषा के लिए हाइलाइट करने के लिए कहा जा सके। उदाहरण के लिए, ++ कोड ग आप सरल उपयोग उजागर करने के लिए यह आपके कोड से पहले ब्लॉक:

.. highlight:: c++

हालांकि इन की कोशिश कर के बाद मैं ऑब्जेक्टिव-सी कोड को उजागर नहीं कर पा रहे:

.. highlight:: Objective-C 
.. highlight:: objective-c 
.. highlight:: Obj-C 
.. highlight:: obj-c 

किसी को भी मुझे आपूर्ति कर सकते हैं भाषाओं की सूची के साथ (जैसा कि आप उन्हें दस्तावेज़ीकरण के भीतर देखेंगे)?

उत्तर

6

जहाँ तक मैं कह सकता हूं, सूची pygments/lexers/_mapping.py फ़ाइल में है (स्वत: उत्पन्न) शब्दकोश LEXERS में। मेरी नकल में, मैं मुझे लगता है कि इसका मतलब यह होना चाहिए कि कोई भी टैग objective-c, objectivec, obj-c, या objc काम करना चाहिए, जब तक Pygments के अपने संस्करण अप-टू-डेट है के रूप में एक लाइन

'ObjectiveCLexer': ('pygments.lexers.compiled', 'Objective-C', ('objective-c', 'objectivec', 'obj-c', 'objc'), ('*.m',), ('text/x-objective-c',)), 

देखते हैं। वे मेरे लिए काम करते हैं।

3

यदि आप पाइगल्स मॉड्यूल स्थापित करते हैं। आप समर्थित highlighters की एक सूची प्राप्त करने के लिए इस स्क्रिप्ट का उपयोग कर सकते हैं:

from pygments.lexers import get_all_lexers 

lexers = get_all_lexers() 
for lexer in lexers: 
     print "-\t" + lexer[0] + "\n" 
     print "\t-\t" + "\n\t-\t".join(lexer[1]) + "\n" 

उत्पादन सबसे पहले मांगपत्र स्तर हो जाएगा सामान्य नाम और दूसरे स्तर highlighters है कि आप उपयोग कर सकते हैं की कमी के नाम हो जाएगा।

उदाहरण आउटपुट

  • डेबियन SourceList

    • sourceslist
    • sources.list
  • डेल्फी

    +०१२३५१६४१०६
    • डेल्फी
    • क़दम
    • पास्कल
    • objectpascal

Source