Resaltado de código con comillas escapadas

El resaltado de código parece ignorar las comillas escapadas (tanto simples como dobles). Es decir, si una cadena dentro de una sección de código contiene comillas escapadas, partes de la cadena se resaltan como código normal. En este foro, el resaltado de código parece estar deshabilitado, por lo que incluyo el enlace a la publicación específica del foro donde lo noté por primera vez.


Enlace a la publicación del foro capturada en pantalla: https://unofficialnextion.com/t/set-vale-on-page2/1679/3

Más detalles:

  • Dicho foro ejecuta Discourse v2.9.0.beta9
  • El resaltado de código está habilitado para bash, cs, cpp, xml, ini, json, makefile, markdown, python, c, c-like. El valor predeterminado está configurado en cpp. Restablecer estas configuraciones de resaltado de idioma al predeterminado no resuelve el problema.
  • El problema también está presente en modo seguro
  • El problema también está presente al escapar comillas simples en una cadena de comillas simples (escapar comillas simples en una cadena de comillas dobles y viceversa funciona correctamente).

Saludos cordiales,
Max

Esa es la biblioteca highlightjs, así que cualquier error sería aguas arriba.

¿También parece que esto funciona en modo cpp?

const char* NXT_CMD_END = "\xff\xff\xff";
Serial.print("page2.t0.txt=\"Any text\"");
Serial.print(NXT_CMD_END);

Puedes establecer un idioma explícito usando la función “info string” en un bloque de código:

```cpp
tu código aquí
```

creará un bloque de código con sabor a cpp.

3 Me gusta

¡Gracias por la rápida respuesta y la información!

De hecho, el resaltado de cpp funciona si se establece explícitamente. Sin embargo, al investigar un poco más, encontré otro… comportamiento inesperado.
Eliminé todos los idiomas de la lista de idiomas resaltados excepto cpp y volví a establecer el idioma predeterminado en auto. El resultado seguía siendo un resaltado incorrecto. Al abrir el Inspector en Firefox, se reveló que el código aparentemente se reconoce como vbnet, ¿un idioma que nunca estuvo en la lista de idiomas resaltados (ni el predeterminado ni ninguno personalizado que haya probado para este problema)? ¿Se supone que esto suceda?

Saludos cordiales,
Max

¿Ha vuelto a hornear la publicación que contiene el bloque de código después de cambiar la configuración?

1 me gusta

Recargué la página. Si bien la publicación del foro en sí nunca cambió, incluso al reiniciar Firefox o recargar la página con CTRL+F5, noté que la vista previa para editar la publicación utiliza la configuración modificada al recargar la página.

Por lo tanto, con cpp como único idioma en la lista (para mantener las cosas simples), si establezco el idioma predeterminado en cpp, el resaltado de código en la vista previa de edición de la publicación es correcto. Si establezco el idioma predeterminado en auto y vuelvo a recargar la página, ya no es correcto como se describe en la publicación anterior.

Saludos cordiales,
Max

Reiniciar el navegador no servirá. En Discourse, las publicaciones se hornean (se convierten de markdown a HTML) en el servidor una sola vez, y el HTML resultante se almacena en caché en la base de datos. Para actualizar dicha publicación cocinada, necesitas “hornearla” de nuevo. Esto puede ser hecho por un usuario del personal usando el menú de la llave inglesa en una publicación o por el autor de la publicación editando el contenido de dicha publicación.

1 me gusta

Thx. Rebaking results in the same behavior as with the edit preview though. auto selects a language (vbnet) that’s not in the list of languages to highlight. Setting the default lang explicitly to cpp (either in the forum settings or as you showed here) does work as reported earlier.
So the question remains: is auto supposed to use other languages than those in the list?

Kind regards,
Max