2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 04:26 
Когда? В теме «Атрибут» у [code] cepesh уже обещал это сделать.

Действительно, в разделе (форуме) "программирование" было бы гораздо больше порядка если бы публикуемые фрагменты кода оформлялись соответствующей подсветкой. Необязательно добавлять поддержку многих языков, достаточно мэйнстримовых и некоторых академических, например C/C++, pascal, некоторые диалекты asm (x86 хотя-бы), неплохо бы lisp, python, basic, php, perl, и sql.

К примеру, во многих своих сообщениях я иллюстрирую свои мыслишки кодом, и лично мне не хватает подсветки. У других, надо полагать, теже проблемы.

Откликнитесь! Спасибо!

P.S.: Если на данный момент нет технической возможности реализовать подсветку синтаксиса для программистов, добавьте хотя-бы аналог тега quote с моноширинным шрифтом (гарнитура типа Курьер) и сохранением префиксных пробельных символов, что позволило бы осуществлять подсветку своего кода вручную (написав простенькую программульку/скрипт).

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 04:47 
Аватара пользователя
прикручу

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 04:50 
Спасибо! Буду ждать. Поверьте, все участники, в профиле которых указана наибольшая активность в форуме "программирование", будут очень рады. Не зря стараетесь.

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 06:58 
Аватара пользователя
topic26708.html

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 17:57 
2cepesh
Еще раз спасибо, особенно за оперативность. Сто пудов у вас эта "примочка" уже была припасена на случай, если спросят. :)

Теперь о проблемах. При использовании тега syntax отображаемый фрагмент кода обрамляется дополнительными информационными элементами (полями), содержащими некоторые команды для работы с кодом, а также указание используемого языка программирования. Мне кажется (я уверен), что от этих элементов необходимо избавиться. Поясню.

Во-первых, готовые к использованию большие исходники никто на этом форуме не публикует, поэтому команды "свернуть" и "спрятать" не нужны (код для того и выкладывают, чтобы его читали), исходник должен быть по-умолчанию развернут;

Во-вторых, с командой "спрятать" лично у меня имеется проблема, командой "показать" воспользоваться не удается (соответствующая ссылка не "кликабельна");

В-третьих, команды "выделить" и "скачать" также не нужны (еще раз повторюсь, что код выкладывают, чтобы его читали и обсуждали, а непросто копировали, к тому же, обычно в сообщениеях приводят фрагменты на псевдокоде, который вообще "скачивать" бессмысленно);

В-четвертых, указание языка программирование излишне и привносит ненужный визуальный шум, язык известен из контекста.

Возможно ли убрать эти излишества? Надеюсь. Спасибо.

P.S.: Понравилась автоматическая нумерация строк, очень удобно будет ссылаться на конкретные участки кода. Есть ещё такой вопрос, вот вы в теме Подсветка синтаксиса выложили список поддерживаемых языков, некоторые из которых выделены полужирным, что это значит?

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 18:12 
Аватара пользователя
Circiter в сообщении #261293 писал(а):
Во-первых, готовые к использованию большие исходники никто на этом форуме не публикует, поэтому команды "свернуть" и "спрятать" не нужны (код для того и выкладывают, чтобы его читали), исходник должен быть по-умолчанию развернут;

Во-вторых, с командой "спрятать" лично у меня имеется проблема, командой "показать" воспользоваться не удается (соответствующая ссылка не "кликабельна");

В-третьих, команды "выделить" и "скачать" также не нужны (еще раз повторюсь, что код выкладывают, чтобы его читали и обсуждали, а непросто копировали, к тому же, обычно в сообщениеях приводят фрагменты на псевдокоде, который вообще "скачивать" бессмысленно);

В-четвертых, указание языка программирование излишне и привносит ненужный визуальный шум, язык известен из контекста.


Новшество классное, будет очень полезно.

А с указанными замечаниями я не согласен. Не нужно ничего убирать, это все будет реально полезно.

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 18:16 
Цитата:
Не нужно ничего убирать, это все будет реально полезно.

Приведите, пожалуйста, примеры. Мне кажется от этих кнопочек одни только проблемы. И, кстати, как у вас работает функция "спрятать"/"показать"? Проверьте, если не затруднит.

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 18:22 
Аватара пользователя
Circiter в сообщении #261314 писал(а):
И, кстати, как у вас работает функция "спрятать"/"показать"? Проверьте, если не затруднит.


Все функции работают (Firefox).

-- Чт ноя 12, 2009 19:27:44 --

Иногда выкладывают полный код какой-нибудь простенькой программы, который кто-то может захотеть скачать и скомпилировать у себя.

Иногда кладут очень длинный код, который и читать не хочется, а хочется посмотреть, что писали по его поводу. Для этого будет полезно убрать у себя длиннющий кусок и спрятать, чтобы не загромождал экран.

Указание синтаксиса полезно, не все могут определить любой из 300 языков из контекста. Может, я не знаю этот язык, но интересно, на чем написано.

А главное - места эти две строчки занимают мало и на мой взгляд от сути не отвлекают. Может быть, они будут полезны и не всем, но если кому-то пригодятся, то убирать ни к чему.

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 18:37 
Хм, тоже логично.

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 18:42 
Аватара пользователя
Отличная вещь! :appl:

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 19:40 
Аватара пользователя
Circiter в сообщении #261293 писал(а):
Во-первых, готовые к использованию большие исходники никто на этом форуме не публикует, поэтому команды "свернуть" и "спрятать" не нужны (код для того и выкладывают, чтобы его читали), исходник должен быть по-умолчанию развернут;

Публикуют. Как минимум сегодня видел длинные шаблоны в $\TeX$ническом.
Circiter в сообщении #261293 писал(а):
Во-вторых, с командой "спрятать" лично у меня имеется проблема, командой "показать" воспользоваться не удается (соответствующая ссылка не "кликабельна");

Проверил на Chrome 4 --OK , Opera 10 -- не пашет выделение, FF 3.5 -- OK, IE8 --OK. IE8asIE7 -- плохо себя ведет... Подозреваю, что у вас IE7...
Circiter в сообщении #261293 писал(а):
В-третьих, команды "выделить" и "скачать" также не нужны (еще раз повторюсь, что код выкладывают, чтобы его читали и обсуждали, а непросто копировали, к тому же, обычно в сообщениеях приводят фрагменты на псевдокоде, который вообще "скачивать" бессмысленно);

Не соглашусь. Код не всегда выкладывают для обсуждения. Для примера, опять же, шаблоны в $\TeX$ническом.
Circiter в сообщении #261293 писал(а):
В-четвертых, указание языка программирование излишне и привносит ненужный визуальный шум, язык известен из контекста.

Указание языка программирования подключает соответствующие правила парсинга для этого языка.
Circiter в сообщении #261293 писал(а):
Возможно ли убрать эти излишества? Надеюсь. Спасибо.

Возможно, пользователи IE7 лишатся этих излишеств... Посмотрим. Убрать всегда успеется. Пока я только плюсы вижу.
Circiter в сообщении #261293 писал(а):
Есть ещё такой вопрос, вот вы в теме Подсветка синтаксиса выложили список поддерживаемых языков, некоторые из которых выделены полужирным, что это значит?

Это чтобы среди всего многообразия сразу было видно, что из популярного поддерживается.

-- 12 ноя 2009 16:44:34 --

Circiter в сообщении #261293 писал(а):
Еще раз спасибо, особенно за оперативность. Сто пудов у вас эта "примочка" уже была припасена на случай, если спросят. :)

Давно хотел прикрутить. До недавнего времени не было живого GeSHi-мода. После вашего сообщения поискал снова и посчастливилось... Ну а потом часа 3 прикручивал, тестировал и писал FAQ.

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение12.11.2009, 21:37 
Цитата:
Возможно, пользователи IE7 лишатся этих излишеств... Посмотрим.

Насколько я понимаю, проблема только в командах "спрятать" и "выделить", т.е. можно только их убрать. Остальные команды вроде бы во всех браузерах работают.

Цитата:
Указание языка программирования подключает соответствующие правила парсинга для этого языка.

Это понятно. Я имел ввиду не возможность автодетектирования языка, а всего-лишь предполагаемую ненужность отображения названия языка в блоке с кодом в уже готовом сообщении. Хотя это не такая-уж и беда, может кому-то и поможет не запутаться.

В общем-то, я с вами и с PAV'ом согласен, если что-то себя не оправдает убрать-то потом всегда можно будет. Честно говоря, я бы даже и не начал разговор о ненужности дополнительных команд, просто межбраузерная несовместимость настроение подпортила. :)

 
 
 
 Re: Подсветка синтаксиса в теге code для программистов
Сообщение13.11.2009, 15:39 
Circiter в сообщении #261293 писал(а):
Во-первых, готовые к использованию большие исходники никто на этом форуме не публикует, поэтому команды "свернуть" и "спрятать" не нужны (код для того и выкладывают, чтобы его читали), исходник должен быть по-умолчанию развернут;
...
В-третьих, команды "выделить" и "скачать" также не нужны (еще раз повторюсь, что код выкладывают, чтобы его читали и обсуждали, а непросто копировали,

Circiter,

хотя Вас уже переубедили (или почти переубедили), я добавлю.

Код, выложенный мной в теме Алгоритм правильного замыкания плоской кривой "розы" --- готовый к использованию исходник, для обсуждения не предназначенный (я бы тогда написал подробнее и аккуратнее). Хватает развёрнутых первых пяти строк, из которых видно главное: обсуждавшиеся в задачке параметры m=5, n=3 можно произвольно менять.

То есть, эта фича не только для программистских обсуждений юзается...

 
 
 [ Сообщений: 13 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group