Jinja模板语法突出显示

时间:2011-04-21 10:09:03

标签: emacs syntax-highlighting jinja2

我想让jinja.el使用##来处理单行评论。但我对elisp的了解很糟糕。谁能帮我?我想要什么:我想hilite

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

作为注释掉的字符串。但它的工作并不完全正确。第一行的片段看起来像是注释而第二 - 不是。这就是我所拥有的:

enter image description here

这是jinja.el的一部分,取自Jinja的git repo加上##的正则表达式:

(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

1 个答案:

答案 0 :(得分:5)

行。我找到了解决方案变化

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

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

即将'override'参数设置为true可以解决我的问题。