フォントロックモードの使用方法が混乱しています。にフォントロックモードを起動する声明はありませんが、それは常にマイナーモードとして実行されるようです。さらに、私は以下の機能を持っています:フォントロック機能を使用する関数は、フォントロックモードを再起動する必要があります
(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
に続いてM-x font-lock-mode
を2回実行すると有効になります。初めてフォントロックモードを無効にします。しかし、バッファは以前のバッファのモードを表示するので、現在はメジャーモードでは動作していません。さて、私は関数がいくつかの値を設定し、モードが再起動すると有効になると思います。フォントロックモードにフックを追加する必要があるかもしれません。
(add-hook
'font-lock-mode
'testregexfunc)
いいえ...何もしません。関数が機能するためにフォントロックモードを再起動する必要がないためには、何をする必要がありますか?
ここからその機能を取得して一部変更しました。私は本当に多くの私を助けていない、その定義やフォントロックのドキュメントのほとんどを理解していない:
https://emacs.stackexchange.com/questions/28154/using-font-lock-regexp-groups
フォントロックモードのフックではなく、メジャーモードのフックにフォントロック機能を追加することはどうですか? – lawlist
私もそれを試みました、私はまだフォントロックモードを再起動する必要があります。私は '(add-hook 'haskell-mode' testregexfunc)'を試みましたが、同じことです。 –