Внесение синтаксиса Фаро в Интернет
-
28-10-2019 - |
Вопрос
Я хотел бы знать, есть ли способ выделить синтаксис Фаро в веб -приложении, кодированном в Илиаде.
На самом деле, структура не должна иметь значения, так как мне нужно, это простая 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>
Я предполагаю, что это совсем не будет тривиальным ... :)
Решение
Мы написали небольшой, но скорее полный синтаксис, в Фаро для Seaside. Он принимает метод, анализирует его, а выходы аннотировали HTML. Вам нужно только указать некоторые правила в CSS, чтобы изменить цвет различных узлов AST (селекторы, строки, символы, числа, ключевые слова, переменные).
Вы найдете полный пример в WebDoc Проект по скрипкурсе. Анкет Ищите SourceFormatter
Класс, все, что вам нужно, есть.
Другие советы
Пирс Поддерживает синтаксис. Пример можно найти здесь: http://book.seaside.st/. Анкет Это реализовано в пакете пирса (см. Репозиторий скрипка Лукаса Ренггли).
Существует также небольшой лексер для пигментов, который имеет немного больше проникновения, чем альтернативы на основе SmallTalk.