Variable: message-font-lock-keywords

message-font-lock-keywords is a variable defined in message.el.gz.

Value

Large value
((message-match-to-eoh
  ("^\\([Tt]o:\\)[      ]*\\(.+\\(\n[   ].*\\)*\\)\n?"
   (progn (goto-char (match-beginning 0)) (match-end 0)) nil
   (1 'message-header-name) (2 'message-header-to nil t))
  ("^\\(^[GBF]?[Cc][Cc]:\\|^[Rr]eply-[Tt]o:\\)[         ]*\\(.+\\(\n[   ].*\\)*\\)\n?"
   (progn (goto-char (match-beginning 0)) (match-end 0)) nil
   (1 'message-header-name) (2 'message-header-cc nil t))
  ("^\\([Ss]ubject:\\)[         ]*\\(.+\\(\n[   ].*\\)*\\)\n?"
   (progn (goto-char (match-beginning 0)) (match-end 0)) nil
   (1 'message-header-name) (2 'message-header-subject nil t))
  ("^\\([Nn]ewsgroups:\\|Followup-[Tt]o:\\)[    ]*\\(.+\\(\n[   ].*\\)*\\)\n?"
   (progn (goto-char (match-beginning 0)) (match-end 0)) nil
   (1 'message-header-name) (2 'message-header-newsgroups nil t))
  ("^\\(X-[A-Za-z0-9-]+:\\|In-Reply-To:\\)[     ]*\\(.+\\(\n[   ].*\\)*\\)\n?"
   (progn (goto-char (match-beginning 0)) (match-end 0)) nil
   (1 'message-header-name) (2 'message-header-xheader))
  ("^\\([A-Z][^: \n	]+:\\)[         ]*\\(.+\\(\n[   ].*\\)*\\)\n?"
   (progn (goto-char (match-beginning 0)) (match-end 0)) nil
   (1 'message-header-name) (2 'message-header-other nil t)))
 (#[257 "\205�\301\232?\205�\302\303\304!\305Q\306#\207"
	[mail-header-separator "" re-search-forward "^" regexp-quote
			       "$" t]
	5
	("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/gnus/message.elc"
	 . 63461)]
  0 'message-separator)
 ("<#/?\\(?:multipart\\|part\\|external\\|mml\\|secure\\)[^>]*>" 0
  'message-mml)
 (#[257
    "\304\305\306\n\307Q\310#\203(�\311 \312\313\"\216\301S\314\315\316!!S\300\"U)\262\211\262\203�\207"
    [4 4 message-cite-prefix-regexp message-cite-level-function nil
       re-search-forward "^\\(" "\\).*" t match-data make-closure
       #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] mod
       match-string 1]
    8
    ("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/gnus/message.elc"
     . 63461)]
  (0 'message-cited-text-4))
 (#[257
    "\304\305\306\n\307Q\310#\203(�\311 \312\313\"\216\301S\314\315\316!!S\300\"U)\262\211\262\203�\207"
    [4 3 message-cite-prefix-regexp message-cite-level-function nil
       re-search-forward "^\\(" "\\).*" t match-data make-closure
       #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] mod
       match-string 1]
    8
    ("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/gnus/message.elc"
     . 63461)]
  (0 'message-cited-text-3))
 (#[257
    "\304\305\306\n\307Q\310#\203(�\311 \312\313\"\216\301S\314\315\316!!S\300\"U)\262\211\262\203�\207"
    [4 2 message-cite-prefix-regexp message-cite-level-function nil
       re-search-forward "^\\(" "\\).*" t match-data make-closure
       #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] mod
       match-string 1]
    8
    ("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/gnus/message.elc"
     . 63461)]
  (0 'message-cited-text-2))
 (#[257
    "\304\305\306\n\307Q\310#\203(�\311 \312\313\"\216\301S\314\315\316!!S\300\"U)\262\211\262\203�\207"
    [4 1 message-cite-prefix-regexp message-cite-level-function nil
       re-search-forward "^\\(" "\\).*" t match-data make-closure
       #[0 "\301\300\302\"\207" [V0 set-match-data t] 3] mod
       match-string 1]
    8
    ("/nix/store/y8rifw71hjgsl2qjn1l0vrwq2c3593aw-emacs-30-2/share/emacs/30.2/lisp/gnus/message.elc"
     . 63461)]
  (0 'message-cited-text-1))
 (message--match-signature
  (0
   '(face message-signature-separator rear-nonsticky t field signature))))

Documentation

Additional expressions to highlight in Message mode.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/message.el.gz
(defvar message-font-lock-keywords
  (nconc
   (let ((content "[ \t]*\\(.+\\(\n[ \t].*\\)*\\)\n?"))
     `((message-match-to-eoh
	(,(concat "^\\([Tt]o:\\)" content)
	 (progn (goto-char (match-beginning 0)) (match-end 0)) nil
	 (1 'message-header-name)
	 (2 'message-header-to nil t))
	(,(concat "^\\(^[GBF]?[Cc][Cc]:\\|^[Rr]eply-[Tt]o:\\)" content)
	 (progn (goto-char (match-beginning 0)) (match-end 0)) nil
	 (1 'message-header-name)
	 (2 'message-header-cc nil t))
	(,(concat "^\\([Ss]ubject:\\)" content)
	 (progn (goto-char (match-beginning 0)) (match-end 0)) nil
	 (1 'message-header-name)
	 (2 'message-header-subject nil t))
	(,(concat "^\\([Nn]ewsgroups:\\|Followup-[Tt]o:\\)" content)
	 (progn (goto-char (match-beginning 0)) (match-end 0)) nil
	 (1 'message-header-name)
	 (2 'message-header-newsgroups nil t))
	(,(concat "^\\(X-[A-Za-z0-9-]+:\\|In-Reply-To:\\)" content)
	 (progn (goto-char (match-beginning 0)) (match-end 0)) nil
	 (1 'message-header-name)
	 (2 'message-header-xheader))
	(,(concat "^\\([A-Z][^: \n\t]+:\\)" content)
	 (progn (goto-char (match-beginning 0)) (match-end 0)) nil
         (1 'message-header-name)
         (2 'message-header-other nil t)))
       (,(lambda (limit)
           (and mail-header-separator
		(not (equal mail-header-separator ""))
		(re-search-forward
                 (concat "^" (regexp-quote mail-header-separator) "$")
                 limit t)))
	0 'message-separator)
       ("<#/?\\(?:multipart\\|part\\|external\\|mml\\|secure\\)[^>]*>"
	0 'message-mml)))
   ;; Additional font locks to highlight different levels of cited text
   (let ((maxlevel 1)
         (level 1)
         cited-text-face
         keywords)
     ;; Compute the max level.
     (while (setq cited-text-face
                  (intern-soft (format "message-cited-text-%d" maxlevel)))
       (setq maxlevel (1+ maxlevel)))
     (setq maxlevel (1- maxlevel))
     ;; Generate the keywords.
     (while (setq cited-text-face
                  (intern-soft (format "message-cited-text-%d" level)))
       (setq keywords
             (cons
              `(,(message-font-lock-make-cited-text-matcher level maxlevel)
                (0 ',cited-text-face))
              keywords))
       (setq level (1+ level)))
     keywords)
   ;; Match signature.  This `field' stuff ensures that hitting `RET'
   ;; after the signature separator doesn't remove the trailing space.
   (list
    '(message--match-signature (0 '( face message-signature-separator
                                     rear-nonsticky t
                                     field signature)))))
  "Additional expressions to highlight in Message mode.")