Органайзер Aml Pages

  Все выпуски  

Полностью новая реализация синтаксической подсветки языков программирования в Aml Pages


Информационный Канал Subscribe.Ru

Aml Pages: новости, советы, ответы на вопросы
Выпуск 21 от 2005-03-12

Синтаксическая подсветка

Добрый день, уважаемые подписчики. В первую очередь хочу поздравить всех представительниц прекрасной половины подписчиков с 8 марта. Счастья вам и успехов.

9 марта в версии Aml Pages 9.0 Beta 2 (сборка 1561) новая версия синтаксической подсветки языков программирования, о которой так много говорили большевики, наконец, была анонсирована и введена в эксплуатацию.

Итак, как я писал в прошлых выпусках рассылки, основной задачей нового алгоритма подсветки было существенное расширение поддерживаемых языков программирования. А также ключевым было вынесение данных подсветки (слова, цвета, различные правила) во внешние файлы, чтобы любой неискушенный пользователь мог отредактировать их или создать свой собственный файл. Собственно говоря, результатом попытки решить эту задачи, и является новая подсветка. Насколько мне это удалось судить Вам. Алгоритм был написан значительно более обобщенно, а все данные теперь хранятся во внешних файлах. Это файлы с расширением *.ash в папке программы. Название файла вкратце отображает его содержание. Внутреннее устройство самих файлов просто до безобразия - на самом деле это обычные ini-файлы Windows с предопределенными названиями секций и ключей (keys). Я думаю, что для тех, кто из вас занимается программированием, не составит большого труда разобраться в этом формате. Хотя, конечно же, если внутреннее устройство файлов подсветки вызовет у кого-нибудь интерес, то я напишу подробный мануал. В перспективе возможен и выпуск специализированного редактора подобных файлов, благо весь код создания файлов подсветки уже написан и функционирует (как Вы сами понимаете, конечно же, я не ручками создавал львиную долю файлов, ну ленивый, ну что поделать :) На текущий момент уже реализовано некоторое количество языков подсветки, и все они входят в состав стандартного дистрибутива программы. На данный момент в него включены: C\C++, MFC C++ (как некоторое подмножество, в MFC для определенных макросов используются собственные цвета), Visual Basic, E-Mail (подсветка закомментированного текста). Как я полагаю, наверняка какие-то ключевые слова могли быть и упущены, но со временем эти недоделки "вылижутся". На подходе также и HTML. Также были учтены недочеты прошлых версий и выполнена некоторая целевая оптимизация. К примеру, были ликвидированы неудобства продолжительного обработки текста при случайном выборе страницы в дереве, или ощутимые задержки времени при быстром редактировании текста.

Как я писал, если у кого-то из вас возникнет желание добавить прочие языки в список поддерживаемых, то милости прошу. Достаточно просто создать ash-файл, записать его в папку программы и перестроить список языков (командой меню, или простым перезапуском Aml Pages). Я буду признателен, если Вы пришлете подобный файл мне. Я с радостью включу его в дистрибутив, с Вашими копирайтами и моими благодарностями.


Ждем Ваших откликов
До встречи
Автор Aml Pages


http://subscribe.ru/
http://subscribe.ru/feedback/
Подписан адрес:
Код этой рассылки: industry.soft.amlpages
Отписаться

В избранное