Next: Multiline Font Lock, Previous: Faces for Font Lock, Up: Font Lock Mode [Contents][Index]
構文的フォント表示(syntactic
fontification)は、構文的に関連性のあるテキストを探してハイライトするために、構文テーブル(syntax table:
Syntax Tablesを参照)を使用します。有効な場合は、検索ベースフォント表示に先立ち実行されます。以下で説明する変数font-lock-syntactic-face-function
,は、どの構文的構造をハイライトするかを決定します。構文的フォント表示に影響を与える変数が、いくつかあります。font-lock-defaults
のために、それらをセットするべきです(Font Lock Basicsを参照)。
Font
Lockモードが一連のテキストにたいして構文的フォント表示を処理するときは、常にsyntax-propertize-function
で指定される関数を最初に呼び出します。メジャーモードは、特別なケースではsyntax-table
テキストプロパティを適用してバッファーの構文テーブルをオーバーライドするために、これを使用することができます。Syntax Propertiesを参照してください。
この変数の値が非nil
の場合、Font
Lockは構文的フォント表示を行わず、font-lock-keywords
にもとづく検索ベースフォント表示だけを行う。これは通常、font-lock-defaults
内のkeywords-only要素にもとづき、Font
Lockモードによりセットされる。
この変数は、コメントと文字列のフォント表示に使用するための構文テーブルを保持する。これは通常、font-lock-defaults
内のsyntax-alist要素にもとづき、Font
Lockモードによりセットされる。この値がnil
の場合、構文的フォント表示は、バッファーの構文テーブル(関数syntax-table
がリターンする構文テーブル。see Syntax Table Functionsを参照)を使用する。
この変数が非nil
の場合、それは構文的に“トップレベル”で、かつ文字列やコメントの外部であるような位置に戻すようにポイントを移動する関数であること。この値は通常、font-lock-defaults
内のother-vars要素を通じてセットされる。これがnil
の場合、Font
Lockはコメント、文字列、sexpの外部に戻って移動するためにsyntax-begin-function
を使用する(Position Parseを参照)。
この変数は、半ば時代遅れであり、通常はかわりにsyntax-begin-function
をセットすることを推奨する。これの用途の1つは、たとえば異なる種類の文字列やコメントを異なるようにハイライトする等、構文的フォント表示の振る舞いの調整する場合である。
指定された関数は、引数なしで呼び出される。この関数は、周囲の構文的ブロックの先頭にポイントを残すべきである。典型的な値はbeginning-of-line
(行頭が構文的ブロック外部であることが既知の場合に使用)、プログラミングのモードにたいしてはbeginning-of-defun
、テキストを扱うモードにたいしてはbackward-paragraph
が使用される。
この変数が非nil
の場合、それは与えられた構文的要素にどのフェイスを使用するかを決定する関数であること。この値は通常、font-lock-defaults
内のother-vars要素を通じてセットされる。
この関数は1つの引数で呼び出され、parse-partial-sexp
がリターンするポイントの状態をパースして、フェイスをリターンすべきである。コメントにたいしてはfont-lock-comment-face
、文字列にたいしてはfont-lock-string-face
が、リターンされるデフォルト値である(Faces for Font Lockを参照)。