2011-04-21 156 views
2

我想修改jinja.el使用##來處理單行註釋。但是我對elisp的瞭解很糟糕。誰能幫我?我想要什麼:我想要hiliteJinja模板語法高亮

## some text 
## {% include "_template.html" %} 

作爲一個註釋掉的字符串。但它並不完全正確。第一行代碼看起來像是註釋掉,而第二行則不是。這裏是我已經有了:

enter image description here

這裏是神社的混帳回購加我的正則表達式採取## jinja.el的一部分:

(defconst jinja-font-lock-keywords 
    (list 
; (cons (rx "{% comment %}" (submatch (0+ anything)) 
;    "{% endcomment %}") (list 1 font-lock-comment-face)) 
    '("{%-?\\|-?%}\\|{{\\|}}" . font-lock-preprocessor-face) 
    '("{# ?\\(.*?\\) ?#}" . (1 font-lock-comment-face)) 
    '("## ?\\(.*\\)" . (1 font-lock-comment-face)) 
    '("{#\\|#}" . font-lock-comment-delimiter-face) 
    '("##" . font-lock-comment-delimiter-face) 
    ;; first word in a block is a command 

回答

5

確定。我找到解決方案。更改

'("## ?\\(.*\\)" . (1 font-lock-comment-face)) 

'("## ?\\(.*\\)" . (1 font-lock-comment-face t)) 

即設置 '覆蓋' 參數設置爲true解決問題的我。