From 28290ca23eb28e8127414d3aa182aec974c22eef Mon Sep 17 00:00:00 2001 From: Fabio Scotto di Santolo Date: Sun, 12 Apr 2026 22:45:05 +0200 Subject: [PATCH] Add vdiff and ztree tooling --- .../desktop/.emacs.d/lisp/core/keybindings.el | 4 +++ dotfiles/desktop/.emacs.d/lisp/misc/vcs.el | 25 +++++++++++++++++++ .../desktop/.emacs.d/lisp/misc/which-key.el | 3 ++- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/dotfiles/desktop/.emacs.d/lisp/core/keybindings.el b/dotfiles/desktop/.emacs.d/lisp/core/keybindings.el index fb6f390..965c713 100644 --- a/dotfiles/desktop/.emacs.d/lisp/core/keybindings.el +++ b/dotfiles/desktop/.emacs.d/lisp/core/keybindings.el @@ -65,6 +65,10 @@ (autoload 'dirvish-dwim "dirvish" nil t) (define-key fscotto/open (kbd "d") #'dirvish-dwim) +;; -------- ztree -------- +(autoload 'ztree-diff "ztree" nil t) +(define-key fscotto/open (kbd "z") #'ztree-diff) + ;;;; Elfeed mode maps (with-eval-after-load 'elfeed (define-key elfeed-search-mode-map (kbd "w") #'elfeed-search-yank) diff --git a/dotfiles/desktop/.emacs.d/lisp/misc/vcs.el b/dotfiles/desktop/.emacs.d/lisp/misc/vcs.el index ff450a7..25ec734 100644 --- a/dotfiles/desktop/.emacs.d/lisp/misc/vcs.el +++ b/dotfiles/desktop/.emacs.d/lisp/misc/vcs.el @@ -11,6 +11,31 @@ '(("~/Projects" . 2) ("~/Work" . 2)))) +(use-package vdiff + :ensure t + :commands (vdiff-current-file vdiff-files vdiff-merge-conflict) + :custom + (vdiff-lock-scrolling t) + (vdiff-auto-refine t)) + +(use-package vdiff-magit + :ensure t + :after (magit vdiff) + :commands (vdiff-magit vdiff-magit-dwim) + :custom + (vdiff-magit-use-ediff-for-merges nil) + :config + (define-key magit-mode-map "e" #'vdiff-magit-dwim) + (define-key magit-mode-map "E" #'vdiff-magit) + (transient-suffix-put 'magit-dispatch "e" :description "vdiff (dwim)") + (transient-suffix-put 'magit-dispatch "e" :command #'vdiff-magit-dwim) + (transient-suffix-put 'magit-dispatch "E" :description "vdiff") + (transient-suffix-put 'magit-dispatch "E" :command #'vdiff-magit)) + +(use-package ztree + :ensure t + :commands (ztree-diff ztree-dir)) + (provide 'vcs) ;;; vcs.el ends here diff --git a/dotfiles/desktop/.emacs.d/lisp/misc/which-key.el b/dotfiles/desktop/.emacs.d/lisp/misc/which-key.el index e57ded6..617ef7f 100644 --- a/dotfiles/desktop/.emacs.d/lisp/misc/which-key.el +++ b/dotfiles/desktop/.emacs.d/lisp/misc/which-key.el @@ -34,7 +34,8 @@ "C-c o f" "RSS (Elfeed)" "C-c o l" "LLM chat (gptel)" "C-c o m" "mu4e (Email Client)" - "C-c o T" "Terminal (multi-vterm)") + "C-c o T" "Terminal (multi-vterm)" + "C-c o z" "Ztree diff") ;; -------------------------------------------------------------------------- ;; Version control