2012-06-18 48 views
3

我使用emacs編寫ejs文件。我已經設置了Emacs:添加自定義代碼塊分隔符?

(show-paren-mode t) 

在我的.emacs中突出顯示括號。 ejs代碼如下所示:

<ul> 
    <% for(var i=0; i<supplies.length; i++) {%> 
     <li><%= supplies[i] %></li> 
    <% } %> 
</ul> 

似乎這種模式在使用html模式編輯ejs時不起作用。例如,'<%'中的左'<'與右側的'}'匹配,而不匹配'%>'。

所以我的問題是我可以添加'<%'作爲代碼塊分隔符以使show-paren-mode在ejs文件中正常工作嗎?

任何幫助表示讚賞。

+0

ewwww。 ERB的所有醜陋。現在在客戶端! ;) –

回答

2

你真的完全想過這個支架突出顯示是如何工作的嗎?

在 「<%」和「%>」之間有一個裸起始分隔符「{」起始分隔符。

這相當於:

({) 

是否show-paren-mode亮點這種正確的代碼?

在Emacs中編輯混合主模式文件(HTMl中的JS)(Ruby中的HTML)很難。

您可以使用此片段刪除「<」和「>」作爲匹配的分隔符,其中 可以緩解您的問題。

(eval-after-load "sgml-mode" '(progn 
           (modify-syntax-entry ?< "'" sgml-mode-syntax-table) 
           (modify-syntax-entry ?> "'" sgml-mode-syntax-table))) 

但你需要一個多主要模式庫要真正得到它的工作,但我懷疑任何人 把在工作,使「EJS」工作。

+0

我也試過mmm模式了,一切都很好,除了支架突出顯示。 show-paren-mode在此不起作用。 – Boris