Методом проб и ошибок я наконец-то доработал подсветку синтаксиса до более менее приличного вида. Теперь Sublime Text умеет подсвечивать не только ключевые слова, правильно выделять строки, комментарии, начало и конец локации, но и подсвечивать наиболее распространённые и существенные синтаксические ошибки.
Вот что умеет подсветка синтаксиса теперь:
1. Подсветка текста между локациями, как комментариев. Так как весь этот текст игнорируется при экспорте в QSP.
2. Распознавание начала и конца локации и соответственно подсветка этих элементов.
3. Подсветка сложных многострочных комментариев.
4. Подсветка строковых констант.
5. Подсветка числовых констант, системных переменных, операторов и функций.
6. Подсветка вложенных выражений (подвыражений) в строках.
7. Подсветка основных синтаксических ошибок:
* Лишний `$` перед именами числовых системных переменных или функций.
* Отсутствие `$` перед именами текстовых системных переменных и функций.
* Звёздочка `*` перед именем операторов, кроме `*pl`, `*p`, `*nl`, `*clr`.
* Неверное число операндов у операций типа `+`, `-`, `*`, `<`, `>` и т.д.
* Подсветка неправильных имён переменных типа `123build`.
* Разрыв строки кода внутри вложенного выражения.
* Подсветка лишнего `end`, а так же `else` и `elseif` вне конструкций условий.
* Подсветка неправильной записи `else` и `elseif` в многострочном условий.
* Незакрытый многострочный `act` или `if` вызывает подсветку элемента "конец локации", как ошибки.
8. Подсветка HTML-кода в фигурных скобках и строках при вставке тегов `<html>`, `</html>`.
Скачать QSP-Builder (система сборки) и Пакет подсветки синтаксиса для Sublime Text с усовершенствованной подсветкой можно на этой странице: