ডাইনামিক সিনট্যাক্স হাইলাইটিং হলো এমন কোডের হাইলাইটিং যা ব্যবহারকারী নিজে বদলাতে পারেন। এমনটা হয় কেবল একটিমাত্র জায়গায়, আর সেটি হলো অনলাইন এডিটর।
কোড স্নিপেট, ইটারেশন আর এ জাতীয় জিনিস স্ট্যাটিক, কারণ ব্যবহারকারী হাতের মুহূর্তে নিজের কোড বদলাতে পারেন না। স্ট্যাটিক সিনট্যাক্স হাইলাইটিং আমরা কীভাবে সামলাই সে সম্পর্কে আরও জানতে চাইলে স্ট্যাটিক সিনট্যাক্স হাইলাইটিং ডকুমেন্ট দেখুন।
ডাইনামিক সিনট্যাক্স হাইলাইটিং করা হয় CodeMirror লাইব্রেরি দিয়ে।
আপনার ভাষার জন্য সাপোর্ট যোগ করার সময় তিনটি বিকল্প আছে:
আপনার ভাষার জন্য CodeMirror সাপোর্ট চালু করতে ফোরামে একটি টপিক শুরু করুন। এরপর আমরা (Exercism) একটি Pull Request তৈরি করব, যা ওয়েবসাইটে আপনার ভাষার জন্য CodeMirror সাপোর্ট চালু করবে।
বিদ্যমান একটি প্লাগইন ব্যবহার করতে হলে সেটি NPM-এ প্রকাশিত থাকতে হবে।
প্লাগইনটি যদি NPM-এ প্রকাশিত না থাকে, তাহলে আপনি এই কাজগুলো করতে পারেন:
CodeMirror ওয়েবসাইটে কমিউনিটি-নির্মিত ভাষা প্লাগইনের একটি তালিকা আছে।
পরের ধাপ হলো ভাষা চালু করুন।
শুরু করার ধাপগুলো এই:
codemirror-lang-... আছে কি না, তা নিশ্চিত করতে আমাদের রিপোজিটরি তালিকা দেখুন।শুরু করার সুবিধার জন্য আপনার তৈরি করা রিপোতে একটি ছোট নমুনা গ্রামার থাকে, যা আপনি ভিত্তি হিসেবে ব্যবহার করে বাড়াতে বা বদলাতে পারেন।
আমাদের একটি অসাধারণ বন্ধুত্বপূর্ণ ও সহায়ক কমিউনিটি আছে, যারা আপনি এই কাজ করতে করতে এগোতে থাকলে আপনাকে সাহায্য করতে খুশি হবে! কোথাও আটকে গেলে Exercism ফোরামে একটি নতুন টপিক শুরু করুন, বা প্রয়োজনে exercism/exercism-এ নতুন ইস্যু খুলুন 🙂
এরপর প্লাগইনটি NPM-এ প্রকাশ করতে হবে। পরের ধাপ হলো ভাষা চালু করুন।
আপনার ভাষার সিনট্যাক্স (প্রায়) অন্য একটি ভাষার সিনট্যাক্সের মতো, সেক্ষেত্রে আপনি আপনার ভাষার জন্য ওই ভাষার সিনট্যাক্স হাইলাইটিং ব্যবহার করার কথা ভাবতে পারেন। এজন্য ওই অন্য ভাষার CodeMirror প্লাগইন দিয়ে ট্র্যাকটি কনফিগার করুন। আরও জানতে ভাষা চালু করুন অংশ দেখুন।