list-buffers や occur
といった主要なモードの中には、バッファ内のテキストをプログラム的に構築するものがあります。これらのモードが Font Lock
モードに対応する最も簡単な方法は、バッファにテキストを挿入する際に、そのテキストのフェイスを指定することです。
これを実現するには、テキスト内の面を特殊なテキストプロパティ font-lock-face
で指定します(特殊な意味を持つプロパティを参照)。Font Lock
モードが有効な場合、このプロパティは face プロパティと同様に表示を制御します。Font
Lock モードが無効な場合、font-lock-face は表示に影響を与えません。
モードによっては、一部のテキストに font-lock-face を使用しつつ、通常の Font
Lock 機構も併用しても問題ありません。ただし、通常の Font Lock 機構を使用しないのであれば、変数 font-lock-defaults を設定すべきではありません。この場合、face プロパティは上書きされないため、face
プロパティを使用することも有効です。とはいえ、一般的には font-lock-face
を使用する方が好ましいでしょう。これにより、ユーザーは font-lock-mode
の切り替えによってフォント化を制御でき、またモードが Font Lock 機構を使用しているかどうかにかかわらずコードが動作するようになるためです。