NilColor
NilColor

Reputation: 3532

Jinja templates syntax hilighting

I'd like to adapt jinja.el to work with one-line comments using ##. But my knowlege of elisp is bad. Who can help me? What do I want: i'd like to hilite

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

as a commented out strings. But it works not fully correct. 1st line of snippet looks like comment out while 2nd - not. Here is what i've got:

enter image description here

And here is a part of jinja.el taken from Jinja's git repo plus my regexp for ##:

(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

Upvotes: 2

Views: 1913

Answers (1)

NilColor
NilColor

Reputation: 3532

OK. I found solution. Change

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

to

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

ie setting 'override' parameter to true solves me question.

Upvotes: 5

Related Questions