Next: Font Lockのレベル, Previous: 検索ベースのフォント化のカスタマイズ, Up: Font Lockモード [Contents][Index]
このセクションではfont-lock-defaults
内のother-varsを用いて、メジャーモードがセットできる追加の変数について説明します(Font Lockの基礎を参照)。
この変数が非nil
なら、それはコマンドM-x
font-lock-fontify-blockで再フォント表示するテキスト範囲を選択するために引数なしで呼び出される関数であること。
この関数は結果を報告するために選択されたテキスト範囲にリージョンを配置すること。正しい結果を与えるのに十分、かつ再フォント表示が低速にならない程度のテキスト範囲がよい選択である。典型的な値はプログラミングのモードにたいしてはmark-defun
、テキストを扱うモードにたいしてはmark-paragraph
。
この変数は、(font-lock-face
以外の)Font
Lockにより管理される追加プロパティを指定する。これらの追加プロパティは通常はfont-lock-face
プロパティだけを管理する、font-lock-default-unfontify-region
により使用される。他のプロパティも同様にFont
Lockに管理させたければ、このリストに追加するのと同じようにfont-lock-keywords
内のfacespec内でもこれらを指定しなければならない。検索ベースのフォント化を参照のこと。
そのバッファーをフォント表示するために使用する関数。デフォルト値はfont-lock-default-fontify-buffer
。
そのバッファーを非フォント表示するために使用する関数。デフォルト値はfont-lock-default-unfontify-buffer
。
リージョンをフォント表示するための関数。この関数はリージョンの開始と終了の2つを引数に受け取り、オプションで3つ目の引数verboseを受け取ること。verboseが非nil
なら、その関数はステータスメッセージをプリントすべきである。デフォルト値はfont-lock-default-fontify-region
。
リージョンを非フォント表示するための関数。この関数はリージョンの開始と終了の2つを引数に受け取ること。デフォルト値はfont-lock-default-unfontify-region
。
リージョンのフォント表示の期限切れの宣言に使用する関数。そのリージョンの開始と終了という2つの引数を受け取る。この変数のデフォルト値はfont-lock-after-change-function
。
カレントバッファーのリージョンのフォント表示の保証に使用する関数。そのリージョンの開始と終了という2つの引数を受け取る。この変数のデフォルト値は、バッファーがフォント表示されていないときにfont-lock-default-fontify-buffer
を呼び出す関数。効果はそのバッファーのアクセス可能範囲全体がフォント表示されることの保証。
この関数はカレントバッファーの一部をフォント表示/非表示する必要がある任意のタイミングで、Font
LockモードがLisp関数functionを実行することを宣言する。これはデフォルトのフォント表示関数が呼び出される前に、フォント表示/非表示するリージョンを指定する2つの引数startとendでfunctionを呼び出す。functionがフォント表示を行う場合には、フォント表示したリージョン領域を示すためにフォーム(jit-lock-bounds beg . end)
のリストをリターンできる。後続する再表示サイクルおよび将来functionに渡されるバッファーテキストの最適化に、Just-In-Time(いわゆる“JIT”)なfont-lockがこの情報を使用するだろう。
オプション引数contextualが非nil
なら、行が更新されたときに限らずそのバッファーの構文的に関連する部分を常にフォント表示するようFont
Lockモードに強制する。この引数は通常は省略できる。
バッファーでFont Lockがアクティブのときには、もしfont-lock-keywords-only
(構文的なFont Lockを参照)の値がnil
なら、非nil
値のcontextualでこの関数を呼び出す。
以前にjit-lock-register
を使用してフォント表示関数としてfunctionを登録した場合は、その関数を未登録にする。
これはJIT
font-lockが実行するコードのデバッグを支援するためのマイナーモード。このモードが有効だと、(Lispエラーが抑制される)再表示サイクル中にJIT
font-lockが実行する通常のコードのほとんどがタイマーによって実行される。したがってこのモードではfont-lockやJIT
font-lockが実行するその他のコード内の問題を見つけて訂正するために、debug-on-error
(エラーによるデバッガへのエンターを参照)やEdebug (Edebugを参照)のようなデバッグ支援機能を使用することができる。