From 6724bc62db8da14edbfb095551e830ebc900f3d3 Mon Sep 17 00:00:00 2001 From: rearman Date: Tue, 19 Aug 2025 15:35:01 -0400 Subject: [PATCH] Add defun & binding to list git branches in vc-mode --- re/re-bindings.el | 6 +++++- re/re-editing-defuns.el | 11 +++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/re/re-bindings.el b/re/re-bindings.el index 38f197a..b01d9de 100644 --- a/re/re-bindings.el +++ b/re/re-bindings.el @@ -74,6 +74,10 @@ ;; Draftweilding (keymap-global-set "C-x v C" #'re/vc-clone) +(keymap-global-set "C-x v b b" #'re/vc-show-branches) +(add-hook 'vc-dir-mode-hook + (lambda () + (keymap-set vc-dir-mode-map "b b" #'re/vc-show-branches))) ;; (E)Lisp (keymap-global-set "C-M-z" #'eval-region) @@ -84,7 +88,7 @@ (dolist (hook *re/lisp-mode-hooks*) (add-hook hook - (lambda nil + (lambda () (acme-mouse-mode 0) (sedit-mouse-mode 1) (electric-pair-mode 1) diff --git a/re/re-editing-defuns.el b/re/re-editing-defuns.el index 92bc97d..299b147 100644 --- a/re/re-editing-defuns.el +++ b/re/re-editing-defuns.el @@ -168,5 +168,16 @@ Prompt for url and local dir." (dir (read-string "Local Dir: " (file-name-base url)))) (vc-clone url nil dir nil))) +(defun re/vc-show-branches () + "Display all Git branches in a separate buffer." + (interactive) + (let ((default-directory (if (boundp 'vc-dir-directory) + vc-dir-directory + default-directory))) + (vc-git-command "*git-branches*" nil nil "branch" "--verbose") + (pop-to-buffer "*git-branches*") + (goto-char (point-min)) + (special-mode))) + (provide 're-editing-defuns) ;;; re-editing-defuns.el ends here -- 2.39.5