diff --git a/core/core-editor.el b/core/core-editor.el index 4b178e97c..a7418bf1c 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -257,9 +257,15 @@ extension, try to guess one." (def-package! expand-region :commands (er/expand-region er/contract-region er/mark-symbol er/mark-word)) -(def-package! help-fns+ ; Improved help commands - :commands (describe-buffer describe-command describe-file - describe-keymap describe-option describe-option-of-type)) +(def-package! helpful + :commands (helpful-callable helpful-function helpful-macro helpful-command + helpful-key helpful-variable helpful-at-point) + :init + (global-set-key [remap describe-function] #'helpful-callable) + (global-set-key [remap describe-variable] #'helpful-variable) + (global-set-key [remap describe-key] #'helpful-key) + :config + (map! :map helpful-mode-map :n "q" #'quit-window)) (def-package! pcre2el :commands rxt-quote-pcre) diff --git a/core/core-popups.el b/core/core-popups.el index 6ab219b13..49d2a2243 100644 --- a/core/core-popups.el +++ b/core/core-popups.el @@ -106,6 +106,7 @@ recognized by DOOM's popup system. They are: ("*Warnings*" :size 12 :noselect t :autofit t) ("*Messages*" :size 12 :noselect t) ("*Help*" :size 0.3) + ("^\\*Helpful" :regexp t :size 0.3) ("^\\*.*Shell Command.*\\*$" :regexp t :size 20 :noselect t :autokill t) (apropos-mode :size 0.3 :autokill t :autoclose t) (Buffer-menu-mode :size 20 :autokill t) diff --git a/core/packages.el b/core/packages.el index 054197e4a..b0bb0c519 100644 --- a/core/packages.el +++ b/core/packages.el @@ -29,7 +29,7 @@ (package! command-log-mode) (package! editorconfig) (package! expand-region) -(package! help-fns+) +(package! helpful) (package! pcre2el) (package! smart-forward) (package! smartparens) diff --git a/modules/private/hlissner/+bindings.el b/modules/private/hlissner/+bindings.el index 7ad4807d2..59cec8a31 100644 --- a/modules/private/hlissner/+bindings.el +++ b/modules/private/hlissner/+bindings.el @@ -202,6 +202,7 @@ :desc "Find library" :n "l" #'find-library :desc "Toggle Emacs log" :n "m" #'doom/popup-toggle-messages :desc "Command log" :n "L" #'global-command-log-mode + :desc "At point" :n "." #'helpful-at-point :desc "Describe function" :n "f" #'describe-function :desc "Describe key" :n "k" #'describe-key :desc "Describe char" :n "c" #'describe-char