Pregunta

Estoy usando Ace para mostrar código JavaScript y lo estoy cargando según la guía de inserción:

editor = ace.edit("jsField");
editor.getSession().setMode("ace/mode/javascript");
editor.getSession().setUseWrapMode(true);

El div y su contenido son los siguientes:

<div id="jsField">
    <span class="hl">var x = 0;</span>
    var y = 10;
</div>

Actualmente, el editor Ace mostrará HTML y JavaScript juntos como texto sin formato.¿Existe una forma sencilla de representar el HTML de modo que solo se muestre el texto de JavaScript y el intervalo tenga el estilo de CSS?Por ejemplo:

enter image description here

Debo tener en cuenta que el intervalo generalmente se agrega dinámicamente llamando editor.setValue().

He estado investigando la posibilidad de crear modos personalizados/resaltadores de sintaxis para Ace, pero parece excesivo para una tarea tan simple.Tengo curiosidad por saber si hay otra manera.

¿Fue útil?

Solución

No hay soporte integrado para esto.Puedes hacer algo similar a https://github.com/ajaxorg/ace/blob/v1.1.5/lib/ace/ext/static_highlight.js#L53 para detectar rangos y agregar marcadores al editor.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top