2

を使用して1行のコメントを処理するようにjinja.elを調整したいと思い##ます。しかし、私のelispの知識は悪いです。誰が私を助けられるか?何が欲しいのか:ハイライトしたい

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

コメントアウトされた文字列として。しかし、それは完全には正しく機能しません。スニペットの1行目はコメントアウトのように見えますが、2行目はコメントアウトではありません。これが私が持っているものです:

ここに画像の説明を入力してください

そして、これがJinjaのgitレポジトリから取得した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
4

1 に答える 1

5

わかった。私は解決策を見つけました。変化する

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

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

つまり、「override」パラメータをtrueに設定すると、問題が解決します。

于 2011-04-21T12:28:11.277 に答える