Самая любимая функция StackOverflow для меня заключается в том, что он может автоматически определять код в записи и устанавливать соответствующий цвет для кода.
Мне интересно, как устанавливается цвет. Когда я делаю Ctrl kbd> + F5 kbd> на странице, код сначала кажется черным текстом, а затем меняется на цветной. Это сделано jQuery?
В ответ на..
Spolsky: Как они знают, как они даже знают, в каком языке Вы пишете?
Это не делает. Маркер является очень немым, но умеет, выходит сухим из воды, потому что большинство языков программирования так подобно. Почти все использует синтаксис достаточно близко для..
AFunction("a string")
1 + 4 # <- numbers
# /\ a comment
// also a comment..
.. то, что большая часть материала выделяется правильно. Вышеупомянутое не является фактическим языком программирования, но оно выделяется отлично.
существуют исключения, например, это может иногда рассматривать /
как запуск regex (как в Perl/Ruby). когда это не:
this [^\s>/] # is highlighted as a regex, not a comment
.. но они довольно редки, и это делает хорошее задание разработки большей части материала, как..
/*
this is a multi-line comment
"with a string" =~ /and a regex/
*/
but =~ /this is a regex with a [/*] multiline comment
markers in it! */
Как сказано dbr, это делает фиктивное выделение наиболее распространенных конструкций языков. Который не работает хорошо с некоторыми экзотическими синтаксисами. Интересно, можем ли мы сделать секции кода без выделения, BTW.
For id = 1 To 10 Do
CallSomething() // It likes CamelCase identifiers...
End
for id = 1 to 10 do # Also highlight some common keywords...
if id % 2 then call_something(); x++; end
end
'str' "str" 12 + 15.6 * -7e+9 /* Some common constant forms */
=/regex/ ~/regex/ +/RE/ !/regexpr/ but not /[^regex]/ (no operator before it)
(* Some comment conventions are overlooked... *)
-- Lua's (and some other languages')
; So are these comments...
' And these (Basic)
Работы достаточно хорошо для общего кода для создания иллюзии, и лучше, чем загружающаяся дюжина синтаксисов в браузере.
От Подкаст Переполнения стека № 11 :
Atwood: Это. Хорошо, так, чтобы прибывает из, это - проект некоторый инженер Google, я думаю, записал его - это называют, "Украшают". И это немного интересно в этом, это на самом деле выводит всю подсветку синтаксиса, которая кажется, что это не могло возможно работать - это звучит на самом деле безумным, если Вы думаете об этом. Но это на самом деле добрый из работ. Теперь, он только поддерживает его для, существуют определенные диалекты, которые просто действительно не работают хорошо с ним, но для всех диалектов такой, Вы нашли бы на Google. Я думаю, что это прибывает из Google Code Google. Это - фактический код, это - фактический JavaScript, который находится на Google Code, который выделяет это код, который возвращается, когда Вы размещаете проекты на Google Code. И Вы и Вы, гм, потому что я думаю, что они используют Подрывную деятельность, таким образом, можно на самом деле нажать через...
Spolsky: , Как они знают, как они даже знают, в каком языке Вы пишете? И поэтому, какой комментарий и...
Atwood: я не знаю. Это является сумасшедшим. Это - prettify.js, поэтому если кто-либо заинтересовал рассмотрением этого, просто сделайте веб-поиск "prettify.js", и Вы найдете его.
И вот то, где можно найти prettify.js: http://code.google.com/p/google-code-prettify/
varnames
вектор. – djhurio 12.12.2019, 22:58