]> git.earman.xyz Git - emacsinit.git/commitdiff
Split dired defuns out into their own file
authorrearman <rearman@r717.net>
Wed, 31 Dec 2025 18:43:43 +0000 (13:43 -0500)
committerrearman <rearman@r717.net>
Wed, 31 Dec 2025 18:43:43 +0000 (13:43 -0500)
Add binding to open dired in new frame, move 'open-marked' to a defun instead
of a lambda.

init.el
re/re-bindings.el
re/re-dired-defuns.el [new file with mode: 0644]

diff --git a/init.el b/init.el
index cb54a2c48bf96f4396600191c7c6dd71b3f17e73..bcc6da9aee3a346ea79e3bcff30a0d42de5a9ee0 100644 (file)
--- a/init.el
+++ b/init.el
@@ -23,7 +23,8 @@
 (add-hook 'after-init-hook
          (lambda ()
            (require 're-repl-defuns)
-           (require 're-pass-alike)))
+           (require 're-pass-alike)
+           (require 're-dired-defuns)))
 
 (add-to-list 'auto-mode-alist '("\\.keymap\\'" . c-mode))
 (add-to-list 'auto-mode-alist '("\\.dtsi\\'" . c-mode))
                          #'dired-find-alternate-file)
              (keymap-set dired-mode-map
                          "F"
-                         #'(lambda ()
-                             (interactive)
-                             (mapc #'find-file
-                                   (reverse (dired-get-marked-files)))))
+                         #'re/dired-find-marked-files)
              (keymap-set dired-mode-map
                          "^"
                          #'(lambda ()
index 38512164e4f756579551b588c4e5340629696f57..63c19cc24292896a30a99a431c120fd5d7f10085 100644 (file)
@@ -72,6 +72,7 @@
 (keymap-global-set "C-<right>" #'enlarge-window-horizontally)
 (keymap-global-set "C-c d" #'eldoc) ; force eldoc to show in minibuffer
 (keymap-global-set "C-c D" #'eldoc-doc-buffer) ; open eldoc buffer when it's getting spammed
+(keymap-global-set "C-x D" #'re/dired-new-frame)
 \f
 ;; Mouse
 (keymap-global-unset "M-<down-mouse-1>")
diff --git a/re/re-dired-defuns.el b/re/re-dired-defuns.el
new file mode 100644 (file)
index 0000000..548e57c
--- /dev/null
@@ -0,0 +1,20 @@
+;;; re-dired-defuns.el -*- lexical-binding: t; -*-
+;; This file is not part of GNU Emacs.
+
+;;; Code:
+
+(defun re/dired-new-frame ()
+  "Open dired in a new frame."
+  (interactive)
+  (re/open-with-new-frame "DIRED"
+                         #'(lambda ()
+                             (interactive)
+                             (dired default-directory))))
+
+(defun re/dired-find-marked-files ()
+  "Open all marked files from `dired'."
+  (interactive)
+  (mapc 'find-file (reverse (dired-get-marked-files))))
+
+(provide 're-dired-defuns)
+;;; re-dired-defuns.el ends here