mirror of
https://github.com/SqrtMinusOne/dotfiles.git
synced 2025-12-11 19:45:25 +03:00
feat(emacs): improve dired-sidebar
This commit is contained in:
parent
36eccc1af1
commit
194aadcd1d
2 changed files with 64 additions and 32 deletions
|
|
@ -2943,7 +2943,7 @@ Returns (<buffer> . <workspace-index>) or nil."
|
||||||
:straight t
|
:straight t
|
||||||
:defer t)
|
:defer t)
|
||||||
|
|
||||||
(defvar my/weather-last-time nil)
|
(defvar my/weather-last-time 0)
|
||||||
(defvar my/weather-value nil)
|
(defvar my/weather-value nil)
|
||||||
|
|
||||||
(defun my/weather-get ()
|
(defun my/weather-get ()
|
||||||
|
|
@ -3631,15 +3631,15 @@ With ARG, repeats or can move backward if negative."
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states '(normal)
|
:states '(normal)
|
||||||
:keymaps 'dired-mode-map
|
:keymaps 'dired-mode-map
|
||||||
"h" 'dired-up-directory
|
"h" #'dired-up-directory
|
||||||
"l" 'dired-find-file
|
"l" #'dired-find-file
|
||||||
"=" 'dired-narrow
|
"=" #'dired-narrow
|
||||||
"-" 'dired-create-empty-file
|
"-" #'my/dired-create-empty-file-subtree
|
||||||
"~" 'vterm
|
"~" #'vterm
|
||||||
"M-r" 'wdired-change-to-wdired-mode
|
"M-r" #'wdired-change-to-wdired-mode
|
||||||
"<left>" 'dired-up-directory
|
"<left>" #'dired-up-directory
|
||||||
"<right>" 'dired-find-file
|
"<right>" #'dired-find-file
|
||||||
"M-<return>" 'dired-open-xdg))
|
"M-<return>" #'dired-open-xdg))
|
||||||
|
|
||||||
(defun my/dired-home ()
|
(defun my/dired-home ()
|
||||||
"Open dired at $HOME"
|
"Open dired at $HOME"
|
||||||
|
|
@ -3659,6 +3659,12 @@ With ARG, repeats or can move backward if negative."
|
||||||
:after (dired)
|
:after (dired)
|
||||||
:straight t)
|
:straight t)
|
||||||
|
|
||||||
|
(defun my/dired-create-empty-file-subtree ()
|
||||||
|
(interactive)
|
||||||
|
(let ((default-directory (dired-current-directory)))
|
||||||
|
(dired-create-empty-file
|
||||||
|
(read-file-name "Create empty file: "))))
|
||||||
|
|
||||||
(use-package dired-sidebar
|
(use-package dired-sidebar
|
||||||
:straight t
|
:straight t
|
||||||
:after (dired)
|
:after (dired)
|
||||||
|
|
@ -3666,19 +3672,29 @@ With ARG, repeats or can move backward if negative."
|
||||||
:init
|
:init
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:keymaps '(normal override global)
|
:keymaps '(normal override global)
|
||||||
"C-n" 'dired-sidebar-toggle-sidebar)
|
"C-n" `(,(lambda ()
|
||||||
|
(interactive)
|
||||||
|
(let ((dired-sidebar-follow-file-at-point-on-toggle-open
|
||||||
|
current-prefix-arg)
|
||||||
|
(current-prefix-arg nil))
|
||||||
|
(dired-sidebar-toggle-sidebar)))
|
||||||
|
:wk "dired-sidebar"))
|
||||||
:config
|
:config
|
||||||
|
(setq dired-sidebar-width 45)
|
||||||
|
(setq dired-sidebar-follow-file-at-point-on-toggle-open nil)
|
||||||
(defun my/dired-sidebar-setup ()
|
(defun my/dired-sidebar-setup ()
|
||||||
(toggle-truncate-lines 1)
|
(toggle-truncate-lines 1)
|
||||||
(display-line-numbers-mode -1)
|
(display-line-numbers-mode -1)
|
||||||
(setq-local dired-subtree-use-backgrounds nil))
|
(setq-local dired-subtree-use-backgrounds nil)
|
||||||
|
(setq-local window-size-fixed nil))
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:keymaps 'dired-sidebar-mode-map
|
:keymaps 'dired-sidebar-mode-map
|
||||||
:states '(normal emacs)
|
:states '(normal emacs)
|
||||||
"l" 'dired-sidebar-find-file
|
"l" #'dired-sidebar-find-file
|
||||||
"h" 'dired-sidebar-up-directory
|
"h" #'dired-sidebar-up-directory
|
||||||
"=" 'dired-narrow)
|
"=" #'dired-narrow)
|
||||||
(add-hook 'dired-sidebar-mode-hook #'my/dired-sidebar-setup))
|
(add-hook 'dired-sidebar-mode-hook #'my/dired-sidebar-setup)
|
||||||
|
(advice-add #'dired-create-empty-file :after 'dired-sidebar-refresh-buffer))
|
||||||
|
|
||||||
(use-package dired-recent
|
(use-package dired-recent
|
||||||
:straight t
|
:straight t
|
||||||
|
|
|
||||||
48
Emacs.org
48
Emacs.org
|
|
@ -4130,7 +4130,7 @@ Also, I want to add some extra information to the journal. Here's a functionalit
|
||||||
:straight t
|
:straight t
|
||||||
:defer t)
|
:defer t)
|
||||||
|
|
||||||
(defvar my/weather-last-time nil)
|
(defvar my/weather-last-time 0)
|
||||||
(defvar my/weather-value nil)
|
(defvar my/weather-value nil)
|
||||||
|
|
||||||
(defun my/weather-get ()
|
(defun my/weather-get ()
|
||||||
|
|
@ -5171,15 +5171,15 @@ My config mostly follows ranger's and vifm's keybindings which I'm used to.
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:states '(normal)
|
:states '(normal)
|
||||||
:keymaps 'dired-mode-map
|
:keymaps 'dired-mode-map
|
||||||
"h" 'dired-up-directory
|
"h" #'dired-up-directory
|
||||||
"l" 'dired-find-file
|
"l" #'dired-find-file
|
||||||
"=" 'dired-narrow
|
"=" #'dired-narrow
|
||||||
"-" 'dired-create-empty-file
|
"-" #'my/dired-create-empty-file-subtree
|
||||||
"~" 'vterm
|
"~" #'vterm
|
||||||
"M-r" 'wdired-change-to-wdired-mode
|
"M-r" #'wdired-change-to-wdired-mode
|
||||||
"<left>" 'dired-up-directory
|
"<left>" #'dired-up-directory
|
||||||
"<right>" 'dired-find-file
|
"<right>" #'dired-find-file
|
||||||
"M-<return>" 'dired-open-xdg))
|
"M-<return>" #'dired-open-xdg))
|
||||||
|
|
||||||
(defun my/dired-home ()
|
(defun my/dired-home ()
|
||||||
"Open dired at $HOME"
|
"Open dired at $HOME"
|
||||||
|
|
@ -5205,6 +5205,12 @@ I used to use [[https://www.emacswiki.org/emacs/DiredPlus][dired+]], which provi
|
||||||
(use-package dired-subtree
|
(use-package dired-subtree
|
||||||
:after (dired)
|
:after (dired)
|
||||||
:straight t)
|
:straight t)
|
||||||
|
|
||||||
|
(defun my/dired-create-empty-file-subtree ()
|
||||||
|
(interactive)
|
||||||
|
(let ((default-directory (dired-current-directory)))
|
||||||
|
(dired-create-empty-file
|
||||||
|
(read-file-name "Create empty file: "))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
[[https://github.com/jojojames/dired-sidebar][dired-sidebar]] enables opening Dired in sidebar. For me, with dired-subtree this makes dired a better option than Treemacs.
|
[[https://github.com/jojojames/dired-sidebar][dired-sidebar]] enables opening Dired in sidebar. For me, with dired-subtree this makes dired a better option than Treemacs.
|
||||||
|
|
@ -5216,19 +5222,29 @@ I used to use [[https://www.emacswiki.org/emacs/DiredPlus][dired+]], which provi
|
||||||
:init
|
:init
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:keymaps '(normal override global)
|
:keymaps '(normal override global)
|
||||||
"C-n" 'dired-sidebar-toggle-sidebar)
|
"C-n" `(,(lambda ()
|
||||||
|
(interactive)
|
||||||
|
(let ((dired-sidebar-follow-file-at-point-on-toggle-open
|
||||||
|
current-prefix-arg)
|
||||||
|
(current-prefix-arg nil))
|
||||||
|
(dired-sidebar-toggle-sidebar)))
|
||||||
|
:wk "dired-sidebar"))
|
||||||
:config
|
:config
|
||||||
|
(setq dired-sidebar-width 45)
|
||||||
|
(setq dired-sidebar-follow-file-at-point-on-toggle-open nil)
|
||||||
(defun my/dired-sidebar-setup ()
|
(defun my/dired-sidebar-setup ()
|
||||||
(toggle-truncate-lines 1)
|
(toggle-truncate-lines 1)
|
||||||
(display-line-numbers-mode -1)
|
(display-line-numbers-mode -1)
|
||||||
(setq-local dired-subtree-use-backgrounds nil))
|
(setq-local dired-subtree-use-backgrounds nil)
|
||||||
|
(setq-local window-size-fixed nil))
|
||||||
(general-define-key
|
(general-define-key
|
||||||
:keymaps 'dired-sidebar-mode-map
|
:keymaps 'dired-sidebar-mode-map
|
||||||
:states '(normal emacs)
|
:states '(normal emacs)
|
||||||
"l" 'dired-sidebar-find-file
|
"l" #'dired-sidebar-find-file
|
||||||
"h" 'dired-sidebar-up-directory
|
"h" #'dired-sidebar-up-directory
|
||||||
"=" 'dired-narrow)
|
"=" #'dired-narrow)
|
||||||
(add-hook 'dired-sidebar-mode-hook #'my/dired-sidebar-setup))
|
(add-hook 'dired-sidebar-mode-hook #'my/dired-sidebar-setup)
|
||||||
|
(advice-add #'dired-create-empty-file :after 'dired-sidebar-refresh-buffer))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
[[https://github.com/vifon/dired-recent.el][dired-recent.el]] adds history to dired.
|
[[https://github.com/vifon/dired-recent.el][dired-recent.el]] adds history to dired.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue