2017-08-12 75 views
-4

我正在基于现有R语言模式的ACE编辑器模式下工作。有一组表达式,我正在应用特殊的语法突出显示,但我不想在表达式显示为参数名称引用时检测它们。任何建议,不胜感激...ACE编辑器:不参考命名参数的表达式

作为一个例子,说我试图匹配的表达式是“my_var”。

我确实想与之相匹配的下列情况:

3 * (my_var + 2)

some_fun(my_var)

some_other_fun(a=my_var)

我不想要什么匹配是当 “my_var” 是一个参数名

some_fun(my_var=1)

回答

1

如果我理解正确,您想要编辑突出显示模式以包含特殊标记,但要禁用突出显示参数名称。作为一个例子,

circle(cxy=c(10,20), r= 30, filter=filter(...), ...) 

应突出仅滤波器的第二发生。

如果是这样,那么假设用户为R程序员谁使用< - 用于分配而不是=,修复很简单:插入this.rules您xxx_highlight_rules.js的部分文件。

{ 
     token: ["identifier", "keyword.operator"], 
     regex : "([a-zA-Z.][a-zA-Z0-9._]*\\b)(=)" 
}, 

上述onMatch:函数(值)识别特殊标签。

举个例子看看://github.com/mslegrand/ptRAceBldr/blob/master/TrestleTech/ace/lib/ace/mode/ptr_highlight_rules.js

+0

的事实,在这种情况下使用,有可能会不进行分配变得更为有趣的一个有趣的解决方案。谢谢,我会进一步思考你的建议...... – jrdnmdhl