Подсветка ключевых слов: регулярные выражения
Legacy slug намеренно сохраняет exmaples: существующие ссылки приложения используют именно это написание.
В Setting → настройки терминала → keywordsHighlight добавьте правило и выберите цвет. В поле вводится тело JavaScript RegExp, без внешних /.../ и без флагов: source-addon сам создаёт new RegExp(keyword, 'gi'). Поиск глобальный и без учёта регистра.
| Тело выражения | Пример текста | Что подсветится |
|---|---|---|
| `\b(?:error | failed | fatal)\b` |
\bwarn(?:ing)?\b | Warning: retry; WARN | Warning, WARN |
| `\b(?:success | ready)\b` | service READY |
server\.example | server.example is ready | Только буквальное server.example |
| `(?:ошибка | сбой)` | ОШИБКА: сбой связи |
В UI нужен один обратный слеш, как в таблице. В JSON-строке экспорта/импорта он экранируется: то же тело \bwarn\b записывается как "\\bwarn\\b". Не копируйте кавычки JSON в поле формы. \b здесь удобно для латинских слов; это не универсальная граница русских слов.
Цвета формы: red, green, yellow, blue, magenta, cyan, white. Реальные оттенки зависят от terminal theme. Подсветка меняет отображение, а не результат команды, exit code или уровень серьёзности события.
Ограничения
Неверный синтаксис отклоняется валидатором формы; addon также сообщает ошибку компиляции. Выражение, совпадающее с пустой строкой, не создаёт полезной подсветки. Избегайте сложных вложенных повторений и пересекающихся правил: это не средство анализа недоверенных гигантских логов.
Обработка идёт по поступающим фрагментам, а не по полностью собранному документу: слово, разделённое на записи или ANSI-последовательности, может не совпасть. Не обещайте многострочный поиск или матч через границы chunks. ANSI/OSC-сегменты не сканируются как обычный текст.
В текущем addon записи длиннее 256 KiB пропускаются без подсветки; при построчной обработке строки длиннее 4096 символов также пропускаются. Эти пороги основаны на длине JavaScript-строки, не на размере UTF-8 файла. DCS-записи обходят подсветку; raw mode имеет отдельную обработку. Поэтому отсутствие цвета не доказывает отсутствие ошибки в выводе.
Основание: форма правил, настройки терминала, highlight-addon. Примеры описывают source-семантику, не новую runtime-приёмку.