2017-01-06 6 views
0

Это пример использования ext-static-highlight.js редактора ACE. Как установить параметр inline в true, поэтому я могу избежать использования тегов PHP при подсветке кода?ACE static highlight без использования PHP-тегов

<script> 
var highlight = ace.require("ace/ext/static_highlight") 
var dom = ace.require("ace/lib/dom") 
function qsa(sel) { 
    return Array.apply(null, document.querySelectorAll(sel)); 
} 

qsa(".code").forEach(function (codeEl) { 
    highlight(codeEl, { 
     mode: codeEl.getAttribute("ace-mode"), 
     theme: codeEl.getAttribute("ace-theme"), 
     startLineNumber: 1, 
     showGutter: codeEl.getAttribute("ace-gutter"), 
     trim: true 
    }, function (highlighted) { 

    }); 
}); 
</script> 

ответ

1

Вам нужно передать объект функции выделения в режиме {path: "ace/mode/php", inline: true}. поэтому используйте что-то вроде этого:

<script> 
var highlight = ace.require("ace/ext/static_highlight") 
var dom = ace.require("ace/lib/dom") 
function qsa(sel) { 
    return Array.apply(null, document.querySelectorAll(sel)); 
} 

qsa(".code").forEach(function (codeEl) { 
    var mode = codeEl.getAttribute("ace-mode"); 
    if (mode == "php-inline") 
     mode = {path: "ace/mode/php", inline: true} 
    highlight(codeEl, { 
     mode: mode, 
     theme: codeEl.getAttribute("ace-theme"), 
     startLineNumber: 1, 
     showGutter: codeEl.getAttribute("ace-gutter"), 
     trim: true 
    }, function (highlighted) { 

    }); 
}); 
</script> 
+0

Большое спасибо, это сработало! :) – Walter

 Смежные вопросы

  • Нет связанных вопросов^_^