From c7aa41599d8f5ff1828d59535dc14433e2d2cfeb Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 4 Mar 2019 19:51:55 -0500 Subject: [PATCH] Add new emacs-lisp :documentation lookup handler Made to do-what-I-mean. Uses describe-symbol/helpful-symbol and falls back to apropos. --- modules/lang/emacs-lisp/autoload.el | 9 +++++++++ modules/lang/emacs-lisp/config.el | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/modules/lang/emacs-lisp/autoload.el b/modules/lang/emacs-lisp/autoload.el index 8368b6b53..0e9336490 100644 --- a/modules/lang/emacs-lisp/autoload.el +++ b/modules/lang/emacs-lisp/autoload.el @@ -122,3 +122,12 @@ library/userland functions" if (file-in-directory-p buffer-file-name dir) return t))) (flycheck-mode -1))) + +;;;###autoload +(defun +emacs-lisp-lookup-documentation (thing) + "Lookup THING with `helpful-symbol' if it's a symbol, apropos otherwise." + (cond ((not thing) + (call-interactively #'helpful-symbol)) + ((if-let* ((sym (intern-soft thing))) (helpful-symbol sym))) + ((apropos (format "^%s" thing))) + ((apropos thing)))) diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index ff38736ec..f165d7ebd 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -18,7 +18,7 @@ (set-eval-handler! 'emacs-lisp-mode #'+emacs-lisp-eval) (set-lookup-handlers! 'emacs-lisp-mode :definition #'elisp-def - :documentation #'info-lookup-symbol) + :documentation #'+emacs-lisp-lookup-documentation) (set-docsets! 'emacs-lisp-mode "Emacs Lisp") (set-pretty-symbols! 'emacs-lisp-mode :lambda "lambda") (set-rotate-patterns! 'emacs-lisp-mode