Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Ruby: Общие вопросы > Подсветка синтаксиса Ruby |
Автор: Cr@$h 21.9.2006, 01:48 |
На форуме ещё не реализована подсветка кода Ruby. Предлагаю ввести её. Программистов, использующих среды программирования и соответствующие редакторы с подсветкой синтаксиса, прошу составить ключевые слова и правила подcветки. После введения подсветки, можно будет использовать тег [code=ruby], который сейчас не окрашивает код Ruby. За примерами оформления заявки можно обращаться к аналогичным темам других форумов, где уже обсуждалась подсветка (подцветка) синтаксиса. Например, http://forum.vingrad.ru/index.php?showtopic=80363, http://forum.vingrad.ru/index.php?showtopic=80959. |
Автор: skalex 21.9.2006, 12:14 | ||||||||||||||
Вот, набросал тут "на коленке" ... И пока без указания цветов ... Давайте вместе дорабатывать. Язык регистро-зависимый. 1. Комментарии - цвет: #008000, italic Однострочный:
Многострочный:
2. Строки - цвет: #996600
3. Ключевые сова Цвет - #9966CC, bold
Цвет - #9900CC
Цвет - #0000FF, bold
Цвет - #000060
|
Автор: Cr@$h 23.9.2006, 05:35 |
Спасибо, skalex, очень неплохо. Хорошо бы ещё указать чувствительность к регистру (нам то всё понятно, но не всем же). Для разных ключевых слов могут быть разные подсветки. То же касается и строк. За основу можно взять какой-нибудь популярный/официальный редактор/IDE. Может пригодиться работа в Photoshop для извлечения цвета. Во-первых, не везде можно посмотреть цвет даже в привычном формате RGB, а, во-вторых, так удобнее -- сразу в HEX-формате (16-ричном). Делаем в редакторе/IDE снимок экрана -- Alt+Print Screen. Запускаем Photoshop. File > New > Ok. Вставляем снимок Ctrl+V. Берём пипетку (Eyedropper Tool) и выбираем ею на рисунке нужный цвет. Новый цвет установлен как текущий, щёлкаем по нему дважды. Всё, необходимое поле -- #. |
Автор: skalex 23.9.2006, 12:19 | ||
Cr@$h, есть для этого есть очень простой инстрУмент: http://www.nattyware.com/pixie.html. |
Автор: umup 23.9.2006, 14:07 |
Можно взять из Programmer's notepad (www.pnotepad.org), в меню /tools/options/schemes есть настройки для параметров и список ключевых слов, а в папке pn/schemes стили в формате xml. Думаю, в других редакторах также существует что-то подобное. Конкретно для Руби регистр слов имеет значение. |
Автор: Cr@$h 2.10.2006, 22:30 |
Почему никто не активничает, неужели не нужная фича... |
Автор: skalex 6.10.2006, 16:20 |
Я отредактировал свой пост - указал цвета для разных групп. |
Автор: skalex 6.10.2006, 16:47 |
Ну а посмотреть можно тут: http://www.skalex.org/others/ruby_highlight_vingrad/. |
Автор: Bikutoru 6.10.2006, 17:03 |
может имеет смысл подсвечивать также attr_reader, attr_writer, attr_accessor? Мне кажется, это лишним не будет. А пример выглядит очень неплохо Добавлено @ 17:03 P.S. include забыли... |
Автор: skalex 6.10.2006, 17:08 |
Bikutoru, include добавил. Насчет подсветки дополнительных "слов", я только за. Все обсуждаемо. |
Автор: Cr@$h 7.10.2006, 05:09 | ||||
Здорово, и пример хороший. Правда со строками не всё понятно, мне кажется: text, array of strings, command, regexp должны проверяться на что-то или подсвечиваются в любом случае, чтобы там ни было написано? В примере не подсвечиваются %r</\z>, например. В общем, со строками не совсем ясно.
Конечно, и лучше использовать IDE, где подсвечивается по максимуму или наиболее популярную IDE. Тот же http://www.pnotepad.org ... |
Автор: skalex 7.10.2006, 09:05 |
Cr@$h, в моем примере просто ориентировочный пример, как могла бы выглядеть подстветка синтаксиса Ruby. Реально там все раскрашивается движком geshi. И там нет возможности задавать правила подсветки строк, кроме как кавычек. |
Автор: Cr@$h 7.10.2006, 18:17 | ||
Ок, пока думай над этим, как лучше подсветить (чем, точнее):
Опять же, можно посмотреть, как это сделано в продвинутых средах/редакторах. В приведённых правилах все символы лексем должны подсвечиваться? Если нет, то подсвечиваемые лучше выделить жирным. Для этого это правило надо будет оформить как цитату, иначе жирные теги не будут действовать. |
Автор: skalex 9.10.2006, 08:38 |
Cr@$h, вообще хорошо бы знать какими возможностями обладает винградовский движок подсветки ... |
Автор: Cr@$h 9.10.2006, 23:09 |
Тут у sergeyzr спросить надо. Вообще, возможности довольно таки гибкие -- столько языков уже введено (Fortran остался только, но там свои сложности). Лучше чётко правила описать, дать Сергею, а потом он сам скажет, что real, а что unreal. |
Автор: skalex 10.10.2006, 08:24 |
Еще к обсуждению:
|
Автор: skalex 22.2.2007, 12:24 |
Может поставим точку в этом деле? ![]() |