ACE编辑器自定义突出显示规则

时间:2014-05-30 15:53:26

标签: javascript ace-editor

我似乎无法找到如何为ACE代码编辑器创建自定义语法突出显示规则。

我的编辑器配置为PHP模式如下(并且工作正常);

    var phpeditor = ace.edit("php_inc");
    phpeditor.setTheme("ace/theme/dreamweaver");
    phpeditor.getSession().setMode("ace/mode/php");
    phpeditor.setOptions({
        enableBasicAutocompletion: true,
        enableSnippets: true,
        enableLiveAutocompletion: false,
    });

我希望编辑器做的是将%%变量%%的所有实例(百分号之间的任何文本)用自定义规则突出显示并视为变量。

例如;

<?php echo %%my_variable_name%%; ?>

有没有办法扩展编辑器以允许此功能?

1 个答案:

答案 0 :(得分:2)

最简单的方法是修改php_highlight_rules文件并添加https://github.com/ajaxorg/ace/blob/master/lib/ace/mode/php_highlight_rules.js#L900 规则

{
    token: "variable",
    regex: "%%\\w+%%"
}
反而动作这样做有点困难,因为ace并没有提供方便的方式来挂钩模式创建,如果你需要这样做,也许你应该在github上的ace网站上打开一个问题。