Вот сегодня набросал файл подсветки синтаксиса для текстового редактора Kate (http://ru.wikipedia.org/wiki/Kate).
Может кому сгодится.
Файл я создал на основе подсветки для C, также заглядывал в другие файлы подсветки и в документацию (http://docs.kde.org/kde3/ru/kdebase/kate/highlight.html).
Чтобы установить файл подсветки нужно скопировать pixilang.xml в $KDEDIR/share/apps/katepart/syntax.
Скачать файл подсветки
Скриншоты:
Примечания:
1. В ходе создания этого файла возникло несколько проблем идентификации сущностей в пикси.
Пример:
Code: Select all
INCLUDE "somefile.txt"
// Не зная контекста совершенно невозможно понять zxc это переменная или подпрограмма.
abc = 123 + zxc
Code: Select all
INCLUDE "somefile.txt"
abc = 123 + zxc()
Code: Select all
zxc
2. Еще у меня было желание делать сворачиваемыми подпрограммы.
Типиченая подпрограмма:
Code: Select all
sub_prog1:
// что-то делаем
ret
но если метки используются не для создания продпрограмм, а сами по себе, то возникает не очень красивая ситуация, как на одном из скриншотов,
когда закрывается только "вложенная" (или лучше сказать "следующая") метка, а вышестоящая метка тянется до конца файла.
Кому не нравится такое поведение можно вообще убрать свертывание для подпрограмм. Для этого необходимо закомментировать строки в файле разметки:
Code: Select all
<!-- BEGIN: Fold subprograms -->
<RegExpr attribute="Label" context="#stay" String="[\w_]+:" beginRegion="Subprog1" />
<RegExpr attribute="Keyword" context="#stay" String="ret" endRegion="Subprog1" />
<RegExpr attribute="Keyword" context="#stay" String="(^|\s)+(goto)(^|\s)+" endRegion="Subprog1" />
<RegExpr attribute="Keyword" context="#stay" String="(^|\s)+(go)($|\s)+" endRegion="Subprog1" />
<!-- END: Fold subprograms -->
Code: Select all
<!-- Highlight labels UNCOMMENT ONLY IF YOU DON'T WANT USE subprograms folding (see below) -->
<!-- <RegExpr attribute="Label" context="#stay" String="[\w_]+:" /> -->
Code: Select all
//BEGIN initial values
mouse_is_down=0
select_forecolor=1
//END
А если у кого есть какие пожелания, или кто ошибки найдет - обращайтесь
P.S. Kate - это редактор в KDE (под Linux), но в принципе умельцы собирают и под винду, если кому надо...