El resaltado de sintaxis estático es el resaltado del código que el usuario no puede cambiar. Esto incluye fragmentos de código, iteraciones y más.
El editor en línea no usa el resaltado de sintaxis estático, ya que el usuario puede cambiar el código sobre la marcha. Si quieres saber más sobre cómo manejamos el resaltado de sintaxis en el editor en línea, consulta la documentación sobre el resaltado de sintaxis dinámico.
El resaltado de sintaxis estático se hace con la biblioteca highlightjs.
Cuando agregas compatibilidad con tu lenguaje, hay tres opciones:
Para habilitar la compatibilidad de highlightjs con el lenguaje de tu track, tienes que modificar el archivo config.json del track.
Dentro del archivo config.json, agrega o establece la clave online_editor.highlightjs_language con el identificador de lenguaje de highlightjs correspondiente (lo puedes encontrar en la documentación).
{
"online_editor": {
"highlightjs_language": "csharp"
}
}
Para usar un plugin existente, este debe estar publicado en NPM. Si el plugin no está publicado en NPM, tienes estas opciones:
El siguiente paso es habilitar el plugin.
Para habilitar un plugin (que debe estar publicado en NPM), abre un tema en el foro pidiéndonos que agreguemos compatibilidad con el plugin al sitio web. Nosotros (Exercism) crearemos entonces un Pull Request que agrega el plugin al sitio web. Una vez que se fusione el PR, puedes habilitar la compatibilidad con highlightjs siguiendo las instrucciones de la sección Configurar el track.
Si quieres crear un plugin, tienes dos opciones para alojarlo:
Una vez que tengas un repositorio, sigue las instrucciones para contribuir con un lenguaje para implementar el plugin.
Después tendrás que publicar el plugin en NPM. El siguiente paso es habilitar el plugin.
La sintaxis de tu lenguaje se parece (mucho) a la de otro lenguaje; en ese caso, podrías considerar usar el resaltado de sintaxis de ese lenguaje para el tuyo. Para eso, configura el track para que use el identificador de lenguaje de highlightjs del otro lenguaje. Consulta la sección Configurar el track para más información.