【问题标题】:ACE Editor: expressions that aren't references to named argumentsACE 编辑器:不引用命名参数的表达式
【发布时间】:2017-08-12 20:27:12
【问题描述】:

我正在开发基于现有 R 语言模式的 ACE 编辑器模式。我正在为一组表达式应用特殊的语法突出显示,但是当该表达式显示为参数名称引用时,我不想检测它们。任何建议都非常感谢...

例如,假设我要匹配的表达式是“my_var”。

我确实想在以下情况下匹配它:

3 * (my_var + 2)

some_fun(my_var)

some_other_fun(a=my_var)

我不想匹配“my_var”是参数名称时

some_fun(my_var=1)

【问题讨论】:

    标签: javascript r regex ace-editor


    【解决方案1】:

    如果我理解正确,您希望编辑突出显示模式以包含特殊标签,但要禁用参数名称的突出显示。例如,

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

    应该只突出显示 filter 的第二次出现。

    如果是这样,那么假设用户是一个 R 程序员使用 ,修复很简单:插入 this.rules 部分您的 xxx_highlight_rules.js 文件。

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

    onMatch : function(value) 之上,用于标识特殊标签。

    示例见://github.com/mslegrand/ptRAceBldr/blob/master/TrestleTech/ace/lib/ace/mode/ptr_highlight_rules.js

    【讨论】:

    • 一个有趣的解决方案变得更加有趣,因为在这个用例中,可能不会执行任何分配。谢谢,我会进一步考虑您的建议...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    相关资源
    最近更新 更多