doomemacs/modules/term/eshell/autoload/commands.el
Henrik Lissner 5fdffe19db
feat(eshell): add help command & lookup handler
Fix: #6867
Co-authored-by: aikrahguzar <aikrahguzar@users.noreply.github.com>
2025-04-13 02:50:09 -04:00

33 lines
972 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))
;;;###autoload
(defalias 'eshell/help #'+eshell-lookup-documentation)