Цитата(CaPpuCcino @ Oct 28 2009, 15:30)

сейчас обнаружил одну очень важную вещь в отношении этого пункта: (не знаю с какого релиза, но) к SciTe прикрутили, реализацию PEG(Parsing expression grammar) на Lua (lpeg), а это очень серьёзная вещь и все претензии в отношении регулярных выражений теперь к языку Lua снимаются (попробую в ближайшее время покурить заново индексирование переменных)
ну, что же, дорогие мои, как и обещал прикрутил индексацию объявлений переменных и объявлений функций/задач для SystemVeriloga к текстовому редактору SciTe (версия пока пробная - чисто для фидбака со стороны писателей на SV).
что хотелось:
хотелось иметь удобство навигации по коду как у хороших сред разработки - для дезайнера имеющего большой код часто требуется моментально перейти к объявлению переменной или функции, чтобы уточнить какого данная переменная типа или что за заголовок/тело процедуры (при этом если воспользоваться просто поиском по коду, то прежде чем добраться до объявления обязательно наткнёшься на пару инстансов, функция подсветки аналогичного текста, хоть и удобнее, но также обходной способ). для этого в средах разработки часто где-нить с боку есть список всех переменных, по щелчку на элементе которого переходишь к объявлению. вот это бы собственно и хотелось от бесплатного редактора.
что получили:
я дополнил и доработал Scite мульку под названием SideBar (предворительный вариант). написал грамматику для SV (правила декларации переменных и процедур в самых извращённых их формах за исключением неявных типов для var и аргументов и портов - это доделаю в ближ будущем), разбил боковую панель на 2 соответствующих списка. добавил функцию подсветки элемента в списках по двойному щелчку по переменной в тексте.
что можно делать:
двойной щелчёк по боковым спискам даёт переход к объявелению; двойной щелчёк по инстансу переменной в поле редактора с удерживаемым шифтом - аналогичный переход, control +" ," - обратный переход к месту прыжка; двойной щелчёк по инстансу в поле редактора приводит к тому, что, если существует объявление данной переменной/функции, то в списке оно будет подсвечено (есть одна досадная вещь - подсветка будет видна только после нажатие на заголовок окна списка - это не баг, это фича, т.е. неполная функциональность - думаю её скоро расширят)
недостатки:
к сожалению SideBar построена с использованием gui.dll с очень спартанской функциональностью (так например сделать данный список деревом не представляется возможности, что не добавляет эстетики, ожидаю, что в ближайших релизах функциональность этой библиотеки бу расширена)
это пробный релиз - в ближайшем будущем добавлю декларацию портов, параметров и аргументов процедур, объявления пользовательских типов.
мне бы хотелось услышать ваши пожелания по удобству использования. например интересно стоит ли делать поиск деклараций только в текущем файле или организовывать что-то типа проекта; приятно ли будет видеть динамический список переменных в зависимости от области видимости переменных (по позиции курсора в коде на поле редактора) или достаточно области видимости файла, а вот уже объявления пользовательских типов и процедур делать глобально на проект и т.д.
в общем-то хотелось бы услышать ваши идеи и пожелания
ЗЫ предвкушая доп вопросы, спешу сообщить, что в планах также есть интеграция с МоделСимом/КвестаСимом