summaryrefslogtreecommitdiff
path: root/.config/emacs
diff options
context:
space:
mode:
authorbd <bdunahu@operationnull.com>2025-03-27 01:35:48 -0400
committerbd <bdunahu@operationnull.com>2025-03-27 01:35:48 -0400
commit3073019cf49a8bec6445e12a7135a6a38a385b4a (patch)
tree462f2a6da1427d326ede9e593466865dfc9144d3 /.config/emacs
parent5e6d0f9cd5cfc975d65ed49753c48346a0da06e2 (diff)
ignore duplicate eshell history, safer cp/mv
Diffstat (limited to '.config/emacs')
-rw-r--r--.config/emacs/modules/bd--shells.el60
1 files changed, 35 insertions, 25 deletions
diff --git a/.config/emacs/modules/bd--shells.el b/.config/emacs/modules/bd--shells.el
index 4ffe8ec..69427bf 100644
--- a/.config/emacs/modules/bd--shells.el
+++ b/.config/emacs/modules/bd--shells.el
@@ -14,27 +14,27 @@
ARGS are passed to the program. At the moment, no piping of input is
allowed."
(let* (eshell-interpreter-alist
- (interp (eshell-find-interpreter (car args) (cdr args)))
- (program (car interp))
- (args (mapconcat #'shell-quote-argument
- (flatten-tree
- (eshell-stringify-list (append (cdr interp)
- (cdr args)))) " "))
- (term-buf
- (generate-new-buffer
- (concat "*" (file-name-nondirectory program) "*")))
- (eshell-buf (current-buffer))
- (vterm-shell (concat (shell-quote-argument
- (file-local-name program))
- " " args)))
+ (interp (eshell-find-interpreter (car args) (cdr args)))
+ (program (car interp))
+ (args (mapconcat #'shell-quote-argument
+ (flatten-tree
+ (eshell-stringify-list (append (cdr interp)
+ (cdr args)))) " "))
+ (term-buf
+ (generate-new-buffer
+ (concat "*" (file-name-nondirectory program) "*")))
+ (eshell-buf (current-buffer))
+ (vterm-shell (concat (shell-quote-argument
+ (file-local-name program))
+ " " args)))
(save-current-buffer
- (switch-to-buffer term-buf)
- (vterm-mode)
- (setq-local eshell-parent-buffer eshell-buf)
- (let ((proc (get-buffer-process term-buf)))
- (if (and proc (eq 'run (process-status proc)))
- (set-process-sentinel proc #'eshell-term-sentinel)
- (error "Failed to invoke visual command")))))
+ (switch-to-buffer term-buf)
+ (vterm-mode)
+ (setq-local eshell-parent-buffer eshell-buf)
+ (let ((proc (get-buffer-process term-buf)))
+ (if (and proc (eq 'run (process-status proc)))
+ (set-process-sentinel proc #'eshell-term-sentinel)
+ (error "Failed to invoke visual command")))))
nil)
(advice-add #'eshell-exec-visual :override #'bd/eshell-exec-visual))
@@ -50,16 +50,26 @@ allowed."
:config
(setopt eshell-banner-message (concat "\n" (propertize " " 'display (create-image (expand-file-name "images/raven.png" user-emacs-directory) 'png nil :scale 0.8 :align-to "center")) "\n")))
+(use-package em-hist
+ :config
+ (setopt eshell-hist-ignoredups t
+ eshell-history-append t))
+
(use-package em-term
:config
(mapc (lambda (x) (add-to-list 'eshell-visual-commands x))
- '(
- "angband"
- "nethack"
- "r2"
- ))
+ '(
+ "angband"
+ "nethack"
+ "r2"
+ ))
(setopt eshell-destroy-buffer-when-process-dies t))
+(use-package em-unix
+ :config
+ (setopt eshell-cp-overwrite-files nil
+ eshell-mv-overwrite-files nil))
+
(use-package em-prompt
:config
(defun bd/get-prompt-path ()