Добавление подсветки синтаксиса Pharo в Интернет

Я хотел бы знать, есть ли способ получить подсветку синтаксиса Pharo в веб-приложении, закодированном в Iliad.

На самом деле, структура не должна иметь значения, так как мне нужна простая строка HTML вида:

<span style="color: rgb(102, 0, 0);">^</span> Set <span
style="color: rgb(0, 0, 153);">withAll:</span> <span
style="color: rgb(102, 0, 0);">self</span>

Я думаю, что это не будет тривиальным вообще... :)


person Bernat Romagosa    schedule 21.03.2011    source источник


Ответы (3)


Мы написали небольшую, но довольно полную подсветку синтаксиса на Pharo для Seaside. Он принимает метод, анализирует его и выводит аннотированный HTML. Вам нужно только указать некоторые правила в css, чтобы изменить цвет различных узлов AST (селекторы, строки, символы, числа, ключевые слова, переменные).

Полный пример вы найдете в проекте WebDoc на сайте squeaksource. Ищите класс SourceFormatter, там есть все что нужно.

person camillobruni    schedule 22.03.2011

Pier поддерживает подсветку синтаксиса. Пример можно найти здесь: http://book.seaside.st/. Это реализовано в пакете Pier-Shout (см. репозиторий Лукаса Ренггли SqueakSource).

person alienhard    schedule 21.03.2011

Существует также лексер smalltalk для pygments, который имеет немного большее проникновение, чем альтернативы, основанные на smalltalk.

person Sean T Allen    schedule 24.03.2011