Динамічне підсвічування синтаксису - це підсвічування коду, який користувач може змінювати. Це відбувається лише в одному місці: в онлайн-редакторі.
Фрагменти коду, ітерації та подібне до них статичні, бо користувач не може змінювати свій код на льоту. Якщо хочеться дізнатися більше про те, як ми працюємо зі статичним підсвічуванням синтаксису, зазирніть до документації зі статичного підсвічування синтаксису.
Динамічне підсвічування синтаксису виконується за допомогою бібліотеки CodeMirror.
Додаючи підтримку мови, маємо три варіанти:
Щоб увімкнути підтримку CodeMirror для своєї мови, створіть тему на форумі. Ми (Exercism) тоді створимо Pull Request, який увімкне підтримку CodeMirror для цієї мови на сайті.
Щоб скористатися наявним плагіном, його потрібно опублікувати на NPM.
Якщо плагін не опубліковано на NPM, є такі варіанти:
На сайті CodeMirror є список плагінів для мов, створених спільнотою.
Наступний крок - увімкнення мови.
Ось із чого почати:
codemirror-lang-..., щоб переконатися, що такого ще немає.Щоб було з чого почати, у створеному репозиторії є мінімальний зразок граматики, який можна взяти за основу й доопрацювати.
У нас неймовірно дружня й підтримувальна спільнота, яка радо допоможе, поки ми працюємо над цим! Якщо щось не виходить, створіть нову тему на форумі Exercism або за потреби додайте нові issues у exercism/exercism 🙂
Потім потрібно опублікувати плагін на NPM. Наступний крок - увімкнення мови.
Синтаксис мови (значною мірою) нагадує синтаксис іншої мови, і тоді можна скористатися підсвічуванням синтаксису тієї мови для своєї. Для цього скористайтеся плагіном CodeMirror для тієї мови. Докладніше див. у розділі Увімкнення мови.