私はちょうどemacsモードで遊んで始めました。text-mode
さまざまな状況で単純な色の変更を行う派生モード (から) を作成しました。たとえば、すべて等号 ( =
) の行の上のテキストはマゼンタに変わります。これは、次のコードを使用して行われます。
(make-face 'heading-face1)
(set-face-foreground 'heading-face1 "brightmagenta")
(set-face-attribute 'heading-face1 nil :weight 'ultra-bold)
(setq font-lock-heading-face1 'heading-face1)
(font-lock-add-keywords nil '(("\\(.*\n=\\{5,\\}.*\\)"
1 font-lock-heading-face1 prepend)))
そのようなテキストを含むファイルを最初に開くと、適切に色付けされます。しかし、余分な を追加する=
か、新しい行を作成する=============
と、通常のテキストの色に変わります。
他のフォントロックは動的に機能します。たとえば、数字はすぐに別の色を使用します...
ファイルが最初に開かれたときとは異なる方法でパターンが動的に一致する原因は何ですか?