mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-10 14:10:51 +00:00
Document support for ':documentation' in Lisp mode
* lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p) (lisp-string-after-doc-keyword-p) (lisp-font-lock-syntactic-face-function): Add doc strings.
This commit is contained in:
parent
c930e75bfa
commit
86312ffd93
2 changed files with 14 additions and 0 deletions
5
etc/NEWS
5
etc/NEWS
|
@ -638,7 +638,12 @@ respectively, `show-paren-when-point-inside-paren' or
|
|||
`show-paren-when-point-in-periphery'.
|
||||
|
||||
** Lisp mode
|
||||
|
||||
---
|
||||
*** Strings after `:documentation' are highlighted as docstrings.
|
||||
This enhances Lisp mode fontification to handle documentation of the
|
||||
form `(:documentation "the doc string")' used in Common Lisp code for
|
||||
CLOS class and slot documentation.
|
||||
|
||||
** Rectangle editing
|
||||
|
||||
|
|
|
@ -488,6 +488,9 @@ This will generate compile-time constants from BINDINGS."
|
|||
"Default expressions to highlight in Lisp modes.")
|
||||
|
||||
(defun lisp-string-in-doc-position-p (listbeg startpos)
|
||||
"Return true if a doc string may occur at STARTPOS inside a list.
|
||||
LISTBEG is the position of the start of the innermost list
|
||||
containing STARTPOS."
|
||||
(let* ((firstsym (and listbeg
|
||||
(save-excursion
|
||||
(goto-char listbeg)
|
||||
|
@ -518,6 +521,9 @@ This will generate compile-time constants from BINDINGS."
|
|||
(= (point) startpos))))))
|
||||
|
||||
(defun lisp-string-after-doc-keyword-p (listbeg startpos)
|
||||
"Return true if `:documentation' symbol ends at STARTPOS inside a list.
|
||||
LISTBEG is the position of the start of the innermost list
|
||||
containing STARTPOS."
|
||||
(and listbeg ; We are inside a Lisp form.
|
||||
(save-excursion
|
||||
(goto-char startpos)
|
||||
|
@ -526,6 +532,9 @@ This will generate compile-time constants from BINDINGS."
|
|||
(looking-at ":documentation\\_>"))))))
|
||||
|
||||
(defun lisp-font-lock-syntactic-face-function (state)
|
||||
"Return syntactic face function for the position represented by STATE.
|
||||
STATE is a `parse-partial-sexp' state, and the returned function is the
|
||||
Lisp font lock syntactic face function."
|
||||
(if (nth 3 state)
|
||||
;; This might be a (doc)string or a |...| symbol.
|
||||
(let ((startpos (nth 8 state)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue