2011-04-21 132 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解决问题的我。