স্ট্যাটিক সিনট্যাক্স হাইলাইটিং হলো এমন কোডের হাইলাইটিং, যা ব্যবহারকারী পরিবর্তন করতে পারেন না। এর মধ্যে আছে কোড স্নিপেট, ইটারেশন এবং আরও অনেক কিছু।
অনলাইন এডিটর স্ট্যাটিক সিনট্যাক্স হাইলাইটিং ব্যবহার করে না, কারণ ব্যবহারকারী সাথে সাথেই কোড পরিবর্তন করতে পারেন। অনলাইন এডিটরে আমরা কীভাবে সিনট্যাক্স হাইলাইটিং সামলাই সে সম্পর্কে আরও জানতে চাইলে দেখুন ডাইনামিক সিনট্যাক্স হাইলাইটিং ডকুমেন্টেশন।
স্ট্যাটিক সিনট্যাক্স হাইলাইটিং করা হয় highlightjs লাইব্রেরি দিয়ে।
আপনার ভাষার জন্য সাপোর্ট যোগ করার সময় তিনটি বিকল্প আছে:
আপনার ট্র্যাকের ভাষার জন্য highlightjs সাপোর্ট চালু করতে হলে ট্র্যাকের config.json ফাইল পরিবর্তন করতে হবে।
config.json ফাইলের ভেতরে online_editor.highlightjs_language কী (key)-টি উপযুক্ত highlightjs ভাষা আইডেন্টিফায়ারে যোগ বা সেট করুন (এটি ডকুমেন্টেশনে পাওয়া যাবে)।
{
"online_editor": {
"highlightjs_language": "csharp"
}
}
একটি বিদ্যমান প্লাগইন ব্যবহার করতে হলে সেটি NPM-এ পাবলিশ করা থাকতে হবে। প্লাগইনটি যদি NPM-এ পাবলিশ করা না থাকে, তাহলে আপনি যেকোনো একটি করতে পারেন:
এর পরের ধাপ হলো প্লাগইন চালু করা।
একটি প্লাগইন চালু করতে (যেটি অবশ্যই NPM-এ পাবলিশ করা থাকতে হবে) ফোরামে একটি টপিক খুলে আমাদের কাছে ওয়েবসাইটে ওই প্লাগইনের সাপোর্ট যোগ করার অনুরোধ করুন। এরপর আমরা (Exercism) একটি Pull Request তৈরি করি, যা প্লাগইনটি ওয়েবসাইটে যোগ করে। PR মার্জ হয়ে গেলে ট্র্যাক কনফিগার করা অংশের নির্দেশনা অনুসরণ করে আপনি highlightjs সাপোর্ট চালু করতে পারেন।
আপনি যদি প্লাগইন তৈরি করতে চান, তাহলে হোস্ট করার জন্য দুটি বিকল্প আছে:
রিপো তৈরি হয়ে গেলে প্লাগইনটি ইমপ্লিমেন্ট করতে ভাষা কনট্রিবিউশনের নির্দেশনা অনুসরণ করুন।
এরপর প্লাগইনটি NPM-এ পাবলিশ করতে হবে। এর পরের ধাপ হলো প্লাগইন চালু করা।
আপনার ভাষার সিনট্যাক্স অন্য একটি ভাষার সিনট্যাক্সের সাথে (কাছাকাছি) মিলে যায়, সেক্ষেত্রে আপনি আপনার ভাষার জন্য ওই ভাষার সিনট্যাক্স হাইলাইটিং ব্যবহার করার কথা ভাবতে পারেন। এর জন্য ট্র্যাকটি কনফিগার করে ওই অন্য ভাষার highlightjs ভাষা আইডেন্টিফায়ার ব্যবহার করুন। আরও জানতে ট্র্যাক কনফিগার করা অংশটি দেখুন।