doomemacs/modules/term/eshell/autoload/commands.el
2019-11-23 01:21:25 -05:00

30 lines
901 B
EmacsLisp

;;; term/eshell/autoload/commands.el -*- lexical-binding: t; -*-
;;;###autoload
(defun eshell/emacs (&rest files)
"Open a FILES in Emacs.
For folks with a habit of using \"emacs\" to open files, even in eshell."
(if files
(mapc #'find-file
(mapcar #'expand-file-name
(eshell-flatten-list (reverse files))))
(bury-buffer)))
;;;###autoload
(defalias 'eshell/e #'eshell/emacs)
;;;###autoload
(defun eshell/cd-to-project ()
"Change to the project root of the current directory."
(eshell/cd (doom-project-root (eshell/pwd))))
;;;###autoload
(defun eshell/quit-and-close (&rest _)
"Quit the current eshell buffer and close the window it's in."
(setq-local +eshell-kill-window-on-exit t)
(throw 'eshell-terminal t))
;;;###autoload
(defun eshell/mkdir-and-cd (dir)
"Create a directory then cd into it."
(make-directory dir t)
(eshell/cd dir))