aruslan: (Default)
[personal profile] aruslan
http://dobrokot.nm.ru/WinnieColorizer.html

Наконец-то появилась тулза, которой не стыдно пользоваться.
Наиболее актуальная область применения - цитирование исходников в html-media типа LJ или домашних web-страничек.
Так что прошу любить и жаловать.

(Пост [livejournal.com profile] _winnie о Winnie C++ Colorizer)

В настоящий момент Winnie C++ Colorizer вполне пристойно обрабатывает почти все разумного вида исходники.
Есть некоторые проблемы (странный стиль у литерала 0, нет нумерации строк, очень хардкодный конфигуратор стилей исходников, незнание declspecов и т.п.), но всё это быстро обходится небольшими короткими хаками в BNF и в генераторе (программа доступна в исходных текстах).

[livejournal.com profile] _winnie использует велосипедный мини-spirit, что одновременно и забавно и поучительно.
Winnie C++ Colorizer довольно корректно воспринимает извращённый C++ - а это большая редкость (например, GeSHi - совсем никакой в этом отношении).

Можно подумать о хостинге этой тулзы на каком-нибудь сайте (типа Comeau Online).
Возможно, проще будет договориться с каким-нибудь rafb net paste, я думаю.

А товарищу [livejournal.com profile] _winnie - большое спасибо за заботу о юзерах ЖЖ :)

Date: Dec. 3rd, 2005 14:40 (UTC)
From: [identity profile] http://users.livejournal.com/__anubis__/
Круто, да!:) Винни малацца!!!

Date: Dec. 3rd, 2005 15:22 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
^_^

>странный стиль у литерала 0
Ну, это префикс восьмеричной константы :)

Date: Dec. 3rd, 2005 15:25 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
Основная feature lack, мне кажется, что нет поддежки html-стлией, просто используются теги <font color=...", <i></;i> <b></;b>
...
надо сделать.

Date: Dec. 3rd, 2005 15:40 (UTC)
From: [identity profile] http://users.livejournal.com/_winnie/
>странный стиль у литерала 0,
можно в настройках указать, что бы префиксы не раскашивать. 0 - восьмеричная константа.

Date: Dec. 11th, 2005 10:52 (UTC)
From: [identity profile] ex-snoobot367.livejournal.com
а что такое "велосипедный мини-spirit" ?

Date: Dec. 11th, 2005 16:40 (UTC)
From: [identity profile] aruslan.livejournal.com
Посмотрите на исходники.

Date: Dec. 11th, 2005 13:29 (UTC)
From: [identity profile] do-.livejournal.com
pol'zuyus' dlya etih celej redactorom vim i vpolne dovolen. a nekotorye prodolzhayut izobretat' velosiped

Date: Dec. 11th, 2005 16:40 (UTC)
From: [identity profile] aruslan.livejournal.com
А как мне поможет редактор vim при выкладывании шмотка C++ кода в LJ?

Date: Dec. 11th, 2005 17:41 (UTC)
From: [identity profile] do-.livejournal.com
открываете нужный файл, выделяете нужный кусочек текста(или не выделяете, если нужен весь файл целиком) и набираете команду :TOhtml

после этого открывается окно со сгенерённым HTML-кодом. Его вы выделяете и копипастите либо в форму, либо в Semagic.

притом, так можно сгенерить подсветку не только для C++, но и почти для любого другого известного языка, поскольку vim идёт с большим комплектом файлов синтаксиса.

Естественно, должны быть правильно выставлены настройки в конфигурационном файле, что обычно имеет место для GUI-версии по дефолту, но может не иметь места для дефолтной консольной версии.

Date: Dec. 11th, 2005 18:05 (UTC)
From: [identity profile] aruslan.livejournal.com
Спасибо, не знал.
Стоит его посмотреть, что скажете?
Честно говоря, у меня всё, что начинается на vi до сих пор вызывает острый приступ юниксовой юзабилитифобии в плане простых человеческих слабостей.
В vi можно открывать несколько документов и иметь простые радости типа multiedit или VAX?

Date: Dec. 12th, 2005 07:35 (UTC)
From: [identity profile] do-.livejournal.com
Только речь идёт о vim(Vi iMproved), а не о vi. У vi как такового возможностей довольно мало.

Открывать несколько документов -- можно. С multiedit сравнить не могу, поскольку никогда последним не пользовался.

Посмотреть, наверно, стоит, но предупреждаю сразу:
a)Он очень сильно отличается от обычных редакторов, управление полностью нестандартное(собственно, в общих чертах такое же, что и у vi)
b)Фич много, но узнать о наличии той или иной фичи как правило можно только лишь ежедневно читая help
c) Консольная версия -- вообще классическая юникс-программа с принципом: "если хочешь, чтоб что-то работало -- пропиши сначала в конфиге"
(например, в консольной версии vim есть поддержка мыши, но почти все работают без неё, потому что не знают, что её нужно прописать в конфиге!)

В общем, в любом случае ничто не мешает использовать только для генерации подсветки

Profile

aruslan: (Default)
aruslan

January 2014

S M T W T F S
   1234
56789 1011
12131415161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 10th, 2026 06:53
Powered by Dreamwidth Studios