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.