Pixilang - это такой пиксель-ориентированный язык программирования.
Вот сегодня набросал файл подсветки синтаксиса для текстового редактора Kate (wikipedia). Может кому сгодится. Файл я создал на основе подсветки для C, также заглядывал в другие файлы подсветки и в документацию.
Чтобы установить файл подсветки нужно скопировать pixilang.xml его в $KDEDIR/share/apps/katepart/syntax.
Скачать файл подсветки pixilang.xml.gz
Скриншоты:






1. В ходе создания этого файла возникло несколько проблем индентификации сущностей в пикси. Пример:
INCLUDE "somefile.txt" // Не зная контекста совершенно невозможно понять zxc это переменная или подпрограмма. abc = 123 + zxcТак получается намного понятнее:
INCLUDE "somefile.txt" abc = 123 + zxc()Поэтому не любой вызов подпрограммы подсвечивается. Подсвечивается только вызов со скобками() и одиночная команда вроде:
zxcХотя zxc может быть и переменной, все же обычно это вызов подпрограммы.
2. Еще у меня было желание делать сворачиваемыми подпрограммы. Типичная подпрограмма:
sub_prog1: // что-то делаем retЕсли определить метку "sub_prog1:" в качестве начала блока и комманду "ret" (также блок могут завершить "go" или "goto") в качетве конца, то в этом примере все работает хорошо. но если метки используются не для создания продпрограмм, а сами по себе, то возникает не очень красивая ситуация, как на одном из скриншотов, когда закрывается только "вложенная" (или лучше сказать "следующая") метка, а вышестоящая метка тенется до конца файла. Кому не нравится такое поведение можно вообще убрать свертывание для подпрограмм. Для этого необходимо закомментировать строки в файле разметки:
<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" />
А строку чуть выше, наоборот расскоментировать, чтобы осталась подсветка меток:
<!-- Highlight labels UNCOMMENT ONLY IF YOU DON'T WANT USE subprograms folding (see below) -->
<!-- <RegExpr attribute="Label" context="#stay" String="[\w_]+:" /> -->
3. Можно специальными комментариями задавать сворачиваемые блоки:
//BEGIN initial values mouse_is_down=0 select_forecolor=1 //ENDСм. скриншоты.
А если у кого есть какие пожелания, или кто ошибки найдет - обращайтесь :)