Внедрение подсветки синтаксиса Pharo в сеть - PullRequest
3 голосов
/ 21 марта 2011

Я хотел бы знать, есть ли способ получить подсветку синтаксиса 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>

Полагаю, это совсем не будет тривиально ...:)

Ответы [ 3 ]

4 голосов
/ 21 марта 2011

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

2 голосов
/ 22 марта 2011

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

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

1 голос
/ 24 марта 2011

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

...