フォントロック(font-lock)モードがテキストを強調表示する方法を
制御する変数がいくつかあります。
しかし、メジャーモードでこれらの変数を直接に設定するべきではありません。
そのかわりに、バッファローカルな
変数font-lock-defaults
に設定すべきです。
フォントロック(font-lock)モードがオンになると、
この変数に設定された値を使って他のすべての変数に設定します。
この変数はメジャーモードがバッファローカルな変数として設定し、 当該モードにおいてテキストをどのように表示するかを指定する。 値はつぎの形であること。
(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-alistが
nil
以外である場合、 それは(
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)
という形である。 この種の要素は、表示方法の選択に影響する その他の変数に設定するために使われる。