2014-01-23 83 views

回答

1

Ace連接組中規則中的所有正則表達式。 所以,如果你有一個像

[{token: .., regex: "regex1"}, {token: .., regex: /regex2/}, {defaultToken: ..}]

得到的正則表達式將會/(regex1)(regex2)($)/一組(見here) 在文件的每一行重複匹配所產生的正則表達式,併爲每個匹配令牌相應的規則類型被建造。對於不匹配的文本,使用defaultToken。

由於正則表達式在規則中逐行匹配/\n/不匹配任何內容。

至於你的第一個問題,我認爲{token : "comment", regex : "^\\s*\\w+"}應該工作。

0

這是我的解決方案,我必須在之前parameter,它的工作原理。

this.$rules = { 
    start: [{ 
     token: 'support.function', 
     regex: /[^\(\)\"\s]+/, 
     next: 'line' 
    }], 
    line: [{ 
     token: 'markup.raw', 
     regex: /^\s*/, 
     next: 'start', 
    }, { 
     token: 'variable.parameter', 
     regex: /[^\(\)\"\s]+/ 
    }, { 
     token: 'markup.raw', 
     regex: /^\ */, 
     next: 'start', 
    }] 
} 

全部代碼在這裏: https://github.com/Cirru/ace/blob/master/lib/ace/mode/cirru_highlight_rules.js

+0

這是偉大的,三江源。假設,這是正確的答案。 – ainu

相關問題