إبراز الصياغة الديناميكي


تظليل الصياغة الديناميكي هو تظليل الكود الذي يمكن للمستخدم تغييره. ولا يحدث هذا إلا في مكان واحد، ألا وهو المحرر على الإنترنت.

Note

مقتطفات الكود والنسخ المُقدَّمة وما شابه ذلك ثابتة، إذ لا يمكن للمستخدم تغيير كوده على الفور. وإذا أردت معرفة المزيد عن كيفية تعاملنا مع تظليل الصياغة الثابت، فراجع وثائق تظليل الصياغة الثابت.

التنفيذ

يتم تظليل الصياغة الديناميكي باستخدام مكتبة CodeMirror.

عند إضافة دعم للغتك، لديك ثلاثة خيارات:

  1. اللغة مدعومة بشكل جاهز في CodeMirror (أي أنها مُدرجة ضمن اللغات المدعومة). وإن كان الأمر كذلك، فانتقل إلى قسم تفعيل اللغة.
  2. اللغة مدعومة عبر إضافة موجودة في CodeMirror. وإن كان الأمر كذلك، فانتقل إلى قسم استخدام إضافة موجودة.
  3. اللغة غير مدعومة. وفي هذه الحالة لديك ثلاثة خيارات:
    1. أن تكتب إضافة CodeMirror من الصفر، كما هو موضح في قسم إنشاء إضافة جديدة.
    2. أن تشبه صياغة لغتك (شدة) الشبه بصياغة لغة أخرى (على سبيل المثال، صياغة Unison تشبه Haskell)، وحينها يمكنك التفكير في استخدام تظليل صياغة تلك اللغة للغتك. راجع قسم تفعيل اللغة لمزيد من المعلومات.
    3. ألا تستخدم تظليل الصياغة الديناميكي.

تفعيل اللغة

لتفعيل دعم CodeMirror للغتك، ابدأ موضوعًا على المنتدى. وسنقوم نحن (Exercism) بعد ذلك بإنشاء Pull Request يفعّل دعم CodeMirror للغتك على الموقع.

استخدام إضافة موجودة

لاستخدام إضافة موجودة، يجب أن تكون منشورة على NPM.

وإذا لم تكن الإضافة منشورة على NPM، فيمكنك أحد الأمور التالية:

  1. أن تسأل مؤلف الإضافة إن كان يرغب في نشرها على NPM.
  2. أن تقوم بعمل Fork للمستودع وتنشره بنفسك.
  3. أن نقوم نحن (Exercism) بعمل Fork للمستودع وننشره. وللقيام بذلك، افتح موضوعًا على المنتدى طالبًا ذلك.

والخطوة التالية هي تفعيل اللغة.

إنشاء إضافة جديدة

وإليك الخطوات للبدء:

  1. تحقق من قائمة مستودعاتنا بحثًا عن codemirror-lang-... موجود للتأكد من عدم وجود واحد بالفعل.
  2. ابدأ موضوعًا جديدًا على منتدى Exercism تخبرنا فيه عن اللغة التي تود إنشاء إضافة CodeMirror لها.
  3. بمجرد إنشاء مستودع إضافة CodeMirror لك، نفّذ قواعد اللغة لمسارك.
Note

لمساعدتك على البدء، يحتوي المستودع المُنشأ لك على نموذج قواعد بسيط يمكنك البناء عليه أو تعديله.

لدينا مجتمع ودود وداعم بشكل لا يُصدق، وسيسعده مساعدتك أثناء عملك على هذا! وإذا واجهت صعوبة، فابدأ موضوعًا جديدًا على منتدى Exercism أو أنشئ Issues جديدة على exercism/exercism حسب الحاجة 🙂

وبعد ذلك ستحتاج إلى نشر الإضافة على NPM. والخطوة التالية هي تفعيل اللغة.

استخدام لغة مختلفة

أن تشبه صياغة لغتك (شدة) الشبه بصياغة لغة أخرى، وحينها يمكنك التفكير في استخدام تظليل صياغة تلك اللغة للغتك. وللقيام بذلك، اضبط المسار باستخدام إضافة CodeMirror الخاصة باللغة الأخرى. راجع قسم تفعيل اللغة لمزيد من المعلومات.