bootstrap javascript syntax-highlighting

javascript - bootstrap - tooltip image html



¿Cómo se configura el color del código en StackOverflow? (3)

La característica más favorita de StackOverflow para mí es que puede detectar automáticamente el código en la publicación y establecer el color apropiado para el código.

Me pregunto cómo se establece el color. Cuando hago Ctrl + F5 en una página, el código primero parece ser texto negro, luego cambia para ser colorido. ¿Está hecho por jQuery?


Como dijo dbr, hace un resaltado ficticio de las construcciones más comunes de idiomas. Lo cual no funciona bien con algunas sintaxis exóticas. Me pregunto si podemos hacer secciones de código sin resaltar, por cierto.

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)

Funciona lo suficientemente bien como para que el código común haga ilusiones, y mejor que cargar docenas de sintaxis en el navegador.


De Podcast # 11 :

Atwood: Lo es. De acuerdo, eso viene de, ese es un proyecto que un ingeniero de Google, creo, lo escribió: se llama "Pretificar". Y es un poco interesante porque de hecho infiere todo el resaltado de sintaxis, lo que suena como que posiblemente no podría funcionar; en realidad, parece una locura, si lo piensas bien. Pero en realidad funciona. Ahora, él solo lo admite, hay ciertos dialectos que simplemente no funcionan bien con él, pero para todos los dialectos que se encuentran en Google. Creo que proviene del Google Code de Google. Es el código real, es el JavaScript real que está en el Código de Google que destaca que el código que vuelve cuando estás alojando proyectos en Google Code. Y tú y tú, um, porque creo que usan Subversion para que puedas hacer clic en ...

Spolsky: ¿Cómo lo saben, cómo saben siquiera en qué idioma estás escribiendo? Y por lo tanto, qué comentario es y ...

Atwood: No lo sé. Es una locura. Es prettify.js, así que si alguien está interesado en ver esto, simplemente haga una búsqueda web de "prettify.js", y lo encontrará.

Y aquí es donde puedes encontrar prettify.js: http://code.google.com/p/google-code-prettify/


En respuesta a..

Spolsky: ¿Cómo lo saben, cómo saben siquiera en qué idioma estás escribiendo?

No es así El resaltador es muy tonto, pero se las arregla para salirse con la suya porque la mayoría de los lenguajes de programación son muy similares. Casi todo usa sintaxis lo suficientemente cerca para ...

AFunction("a string") 1 + 4 # <- numbers # // a comment // also a comment..

..que la mayoría de las cosas se destacan correctamente. Lo anterior no es un lenguaje de programación real, sino que se destaca perfectamente.

Hay excepciones, por ejemplo, a veces puede tratar a / como el comienzo de una expresión regular (como en Perl / Ruby). cuando no es:

this [^/s>/] # is highlighted as a regex, not a comment

... pero estos son bastante raros, y hace un buen trabajo resolviendo la mayoría de las cosas, como ...

/* this is a multi-line comment "with a string" =~ /and a regex/ */ but =~ /this is a regex with a [/*] multiline comment markers in it! */