Closed IgorKilipenko closed 11 months ago
Доработка грамматик производится в репозитории 1c-syntax/1c-syntax. Оттуда yaml файл конвертируется в plist или cson в зависимости от редактора. Какая цель в выполнении миграции?
Подсветка переменных и функций - штука интересная, надо будет посмотреть подробнее.
Какая цель в выполнении миграции?
Т.к. объекты js / json имеют лучшую совместимость. Мне кажется генерировать tml файл луче программно из объектов js (если посмотреть tml файл для ts - он точно генерируется программно). Можно создать класс типа TmlDocument который будет состоять из связанных js объектов и генерировать конечный tml.json файл. Ну и сам вендор (vscode) использует для своих расширений json формат).
Так tml не генерируется из объектов. Он разрабатывается напрямую в yaml, но покрыт юнит тестами под atom/sublime text
Но в этом и проблема! чтобы разработать достаточно гибкую схему подсветки придется использовать много уровней вложенности - например tml для js очень сложно разрабатывать вручную, а если создавать схему через js объекты регулярные выражения можно существенно упростить и связи регулировать легче.
Гибкая и умная подсветка будет разрабатываться в рамках BSL Language Server, нет смысла её тащить в плагин :)
Предлагаю выполнить миграцию на json и добавить подсветку переменных внутри блоков функций / процедур.