स्टैटिक सिंटैक्स हाइलाइटिंग


स्टैटिक सिंटैक्स हाइलाइटिंग उस कोड की हाइलाइटिंग है जिसे उपयोगकर्ता नहीं बदल सकता। इसमें कोड स्निपेट, इटरेशन और बहुत कुछ शामिल है।

Note

ऑनलाइन एडिटर स्टैटिक सिंटैक्स हाइलाइटिंग का उपयोग नहीं करता, क्योंकि उपयोगकर्ता कोड को तुरंत बदल सकता है। अगर आप जानना चाहते हैं कि हम ऑनलाइन एडिटर में सिंटैक्स हाइलाइटिंग कैसे संभालते हैं, तो डायनामिक सिंटैक्स हाइलाइटिंग डॉक्युमेंटेशन देखिए।

कार्यान्वयन

स्टैटिक सिंटैक्स हाइलाइटिंग highlightjs लाइब्रेरी की मदद से की जाती है।

अपनी भाषा के लिए सपोर्ट जोड़ते समय आपके पास तीन विकल्प होते हैं:

  1. यह भाषा highlightjs में पहले से ही समर्थित है (यानी समर्थित भाषाओं की सूची में शामिल है)। अगर ऐसा है, तो ट्रैक को कॉन्फिगर करना वाले भाग पर आगे बढ़िए।
  2. यह भाषा किसी मौजूदा highlightjs प्लगइन के ज़रिए समर्थित है। अगर ऐसा है, तो मौजूदा प्लगइन का उपयोग करना वाले भाग पर आगे बढ़िए।
  3. यह भाषा समर्थित नहीं है। अब आपके पास तीन विकल्प हैं:
    1. शुरू से एक highlightjs प्लगइन लिखिए, जैसा कि नया प्लगइन बनाना वाले भाग में बताया गया है।
    2. आपकी भाषा का सिंटैक्स किसी दूसरी भाषा के सिंटैक्स से (काफी हद तक) मिलता-जुलता है (जैसे Unison का सिंटैक्स Haskell से मिलता है)। ऐसे में आप सोच सकते हैं कि अपनी भाषा के लिए उस भाषा की सिंटैक्स हाइलाइटिंग इस्तेमाल करें। ज़्यादा जानकारी के लिए ट्रैक को कॉन्फिगर करना वाला भाग देखिए।
    3. स्टैटिक सिंटैक्स हाइलाइटिंग न रखें।

ट्रैक को कॉन्फिगर करना

अपने ट्रैक की भाषा के लिए highlightjs सपोर्ट चालू करने के लिए, आपको ट्रैक की config.json फाइल बदलनी होगी। config.json फाइल में online_editor.highlightjs_language की जोड़िए और उसे उचित highlightjs भाषा आइडेंटिफायर पर सेट कीजिए। यह आइडेंटिफायर डॉक्युमेंटेशन में मिल जाता है।

उदाहरण

{
  "online_editor": {
    "highlightjs_language": "csharp"
  }
}

मौजूदा प्लगइन का उपयोग करना

किसी मौजूदा प्लगइन का उपयोग करने के लिए ज़रूरी है कि वह NPM पर प्रकाशित हो। अगर प्लगइन NPM पर प्रकाशित नहीं है, तो आप इनमें से कोई एक तरीका चुन सकते हैं:

  1. प्लगइन के लेखक से पूछिए कि क्या वे इसे NPM पर प्रकाशित करना चाहते हैं।
  2. रिपॉज़िटरी को फोर्क कीजिए और खुद प्रकाशित कीजिए।
  3. हमें (Exercism को) रिपॉज़िटरी फोर्क करने दीजिए और हम उसे प्रकाशित कर देंगे। ऐसा करने के लिए फोरम पर एक टॉपिक खोलकर इसका अनुरोध कीजिए।

अगला कदम है प्लगइन चालू करना।

प्लगइन चालू कीजिए

किसी प्लगइन को चालू करने के लिए (जो NPM पर प्रकाशित होना ज़रूरी है), फोरम पर एक टॉपिक खोलिए और हमसे कहिए कि इस प्लगइन का सपोर्ट वेबसाइट में जोड़ा जाए। फिर हम (Exercism) एक Pull Request बनाएँगे जो इस प्लगइन को वेबसाइट में जोड़ता है। PR मर्ज हो जाने के बाद, आप ट्रैक को कॉन्फिगर करना वाले भाग के निर्देशों का पालन करके highlightjs सपोर्ट चालू कर सकते हैं।

नया प्लगइन बनाइए

अगर आप प्लगइन बनाना चाहते हैं, तो होस्टिंग के लिए आपके पास दो विकल्प हैं:

  1. अपने निजी अकाउंट पर एक रिपॉज़िटरी बनाइए और उसे खुद प्रकाशित कीजिए।
  2. हमें (Exercism को) एक रिपॉज़िटरी बनाने दीजिए और उसे हमें प्रकाशित करने दीजिए। ऐसा करने के लिए फोरम पर एक टॉपिक खोलकर इसका अनुरोध कीजिए।

रिपॉज़िटरी तैयार हो जाने पर, प्लगइन लागू करने के लिए भाषा योगदान के निर्देशों का पालन कीजिए।

इसके बाद आपको प्लगइन को NPM पर प्रकाशित करना होगा। अगला कदम है प्लगइन चालू करना।

कोई दूसरी भाषा इस्तेमाल कीजिए

आपकी भाषा का सिंटैक्स किसी दूसरी भाषा के सिंटैक्स से (काफी हद तक) मिलता-जुलता है। ऐसे में आप सोच सकते हैं कि अपनी भाषा के लिए उस भाषा की सिंटैक्स हाइलाइटिंग इस्तेमाल करें। इसके लिए ट्रैक को कॉन्फिगर कीजिए ताकि वह उस दूसरी भाषा का highlightjs भाषा आइडेंटिफायर इस्तेमाल करे। ज़्यादा जानकारी के लिए ट्रैक को कॉन्फिगर करना वाला भाग देखिए।