Font Lockモードでは任意のフェイスを使用してハイライトできますが、Emacsではテキストのハイライト用にFont Lockが使用する専用のフェイスがいくつか定義されています。これらのFont Lockフェイスを以下に挙げます。また、これらはメジャーモードによって、Font Lockモード外での構文ハイライトにも利用できます(メジャーモードの規約を参照)。
顔の一覧には、典型的な用法の説明とともに、重要度の高い順に記載されています。モードの統語範疇が用法の説明にうまく適合しない場合は、この順序を指針として顔を割り当てることができます。
font-lock-warning-face ¶特殊な構成(例:‘‘foo’ のような Emacs Lisp シンボル内のエスケープされていない混同しやすい引用符)や、他のテキストの意味を大きく変えてしまう構成(Emacs Lisp の ‘;;;###autoload’ や C の ‘#error’)の場合。
font-lock-function-name-face
¶定義または宣言される関数の名前。
font-lock-function-call-face
¶呼び出される関数名用。このフェイスは、デフォルトでは font-lock-function-name-face を継承します。
font-lock-variable-name-face
¶定義または宣言される変数の名前。
font-lock-variable-use-face ¶参照先の変数名用。このフェイスは、デフォルトでは font-lock-variable-name-face を継承します。
font-lock-keyword-face ¶C言語における‘for’や‘if’のように、特別な構文上の意味を持つキーワードについて。
font-lock-comment-face ¶コメント用。
font-lock-comment-delimiter-face
¶C言語における ‘/*’ や ‘*/’ といったコメント区切り文字用。ほとんどの端末では、これは font-lock-comment-face を継承しています。
font-lock-type-face ¶ユーザー定義データ型の名称用。
font-lock-constant-face ¶C言語の‘NULL’のような定数名。
font-lock-builtin-face ¶組み込み関数の名称について。
font-lock-preprocessor-face ¶プリプロセッサコマンド用。デフォルトでは font-lock-builtin-face
を継承します。
font-lock-string-face ¶文字列定数用。
font-lock-doc-face ¶特別に形式を整えたコメントや文字列内のプログラムコードに埋め込まれたドキュメント用。このフェイスは、デフォルトで font-lock-string-face を継承します。
font-lock-doc-markup-face ¶font-lock-doc-face
を用いてテキスト内のマークアップ要素に使用します。通常、Haddock、Javadoc、Doxygen
などの規約に従い、プログラムコードに埋め込まれたドキュメント内のマークアップ構文に用いられます。このフェイスは、デフォルトで font-lock-constant-face を継承します。
font-lock-negation-char-face
¶見落としやすい否定文字について。
font-lock-escape-face ¶文字列内のエスケープシーケンス用。このフェイスは、デフォルトで font-lock-regexp-grouping-backslash を継承します。
以下に、エスケープシーケンス \n を使用した Python の例を示します。
print('Hello world!\n')
font-lock-number-face ¶数値用。
font-lock-operator-face ¶オペレーター向け。
font-lock-property-name-face
¶構造体のフィールド宣言など、オブジェクトのプロパティ用です。このフェイスはデフォルトで font-lock-variable-name-face を継承します。
font-lock-property-use-face ¶構造体のフィールドの使用など、オブジェクトのプロパティ用。このフェイスはデフォルトで font-lock-property-name-face を継承します。
例えば、
typedef struct
{
int prop;
// ^ property
} obj;
int main()
{
obj o;
o.prop = 3;
// ^ property
}
font-lock-punctuation-face ¶括弧や区切り文字などの句読点用。
font-lock-bracket-face ¶括弧(例:()、[]、{})用。この面はデフォルトでfont-lock-punctuation-faceを継承します。
font-lock-delimiter-face ¶区切り文字(例:;、:、,)用。このフェイスは、デフォルトでfont-lock-punctuation-faceを継承します。
font-lock-misc-punctuation-face
¶括弧や区切り文字以外の句読点用。このフェイスは、デフォルトで font-lock-punctuation-face を継承します。