aboutsummaryrefslogtreecommitdiff
path: root/.config/emacs/lisp/evil-collection/modes/help
diff options
context:
space:
mode:
authorJack Jamison <jackqjamison@gmail.com>2026-07-05 01:19:30 -0400
committerJack Jamison <jackqjamison@gmail.com>2026-07-05 01:19:30 -0400
commitbdf9a71ab7baa2b1de9abcfd5df1a9107a55d141 (patch)
treec4524e6c41aa5107211103401dabfaefc81aa882 /.config/emacs/lisp/evil-collection/modes/help
parentfe3984f541bd32bdfa418afb305b614176b55ca0 (diff)
add a bunch of emacs packages HELP
Diffstat (limited to '.config/emacs/lisp/evil-collection/modes/help')
-rw-r--r--.config/emacs/lisp/evil-collection/modes/help/README.org23
-rw-r--r--.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el80
2 files changed, 103 insertions, 0 deletions
diff --git a/.config/emacs/lisp/evil-collection/modes/help/README.org b/.config/emacs/lisp/evil-collection/modes/help/README.org
new file mode 100644
index 0000000..ab65337
--- /dev/null
+++ b/.config/emacs/lisp/evil-collection/modes/help/README.org
@@ -0,0 +1,23 @@
+* help
+
+ Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Help-Mode.html][help-mode]].
+
+** Key bindings
+
+ | Command | Original | Evil |
+ |-----------------------+----------------+----------------------|
+ | =scroll-up-command= | =SPC= | =SPC=, =C-f= |
+ | =scroll-down-command= | =S-SPC=, =DEL= | =S-SPC=, =C-b= |
+ | =forward-button= | =TAB= | =TAB=, =g TAB=, =g]= |
+ | =backward-button= | =S-TAB= | =S-TAB=, =g[= |
+ | =help-go-back= | =l= | =C-o=, =<= |
+ | =help-go-forward= | =r= | =C-i=, =>= |
+ | =push-button= | n/a | =go=, =gO= |
+ | =describe-mode= | =h=, =?= | =g?= |
+ | =revert-buffer= | =g= | =gr= |
+ | =help-follow= | n/a | =r= |
+ | =help-view-source= | =s= | =s= |
+ | =help-goto-info= | =i= | =i= |
+ | =help-customize= | =c= | =c= |
+
+ The last three require Emacs 28+.
diff --git a/.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el b/.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el
new file mode 100644
index 0000000..6616bac
--- /dev/null
+++ b/.config/emacs/lisp/evil-collection/modes/help/evil-collection-help.el
@@ -0,0 +1,80 @@
+;;; evil-collection-help.el --- Evil bindings for help-mode -*- lexical-binding: t -*-
+
+;; Copyright (C) 2017 James Nguyen
+
+;; Author: James Nguyen <james@jojojames.com>
+;; Maintainer: James Nguyen <james@jojojames.com>
+;; Pierre Neidhardt <mail@ambrevar.xyz>
+;; URL: https://github.com/emacs-evil/evil-collection
+;; Version: 0.0.1
+;; Package-Requires: ((emacs "26.3"))
+;; Keywords: evil, help, tools
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;; Evil bindings for `help-mode'.
+
+;;; Code:
+(require 'evil-collection)
+(require 'help-mode)
+
+(defconst evil-collection-help-maps '(help-mode-map))
+
+;;;###autoload
+(defun evil-collection-help-setup ()
+ "Set up `evil' bindings for `help'."
+ (evil-set-initial-state 'help-mode 'normal)
+ (evil-collection-set-readonly-bindings 'help-mode-map)
+ (evil-collection-define-key 'normal 'help-mode-map
+ ;; motion
+ (kbd "SPC") 'scroll-up-command
+ (kbd "S-SPC") 'scroll-down-command
+ (kbd "C-f") 'scroll-up-command
+ (kbd "C-b") 'scroll-down-command
+ (kbd "<tab>") 'forward-button
+ (kbd "<backtab>") 'backward-button
+ ;; This exists because <tab> is recognized as C-i on terminals.
+ (kbd "g TAB") 'forward-button
+ "g]" 'forward-button
+ "g[" 'backward-button
+
+ (kbd "C-o") 'help-go-back
+ (kbd "C-i") 'help-go-forward
+
+ ;; TODO: Enable more help-go-* bindings?
+ ;; "gj" 'help-go-forward
+ ;; "gk" 'help-go-back
+ ;; "\C-j" 'help-go-forward
+ ;; "\C-k" 'help-go-back
+
+ ;; The following bindings don't do what they are supposed to. "go" should open
+ ;; in the same window and "gO" should open in a different one.
+ "go" 'push-button
+ "gO" 'push-button
+
+ "g?" 'describe-mode
+ "gr" 'revert-buffer
+ "<" 'help-go-back
+ ">" 'help-go-forward
+ "r" 'help-follow)
+
+ (when (>= emacs-major-version 28)
+ (evil-collection-define-key 'normal 'help-mode-map
+ "s" 'help-view-source
+ "i" 'help-goto-info
+ "c" 'help-customize)))
+
+(provide 'evil-collection-help)
+;;; evil-collection-help.el ends here