]> git.earman.xyz Git - emacsinit.git/commitdiff
Add defun & binding to list git branches in vc-mode
authorrearman <rearman@r717.net>
Tue, 19 Aug 2025 19:35:01 +0000 (15:35 -0400)
committerrearman <rearman@r717.net>
Tue, 19 Aug 2025 19:35:01 +0000 (15:35 -0400)
re/re-bindings.el
re/re-editing-defuns.el

index 38f197a02b57e250ee4fe6f4a6807c7f2b0e9c0b..b01d9de9436d587b6c585d7c49f840e593723770 100644 (file)
 
 ;; 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)
index 92bc97dfc024e31bfa5ce00eef44d561356afa00..299b147cb72e7b7564067ee6dc0c6de1d455b086 100644 (file)
@@ -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