about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCase Duckworth2022-04-02 13:53:59 -0500
committerCase Duckworth2022-04-02 13:53:59 -0500
commit8f8121e3a234185b739b87a7b11e0c0abce0e81c (patch)
tree8b9fdcf42ba635fb982038ddd2e6bab18e585fa4
parentEnable +elfeed-update-command to run only sometimes (diff)
downloademacs-8f8121e3a234185b739b87a7b11e0c0abce0e81c.tar.gz
emacs-8f8121e3a234185b739b87a7b11e0c0abce0e81c.zip
Add +eshell-here
-rw-r--r--init.el2
-rw-r--r--lisp/+eshell.el16
2 files changed, 18 insertions, 0 deletions
diff --git a/init.el b/init.el index 3c1d975..84b3869 100644 --- a/init.el +++ b/init.el
@@ -342,6 +342,8 @@
342 eshell-prompt-regexp (rx bol (* (not (any ?# ?$ ?\n))) 342 eshell-prompt-regexp (rx bol (* (not (any ?# ?$ ?\n)))
343 " " (any ?# ?$) 343 " " (any ?# ?$)
344 (* " "))) 344 (* " ")))
345 (:+leader "s" #'+eshell-here
346 "C-s" #'+eshell-here)
345 (with-eval-after-load 'mwim 347 (with-eval-after-load 'mwim
346 (setf (alist-get 'eshell-mode mwim-beginning-of-line-function) 348 (setf (alist-get 'eshell-mode mwim-beginning-of-line-function)
347 #'eshell-bol)) 349 #'eshell-bol))
diff --git a/lisp/+eshell.el b/lisp/+eshell.el index bcab846..b874141 100644 --- a/lisp/+eshell.el +++ b/lisp/+eshell.el
@@ -25,6 +25,22 @@ any directory proferred by `consult-dir'."
25 25
26;;; Start and quit 26;;; Start and quit
27 27
28;; from https://old.reddit.com/r/emacs/comments/1zkj2d/advanced_usage_of_eshell/
29(defun +eshell-here ()
30 "Go to eshell and set current directory to current buffer's."
31 ;; consider: make a new eshell buffer when given a prefix argument.
32 (interactive)
33 (let ((dir (file-name-directory (or (buffer-file-name)
34 default-directory))))
35 (eshell)
36 (eshell/pushd ".")
37 (cd dir)
38 (goto-char (point-max))
39 (eshell-kill-input)
40 (eshell-send-input)
41 (setq-local scroll-margin 0)
42 (recenter 0)))
43
28(defun +eshell-quit-or-delete-char (arg) 44(defun +eshell-quit-or-delete-char (arg)
29 "Delete the character to the right, or quit eshell on an empty line." 45 "Delete the character to the right, or quit eshell on an empty line."
30 (interactive "p") 46 (interactive "p")