Winnie C++ Colorizer
Dec. 3rd, 2005 16:15http://dobrokot.nm.ru/WinnieColorizer.html
Наконец-то появилась тулза, которой не стыдно пользоваться.
Наиболее актуальная область применения - цитирование исходников в html-media типа LJ или домашних web-страничек.
Так что прошу любить и жаловать.
(Пост
_winnie о Winnie C++ Colorizer)
В настоящий момент Winnie C++ Colorizer вполне пристойно обрабатывает почти все разумного вида исходники.
Есть некоторые проблемы (странный стиль у литерала 0, нет нумерации строк, очень хардкодный конфигуратор стилей исходников, незнание declspecов и т.п.), но всё это быстро обходится небольшими короткими хаками в BNF и в генераторе (программа доступна в исходных текстах).
_winnie использует велосипедный мини-spirit, что одновременно и забавно и поучительно.
Winnie C++ Colorizer довольно корректно воспринимает извращённый C++ - а это большая редкость (например, GeSHi - совсем никакой в этом отношении).
Можно подумать о хостинге этой тулзы на каком-нибудь сайте (типа Comeau Online).
Возможно, проще будет договориться с каким-нибудь rafb net paste, я думаю.
А товарищу
_winnie - большое спасибо за заботу о юзерах ЖЖ :)
Наконец-то появилась тулза, которой не стыдно пользоваться.
Наиболее актуальная область применения - цитирование исходников в html-media типа LJ или домашних web-страничек.
Так что прошу любить и жаловать.
(Пост
В настоящий момент Winnie C++ Colorizer вполне пристойно обрабатывает почти все разумного вида исходники.
Есть некоторые проблемы (странный стиль у литерала 0, нет нумерации строк, очень хардкодный конфигуратор стилей исходников, незнание declspecов и т.п.), но всё это быстро обходится небольшими короткими хаками в BNF и в генераторе (программа доступна в исходных текстах).
Winnie C++ Colorizer довольно корректно воспринимает извращённый C++ - а это большая редкость (например, GeSHi - совсем никакой в этом отношении).
Можно подумать о хостинге этой тулзы на каком-нибудь сайте (типа Comeau Online).
Возможно, проще будет договориться с каким-нибудь rafb net paste, я думаю.
А товарищу
no subject
Date: Dec. 3rd, 2005 14:40 (UTC)no subject
Date: Dec. 3rd, 2005 15:22 (UTC)>странный стиль у литерала 0
Ну, это префикс восьмеричной константы :)
no subject
Date: Dec. 3rd, 2005 15:25 (UTC)...
надо сделать.
no subject
Date: Dec. 3rd, 2005 15:40 (UTC)можно в настройках указать, что бы префиксы не раскашивать. 0 - восьмеричная константа.
no subject
Date: Dec. 11th, 2005 10:52 (UTC)no subject
Date: Dec. 11th, 2005 16:40 (UTC)no subject
Date: Dec. 11th, 2005 13:29 (UTC)no subject
Date: Dec. 11th, 2005 16:40 (UTC)no subject
Date: Dec. 11th, 2005 17:41 (UTC)после этого открывается окно со сгенерённым HTML-кодом. Его вы выделяете и копипастите либо в форму, либо в Semagic.
притом, так можно сгенерить подсветку не только для C++, но и почти для любого другого известного языка, поскольку vim идёт с большим комплектом файлов синтаксиса.
Естественно, должны быть правильно выставлены настройки в конфигурационном файле, что обычно имеет место для GUI-версии по дефолту, но может не иметь места для дефолтной консольной версии.
no subject
Date: Dec. 11th, 2005 18:05 (UTC)Стоит его посмотреть, что скажете?
Честно говоря, у меня всё, что начинается на vi до сих пор вызывает острый приступ юниксовой юзабилитифобии в плане простых человеческих слабостей.
В vi можно открывать несколько документов и иметь простые радости типа multiedit или VAX?
no subject
Date: Dec. 12th, 2005 07:35 (UTC)Открывать несколько документов -- можно. С multiedit сравнить не могу, поскольку никогда последним не пользовался.
Посмотреть, наверно, стоит, но предупреждаю сразу:
a)Он очень сильно отличается от обычных редакторов, управление полностью нестандартное(собственно, в общих чертах такое же, что и у vi)
b)Фич много, но узнать о наличии той или иной фичи как правило можно только лишь ежедневно читая help
c) Консольная версия -- вообще классическая юникс-программа с принципом: "если хочешь, чтоб что-то работало -- пропиши сначала в конфиге"
(например, в консольной версии vim есть поддержка мыши, но почти все работают без неё, потому что не знают, что её нужно прописать в конфиге!)
В общем, в любом случае ничто не мешает использовать только для генерации подсветки