Improve the shortdoc link action in *Help* buffers
* lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow taking an optional parameter to place point on a specific function. (shortdoc--display-function): Go to the function in question in the shortdoc buffer.
This commit is contained in:
parent
ceecac4c79
commit
22a5482ab6
2 changed files with 9 additions and 6 deletions
|
@ -1141,8 +1141,9 @@ There can be any number of :example/:result elements."
|
||||||
:eval (sqrt -1)))
|
:eval (sqrt -1)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun shortdoc-display-group (group)
|
(defun shortdoc-display-group (group &optional function)
|
||||||
"Pop to a buffer with short documentation summary for functions in GROUP."
|
"Pop to a buffer with short documentation summary for functions in GROUP.
|
||||||
|
If FUNCTION is non-nil, place point on the entry for FUNCTION (if any)."
|
||||||
(interactive (list (completing-read "Show summary for functions in: "
|
(interactive (list (completing-read "Show summary for functions in: "
|
||||||
(mapcar #'car shortdoc--groups))))
|
(mapcar #'car shortdoc--groups))))
|
||||||
(when (stringp group)
|
(when (stringp group)
|
||||||
|
@ -1173,15 +1174,17 @@ There can be any number of :example/:result elements."
|
||||||
(setq prev t)
|
(setq prev t)
|
||||||
(shortdoc--display-function data))))
|
(shortdoc--display-function data))))
|
||||||
(cdr (assq group shortdoc--groups))))
|
(cdr (assq group shortdoc--groups))))
|
||||||
(goto-char (point-min)))
|
(goto-char (point-min))
|
||||||
|
(when function
|
||||||
|
(text-property-search-forward 'shortdoc-function function t)
|
||||||
|
(beginning-of-line)))
|
||||||
|
|
||||||
(defun shortdoc--display-function (data)
|
(defun shortdoc--display-function (data)
|
||||||
(let ((function (pop data))
|
(let ((function (pop data))
|
||||||
(start-section (point))
|
(start-section (point))
|
||||||
arglist-start)
|
arglist-start)
|
||||||
;; Function calling convention.
|
;; Function calling convention.
|
||||||
(insert (propertize "("
|
(insert (propertize "(" 'shortdoc-function function))
|
||||||
'shortdoc-function t))
|
|
||||||
(if (plist-get data :no-manual)
|
(if (plist-get data :no-manual)
|
||||||
(insert-text-button
|
(insert-text-button
|
||||||
(symbol-name function)
|
(symbol-name function)
|
||||||
|
|
|
@ -752,7 +752,7 @@ FILE is the file where FUNCTION was probably defined."
|
||||||
(insert-text-button
|
(insert-text-button
|
||||||
(symbol-name group)
|
(symbol-name group)
|
||||||
'action (lambda (_)
|
'action (lambda (_)
|
||||||
(shortdoc-display-group group))
|
(shortdoc-display-group group object))
|
||||||
'follow-link t
|
'follow-link t
|
||||||
'help-echo (purecopy "mouse-1, RET: show documentation group")))
|
'help-echo (purecopy "mouse-1, RET: show documentation group")))
|
||||||
groups)
|
groups)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue