Skip to main content

23.6 Font Lock Mode

Font Lock mode is a buffer-local minor mode that automatically attaches face properties to certain parts of the buffer based on their syntactic role. How it parses the buffer depends on the major mode; most major modes define syntactic criteria for which faces to use in which contexts. This section explains how to customize Font Lock for a particular major mode.

Font Lock mode finds text to highlight in two ways: through syntactic parsing based on the syntax table, and through searching (usually for regular expressions). Syntactic fontification happens first; it finds comments and string constants and highlights them. Search-based fontification happens second.

Font Lock Basics  Overview of customizing Font Lock.
Search-based Fontification  Fontification based on regexps.
Customizing Keywords  Customizing search-based fontification.
Other Font Lock Variables  Additional customization facilities.
Levels of Font Lock  Each mode can define alternative levels so that the user can select more or less.
Precalculated Fontification  How Lisp programs that produce the buffer contents can also specify how to fontify it.
Faces for Font Lock  Special faces specifically for Font Lock.
Syntactic Font Lock  Fontification based on syntax tables.
Multiline Font Lock  How to coerce Font Lock into properly highlighting multiline constructs.