2017-08-12 73 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