Статичне підсвічування синтаксису - це підсвічування коду, який користувач не може змінити. Сюди належать фрагменти коду, ітерації та інше.
Онлайн-редактор не використовує статичне підсвічування синтаксису, адже користувач може змінювати код на льоту. Якщо хочеться дізнатися більше про те, як ми працюємо з підсвічуванням синтаксису в онлайн-редакторі, зазирніть до документації з динамічного підсвічування синтаксису.
Статичне підсвічування синтаксису виконує бібліотека highlightjs.
Коли ми додаємо підтримку своєї мови, є три варіанти:
Щоб увімкнути підтримку highlightjs для мови нашого треку, потрібно змінити файл config.json цього треку.
У файлі config.json додаємо або встановлюємо ключ online_editor.highlightjs_language з відповідним ідентифікатором мови highlightjs (його можна знайти в документації).
{
"online_editor": {
"highlightjs_language": "csharp"
}
}
Щоб скористатися наявним плагіном, його потрібно опублікувати на NPM. Якщо плагін не опубліковано на NPM, є такі варіанти:
Наступний крок - увімкнути плагін.
Щоб увімкнути плагін (який має бути опублікований на NPM), створюємо тему на форумі із проханням додати підтримку цього плагіна до сайту. Тоді ми (Exercism) створимо Pull Request, який додає плагін до сайту. Після того як PR буде змерджено, можна увімкнути підтримку highlightjs, виконавши інструкції з розділу Налаштування треку.
Якщо хочеться створити плагін, є два варіанти розміщення:
Коли репозиторій є, реалізуємо плагін за інструкціями зі створення мови.
Далі плагін потрібно опублікувати на NPM. Наступний крок - увімкнути плагін.
Синтаксис нашої мови (значною мірою) нагадує синтаксис іншої мови, і тоді можна скористатися підсвічуванням синтаксису тієї мови для своєї. Для цього налаштовуємо трек на використання ідентифікатора мови highlightjs тієї іншої мови. Докладніше про це в розділі Налаштування треку.