В конечном результате важен конечный результат!

понедельник, июля 03, 2006

asViewer

Нашел у Silin'а в блоге интересную штуковину - asViewer - утилиту для вывода(показа) AS-кода с подсветкой.
Вот что пишет сам Silin:

Часто нужно показать тот или иной фрагмент кода. Ну ясно хочется, чтоб выглядел он прилично, т.е. с форматированием и привычной подсветкой... В последних бетах второго Flex'a здорово это реализовано: для всех файлов проекта генерятся странички с табличной расцветкой ключевых слов.. Хорошо конечно, но гонять через флекс всякий код и уж, тем более, вручную расставлять спаны не годится..
Тогда вспоминаем, что TextFormat тоже неплохо может справится с раскраской, если пробежаться по тексту, отыскав ключевые слова, строки и комменты и определить нужное форматирование..
Короче берем список ключевых слов из ActionsPanel.xml или из какого-нибудь подсвечивающего редактора (я взял из notepad++), кладем его в XML, походу определив для каждой группы формат (шрифт, цвет, и т.д.) подсветки, в самом вьюере из него создаем массив TextFormat'ов с соотвтствующими массивами строк для раскраски, дальше грузим в TextField файл с as-кодом и бегаем по нему и красим, бегаем и красим... да вообщем-то не так и долго для разумных размеров файла..
в качестве примера: код в собственном соку, т.е. в swf, из него же и созданном..
другой вариант использования: страничка, в которую javascript'ом вставяем вьюер со ссылкой на as-файл в FlashVars, взятой из адресной строки.. т.е. чтоб показать любой код в новом окне досточно универсального шаблона: передаем ссылку в адресе после # и все.., например (код скролбаров):

VScroll.as
HScroll.as
Исходники