डायनैमिक सिंटैक्स हाइलाइटिंग में उस कोड को हाइलाइट किया जाता है जिसे उपयोगकर्ता खुद बदल सकता है। ऐसा सिर्फ एक जगह होता है, और वह है ऑनलाइन एडिटर।
कोड स्निपेट, इटरेशन और इस तरह की चीज़ें स्टैटिक रहती हैं, क्योंकि उपयोगकर्ता अपना कोड तुरंत बदल नहीं सकता। अगर आप जानना चाहते हैं कि हम स्टैटिक सिंटैक्स हाइलाइटिंग कैसे संभालते हैं, तो स्टैटिक सिंटैक्स हाइलाइटिंग के दस्तावेज़ देखिए।
डायनैमिक सिंटैक्स हाइलाइटिंग CodeMirror लाइब्रेरी की मदद से की जाती है।
अपनी भाषा के लिए सपोर्ट जोड़ते समय आपके पास तीन विकल्प होते हैं:
अपनी भाषा के लिए CodeMirror सपोर्ट चालू करने के लिए फोरम पर एक टॉपिक शुरू कीजिए। इसके बाद हम (Exercism) एक पुल रिक्वेस्ट बनाएँगे, जो वेबसाइट पर आपकी भाषा के लिए CodeMirror सपोर्ट चालू करेगा।
किसी मौजूदा प्लगिन को इस्तेमाल करने के लिए ज़रूरी है कि वह NPM पर पब्लिश हो।
अगर प्लगिन NPM पर पब्लिश नहीं है, तो आपके पास ये विकल्प हैं:
CodeMirror की वेबसाइट पर कम्युनिटी द्वारा बनाए गए भाषा प्लगिनों की सूची मौजूद है।
अगला कदम है भाषा चालू करना।
शुरू करने के लिए ये कदम उठाइए:
codemirror-lang-... के लिए हमारी मौजूदा रिपॉज़िटरी की सूची देखिए।शुरुआत करने में मदद के लिए, आपके लिए बनाई गई रिपॉज़िटरी में एक छोटा नमूना ग्रामर मौजूद होता है, जिसे आप आगे बढ़ा सकते हैं या उसमें बदलाव कर सकते हैं।
हमारे पास बेहद दोस्ताना और मददगार कम्युनिटी है, जो यह सब करते समय आपकी मदद करने में खुशी महसूस करेगी! अगर आप कहीं अटक जाएँ, तो Exercism फोरम पर नया टॉपिक शुरू कीजिए या ज़रूरत पड़ने पर exercism/exercism पर नए इश्यू बनाइए 🙂
इसके बाद आपको प्लगिन को NPM पर पब्लिश करना होगा। अगला कदम है भाषा चालू करना।
आपकी भाषा का सिंटैक्स किसी दूसरी भाषा के सिंटैक्स से (काफी हद तक) मिलता-जुलता है, ऐसे में आप सोच सकते हैं कि उस भाषा की सिंटैक्स हाइलाइटिंग अपनी भाषा के लिए इस्तेमाल करें। इसके लिए ट्रैक को उस दूसरी भाषा के CodeMirror प्लगिन से कॉन्फिगर कीजिए। अधिक जानकारी के लिए भाषा चालू करने वाला अनुभाग देखिए।