From bdf9a71ab7baa2b1de9abcfd5df1a9107a55d141 Mon Sep 17 00:00:00 2001 From: Jack Jamison Date: Sun, 5 Jul 2026 01:19:30 -0400 Subject: add a bunch of emacs packages HELP --- .../lisp/evil-collection/modes/xref/README.org | 26 ++++++++ .../modes/xref/evil-collection-xref.el | 76 ++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 .config/emacs/lisp/evil-collection/modes/xref/README.org create mode 100644 .config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el (limited to '.config/emacs/lisp/evil-collection/modes/xref') diff --git a/.config/emacs/lisp/evil-collection/modes/xref/README.org b/.config/emacs/lisp/evil-collection/modes/xref/README.org new file mode 100644 index 0000000..36e32c9 --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/xref/README.org @@ -0,0 +1,26 @@ +* xref + + Evil bindings for [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Xref.html][xref]]. + +** xref--xref-buffer-mode-map + + | Command | Original | Evil | + |----------------------------------+----------+--------------------------| + | =xref-next-line= | =n=, =.= | =gj=, =C-j=, =C-n=, =]]= | + | =xref-prev-line= | =p=, =,= | =gk=, =C-k=, =C-p=, =[[= | + | #ERROR | =N= | =]]= | + | =xref-prev-group= (Emacs 28+) | =P= | =[[= | + | =xref-query-replace-in-results= | =r= | =r=, =Q= | + | =xref-goto-xref= | =RET= | =RET= | + | =xref-quit-and-goto-xref= | =TAB= | =S-RET= | + | =xref-show-location-at-point= | =C-o= | =o=, =go= | + | =xref-revert-buffer= (Emacs 27+) | n/a | =gr= | + #+TBLFM: $1=xref-next-group= (Emacs 28+) + +** xref--transient-buffer-mode-map + + (Emacs 27+) + + | Command | Original | Evil | + |---------------------------+--------------+-------| + | =xref-quit-and-goto-xref= | =RET=, =TAB= | =RET= | diff --git a/.config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el b/.config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el new file mode 100644 index 0000000..1c9ea17 --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/xref/evil-collection-xref.el @@ -0,0 +1,76 @@ +;;; evil-collection-xref.el --- Evil bindings for xref -*- lexical-binding: t -*- + +;; Copyright (C) 2017, 2021 James Nguyen + +;; Author: James Nguyen +;; Maintainer: James Nguyen +;; Pierre Neidhardt +;; URL: https://github.com/emacs-evil/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "26.3")) +;; Keywords: evil, xref, 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 . + +;;; Commentary: +;; Evil bindings for `xref'. + +;;; Code: +(require 'evil-collection) +(require 'xref) + +(defconst evil-collection-xref-maps `(xref--xref-buffer-mode-map + ,@(when (>= emacs-major-version 27) '(xref--transient-buffer-mode-map)))) + +;;;###autoload +(defun evil-collection-xref-setup () + "Set up `evil' bindings for `xref'." + (evil-set-initial-state 'xref--xref-buffer-mode 'normal) + (evil-collection-set-readonly-bindings 'xref--xref-buffer-mode-map) + (evil-collection-define-key 'normal 'xref--xref-buffer-mode-map + "gj" 'xref-next-line + "gk" 'xref-prev-line + (kbd "C-j") 'xref-next-line + (kbd "C-k") 'xref-prev-line + (kbd "C-n") 'xref-next-line + (kbd "C-p") 'xref-prev-line + "]]" 'xref-next-line + "[[" 'xref-prev-line + "r" 'xref-query-replace-in-results + + ;; Match `dired''s `dired-do-find-regexp-and-replace'. + "Q" 'xref-query-replace-in-results + + ;; open + (kbd "RET") 'xref-goto-xref + (kbd "S-") 'xref-quit-and-goto-xref ;; In Emacs mode map, TAB binds to `xref-quit-and-goto-xref' + "o" 'xref-show-location-at-point + "go" 'xref-show-location-at-point) + + (when (>= emacs-major-version 27) + (evil-collection-define-key 'normal 'xref--xref-buffer-mode-map + "gr" 'xref-revert-buffer)) + + (when (>= emacs-major-version 28) + (evil-collection-define-key 'normal 'xref--xref-buffer-mode-map + "[[" 'xref-prev-group + "]]" 'xref-next-group)) + + (when (>= emacs-major-version 27) + (evil-set-initial-state 'xref--transient-buffer-mode 'normal) + (evil-collection-define-key 'normal 'xref--transient-buffer-mode-map + (kbd "RET") 'xref-quit-and-goto-xref))) + +(provide 'evil-collection-xref) +;;; evil-collection-xref.el ends here -- cgit v1.2.3