Delphi-компонент для подкраски синтаксиса
Результат совместной работы Fanasist'а и меня. Это компонент для Дельфи для известного пакета SynEdit (http://synedit.sourceforge.net), позволяющий на лету создавать подкраску синтаксиса по любым правилам любых форматов (создание и загрузка в run-time, хранение шаблонов на диске). В настоящее время пакет включает в себя более 300 готовых шаблонов для наиболее распространённых форматов, но каждый может создать свой собственный шаблон (можно с помошью компонента или используя прилагающуюся утилиту). Пример использования - простенький текстовый редактор с поддержкой любых расскрасок.
Загрузить можно с:
https://www.unihighlighter.com
Платформа: Delphi 5/6/7
Для работы необходимо установить предварительно установить пакет SynEdit (https://synedit.sourceforge.net).
Компонент свободен для распространения и поставляется с исходными кодами.
Логика работы:
Для подкраски синтаксиса необходимо предусмотреть следующие правила:
1) расскраска всего кода в промежутке от одного слова до второго - например комментарии /*...*/ или строки "...."
2) расскраска ключевых слов
Это реализовано, кроме того бывают ситуации когда промежуток должен быть расскрашен по другому с другими правилами например ASP код внутри HTML или ассемблерные вставки внутри Дельфи - это тоже реализовано тем что внутри промежутка можно использовать свои правила и промежутки. Вложенность не лимитирована.
Всем кому интересно, я создал форум для обсуждения компонента, правда сообщения писать только на английском, там уже идёт дискуссия с авторами проекта SynEdit:
https://forum.vingrad.ru/SynUniHighlighter.html
Открыт русскоязыйчный портал для пользователей и разработчиков компонентов подкраски синтаксиса здесь: https://forum.vingrad.ru/index.php?act=SF&f=170