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/vdiff/README.org | 18 ++++++++ .../modes/vdiff/evil-collection-vdiff.el | 54 ++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 .config/emacs/lisp/evil-collection/modes/vdiff/README.org create mode 100644 .config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el (limited to '.config/emacs/lisp/evil-collection/modes/vdiff') diff --git a/.config/emacs/lisp/evil-collection/modes/vdiff/README.org b/.config/emacs/lisp/evil-collection/modes/vdiff/README.org new file mode 100644 index 0000000..3ba3adf --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/vdiff/README.org @@ -0,0 +1,18 @@ +* vdiff + + Evil bindings for [[https://github.com/justbur/emacs-vdiff][vdiff]], a vimdiff-style diff/merge interface. + + Applied to both =vdiff-mode-map= and =vdiff-3way-mode-map=. + +** Key bindings + + | Command | Original | Evil | + |-------------------------+----------+------| + | =vdiff-next-hunk= | (varies) | =]c= | + | =vdiff-previous-hunk= | (varies) | =[c= | + | =vdiff-receive-changes= | =do= | =do= | + | =vdiff-send-changes= | =dp= | =dp= | + + =do= / =dp= are installed as evil operator-keys via + =evil-collection-define-operator-key= so they compose with motions like + vim's =do= (diff obtain) and =dp= (diff put). diff --git a/.config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el b/.config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el new file mode 100644 index 0000000..393061a --- /dev/null +++ b/.config/emacs/lisp/evil-collection/modes/vdiff/evil-collection-vdiff.el @@ -0,0 +1,54 @@ +;;; evil-collection-vdiff.el --- Evil bindings for vdiff -*- lexical-binding: t -*- + +;; Copyright (C) 2017 Pierre Neidhardt + +;; Author: Evgeni Kolev +;; Maintainer: James Nguyen +;; Pierre Neidhardt +;; URL: https://github.com/emacs-evil/evil-collection +;; Version: 0.0.1 +;; Package-Requires: ((emacs "26.3")) +;; Keywords: evil, vdiff, tools + +;; This file 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, or (at your +;; option) any later version. +;; +;; This file 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. +;; +;; For a full copy of the GNU General Public License +;; see . + +;;; Commentary: +;; Evil bindings for vdiff.el https://github.com/justbur/emacs-vdiff + +;;; Code: +(require 'vdiff nil t) +(require 'evil-collection) + +(defconst evil-collection-vdiff-maps '(vdiff-mode-map + vdiff-3way-mode-map)) + +;;;###autoload +(defun evil-collection-vdiff-setup () + "Set up `evil' bindings for `vdiff-mode'." + (add-hook 'vdiff-mode-hook 'evil-normalize-keymaps) + (add-hook 'vdiff-3way-mode-hook 'evil-normalize-keymaps) + + (dolist (keymap evil-collection-vdiff-maps) + (evil-collection-define-key 'normal keymap + "]c" 'vdiff-next-hunk + "[c" 'vdiff-previous-hunk) + + ;; define `do' (diff obtain) and `dp' (diff put) bindings + (evil-collection-define-operator-key 'delete keymap + "o" 'vdiff-receive-changes + "p" 'vdiff-send-changes))) + +(provide 'evil-collection-vdiff) + +;;; evil-collection-vdiff.el ends here -- cgit v1.2.3