Merge pull request #1244 from flatwhatson/better-apropos

Improvements to apropos and describe-symbol
This commit is contained in:
Henrik Lissner 2019-03-12 11:27:42 -04:00 committed by GitHub
commit bee34f6a28
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 7 deletions

View file

@ -296,6 +296,21 @@ If prefix arg is prsent, refresh the cache."
(insert "\n" indent)) (insert "\n" indent))
(delete-char -1))))))) (delete-char -1)))))))
;;;###autoload
(defun doom/describe-symbol (symbol)
"Show help for SYMBOL, a variable, function or macro."
(interactive
(list (helpful--read-symbol "Symbol: " #'helpful--bound-p)))
(let* ((sym (intern-soft symbol))
(bound (boundp sym))
(fbound (fboundp sym)))
(cond ((and sym bound (not fbound))
(helpful-variable sym))
((and sym fbound (not bound))
(helpful-callable sym))
((apropos (format "^%s\$" symbol)))
((apropos (format "%s" symbol))))))
;;;###autoload ;;;###autoload
(defun doom/what-face (arg &optional pos) (defun doom/what-face (arg &optional pos)
"Shows all faces and overlay faces at point. "Shows all faces and overlay faces at point.

View file

@ -277,7 +277,21 @@ savehist file."
[remap describe-function] #'helpful-callable [remap describe-function] #'helpful-callable
[remap describe-command] #'helpful-command [remap describe-command] #'helpful-command
[remap describe-variable] #'helpful-variable [remap describe-variable] #'helpful-variable
[remap describe-key] #'helpful-key)) [remap describe-key] #'helpful-key
[remap describe-symbol] #'doom/describe-symbol)
(after! apropos
;; patch apropos buttons to call helpful instead of help
(dolist (fun-bt '(apropos-function apropos-macro apropos-command))
(button-type-put
fun-bt 'action
(lambda (button)
(helpful-callable (button-get button 'apropos-symbol)))))
(dolist (var-bt '(apropos-variable apropos-user-option))
(button-type-put
var-bt 'action
(lambda (button)
(helpful-variable (button-get button 'apropos-symbol)))))))
(def-package! ws-butler (def-package! ws-butler

View file

@ -320,6 +320,11 @@
(:after helpful-mode (:after helpful-mode
:map helpful-mode-map :map helpful-mode-map
"o" #'ace-link-help) "o" #'ace-link-help)
(:after apropos
:map apropos-mode-map
"o" #'ace-link-help
"n" #'forward-button
"p" #'backward-button)
(:after info (:after info
:map Info-mode-map :map Info-mode-map
"o" #'ace-link-info) "o" #'ace-link-info)

View file

@ -126,9 +126,8 @@ library/userland functions"
;;;###autoload ;;;###autoload
(defun +emacs-lisp-lookup-documentation (thing) (defun +emacs-lisp-lookup-documentation (thing)
"Lookup THING with `helpful-symbol' if it's a symbol, apropos otherwise." "Lookup THING with `helpful-variable' if it's a variable, `helpful-callable'
(cond ((not thing) if it's callable, `apropos' otherwise."
(call-interactively #'helpful-symbol)) (if thing
((if-let* ((sym (intern-soft thing))) (helpful-symbol sym))) (doom/describe-symbol thing)
((apropos (format "^%s" thing))) (call-interactively #'doom/describe-symbol)))
((apropos thing))))