フォントロックモードがどのように作動するかについて混乱しています。でフォントロックモードを起動するという記述はありませんが、init.el
どうやら常にマイナーモードとして実行されているようです。さらに、次の機能があります。
(defun testregexfunc ()
(interactive)
(make-variable-buffer-local 'font-lock-extra-managed-props)
(add-to-list 'font-lock-extra-managed-props 'invisible)
(font-lock-add-keywords nil
'(("\\(\\[\\)\\([a-zA-Z0-9_]+\\)\\(\\]\\)"
(1 '(face nil invisible t))
(3 '(face nil invisible t))))))
フォントロック固有のものを使用します。しかし、それは一度だけ有効になり、M-x testregexfunc
その後に 2 回続きM-x font-lock-mode
ます。1 回目はフォント ロック モードを無効にし、2 回目はそれを開始します。しかし、現在はメジャー モードとして実行されていません。これは、バッファーが以前にあったモードを引き続き表示するためです。さて、関数がいくつかの値を設定し、モードが再起動したときにのみ有効になると思います。次のようなフォントロックモードへのフックを追加する必要があるかもしれません。
(add-hook
'font-lock-mode
'testregexfunc)
いいえ...何もしません。機能を動作させるためにフォント ロック モードを再起動する必要がないようにするには、どうすればよいですか?
ここからその機能を取得し、いくつか変更しました。私はその定義のほとんどを理解しておらず、フォントロックに関するドキュメントはあまり役に立ちません:
https://emacs.stackexchange.com/questions/28154/using-font-lock-regexp-groups