次: , 前: Font Lock Mode, 上: Font Lock Mode


22.5.1 フォントロック(font-lock)の基本

フォントロック(font-lock)モードがテキストを強調表示する方法を 制御する変数がいくつかあります。 しかし、メジャーモードでこれらの変数を直接に設定するべきではありません。 そのかわりに、バッファローカルな 変数font-lock-defaultsに設定すべきです。 フォントロック(font-lock)モードがオンになると、 この変数に設定された値を使って他のすべての変数に設定します。

— 変数: font-lock-defaults

この変数はメジャーモードがバッファローカルな変数として設定し、 当該モードにおいてテキストをどのように表示するかを指定する。 値はつぎの形であること。

          (keywords keywords-only case-fold
           syntax-alist syntax-begin other-vars...)
     

最初の要素keywordsは、 間接的にfont-lock-keywordsの値を指定する。 要素keywordsがシンボルであると、 その変数としての値がfont-lock-keywordsに使われる。 あるいは、要素keywordsがそのようなシンボルのリストであると、 各シンボルが1つのレベルの表示方法を指定する。 最初のシンボルはレベル1の表示方法、 2番目のシンボルはレベル2の表示方法といった具合である。

2番目の要素keywords-onlyは、 変数font-lock-keywords-onlyの値を指定する。 これがnil以外であると(文字列やコメントの)構文による処理を行わない。

3番目の要素case-foldは、 font-lock-case-fold-searchの値を指定する。 これがnil以外であると、フォントロック(font-lock)モードは font-lock-keywordsで指定された探索で 大文字小文字を区別しない。

4番目の要素syntax-alistnil以外である場合、 それは(char-or-string . string)の形の コンスセルのリストであること。 これらは表示方法を選ぶための構文テーブルの設定に使われる (see Syntax Table Functions)。 得られた構文テーブルはfont-lock-syntax-tableに保持される。

5番目の要素syntax-beginは、 font-lock-beginning-of-syntax-functionの値を指定する (下記参照)。

other-vars以降の要素は、 (variable . value)という形である。 この種の要素は、表示方法の選択に影響する その他の変数に設定するために使われる。