Font lock \\<> and \\{} command substitutions in docstrings

* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
Support \\<> and \\{} command substitutions.
This commit is contained in:
Stefan Kangas 2022-07-03 20:59:00 +02:00
parent 8bb770234d
commit b000bd47a6

View file

@ -476,9 +476,13 @@ This will generate compile-time constants from BINDINGS."
"[ \t']*\\(" lisp-mode-symbol-regexp "\\)?")
(1 font-lock-keyword-face)
(2 font-lock-constant-face nil t))
;; Words inside \\[] or \\`' tend to be for `substitute-command-keys'.
;; Words inside \\[], \\<>, \\{} or \\`' tend to be for
;; `substitute-command-keys'.
(,(rx "\\\\[" (group (regexp lisp-mode-symbol-regexp)) "]")
(1 font-lock-constant-face prepend))
(,(rx "\\\\" (or (seq "<" (group-n 1 (regexp lisp-mode-symbol-regexp)) ">")
(seq "{" (group-n 1 (regexp lisp-mode-symbol-regexp)) "}")))
(1 font-lock-variable-name-face prepend))
(,(rx "\\\\`" (group
(+ (regexp lisp-mode-symbol-regexp)
;; allow multiple words, e.g. "C-x a"