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/vertico/README.org | 40 +++++++++++++ .../modes/vertico/evil-collection-vertico.el | 68 ++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 .config/emacs/lisp/evil-collection/modes/vertico/README.org create mode 100644 .config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el (limited to '.config/emacs/lisp/evil-collection/modes/vertico') diff --git a/.config/emacs/lisp/evil-collection/modes/vertico/README.org b/.config/emacs/lisp/evil-collection/modes/vertico/README.org new file mode 100644 index 0000000..5ea5d14 --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/vertico/README.org @@ -0,0 +1,40 @@ +* vertico + + Evil bindings for [[https://github.com/minad/vertico][vertico]]. + + Bindings only take effect when =evil-collection-setup-minibuffer= is non-nil + (excluding the global == → =abort-recursive-edit=). + +** Key bindings + +*** vertico-map (normal state) + + | Command | Original | Evil | + |--------------------------+-----------------+------------| + | =abort-recursive-edit= | =C-g= | == | + | =vertico-first= | =M-<= | =gg= | + | =vertico-last= | =M->= | =G= | + | =vertico-next= | ==, =C-n= | =j= | + | =vertico-previous= | ==, =C-p= | =k= | + | =vertico-next-group= | =M-}= | =gj= | + | =vertico-previous-group= | =M-{= | =gk= | + | =vertico-scroll-down= | =M-v= | =C-u= | + | =vertico-scroll-up= | =C-v= | =C-d= | + + =C-u= is gated on =evil-want-C-u-scroll=; =C-d= on =evil-want-C-d-scroll=. + +*** vertico-map (insert state) + + | Command | Original | Evil | + |--------------------+----------+-------| + | =vertico-next= | =C-n= | =C-n= | + | =vertico-previous= | =C-p= | =C-p= | + + With =evil-collection-vertico-want-want-C-u-in-insert= and + =evil-want-C-u-delete= unset, =C-u= → =vertico-scroll-down= in insert state. + +** Customization + + | Variable | Default | Purpose | + |---------------------------------------------------+---------+-------------------------------------| + | =evil-collection-vertico-want-want-C-u-in-insert= | =nil= | Allow =C-u= scroll in insert state. | diff --git a/.config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el b/.config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el new file mode 100644 index 0000000..521e1a1 --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/vertico/evil-collection-vertico.el @@ -0,0 +1,68 @@ +;;; evil-collection-vertico.el --- Evil bindings for vertico -*- lexical-binding: t -*- + +;; Copyright (C) 2021 Kisaragi Hiu + +;; Author: Kisaragi Hiu +;; URL: https://github.com/emacs-evil/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "26.3")) +;; Keywords: evil, vertico, 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 `vertico'. + +;;; Code: +(require 'evil-collection) +(require 'vertico nil t) + +(defcustom evil-collection-vertico-want-want-C-u-in-insert nil + "When non nil, C-u may be bound in insert state." + :group 'evil-collection + :type 'boolean) + +;;;###autoload +(defun evil-collection-vertico-setup () + "Set up `evil' bindings for `vertico'." + (evil-collection-define-key nil 'vertico-map + (kbd "") 'abort-recursive-edit) + + (defvar evil-collection-setup-minibuffer) + (when evil-collection-setup-minibuffer + (when evil-want-C-u-scroll + (evil-collection-define-key 'normal 'vertico-map + (kbd "C-u") 'vertico-scroll-down)) + (when evil-collection-vertico-want-want-C-u-in-insert + (unless evil-want-C-u-delete + (evil-collection-define-key 'insert 'vertico-map + (kbd "C-u") 'vertico-scroll-down))) + (when evil-want-C-d-scroll + (evil-collection-define-key 'normal 'vertico-map + (kbd "C-d") 'vertico-scroll-up)) + + (evil-collection-define-key 'normal 'vertico-map + "gg" 'vertico-first + "G" 'vertico-last + "gj" 'vertico-next-group + "gk" 'vertico-previous-group + "j" 'vertico-next + "k" 'vertico-previous) + + (evil-collection-define-key 'insert 'vertico-map + (kbd "C-n") 'vertico-next + (kbd "C-p") 'vertico-previous))) + +(provide 'evil-collection-vertico) +;;; evil-collection-vertico.el ends here -- cgit v1.2.3