doomemacs/modules/emacs/eshell/autoload/commands.el
Henrik Lissner 7f79eb4579
Major redesign of emacs/eshell
+ :sh can now be fed commands to run immediately, e.g. :sh cd %:P to
  start from the current project root.
+ Eshell will spawn a new eshell on every split. This can be controlled
  via `+eshell-enable-new-shell-on-split'
+ Eshell can be configured to kill the window when you kill the eshell
  process. This is disabled by default. See
  `+eshell-kill-window-on-exit'. Some commands ignore this, like the
  quit-and-close command (I alias this to "q").
+ eshell-directory-name has been moved to doom-etc-dir/eshell. It will
  seem like eshell has forgotten all your history, but you can move
  ~/.eshell (or ~/.doom.d/eshell) to ~/.emacs.d/.local/etc/eshell and
  you'll be fine.
+ eshell-aliases-file has been moved to ~/.doom.d/eshell_aliases by
  default.
+ Automatic writing to eshell-aliases-file has been disabled. No shell
  so aggressively persists aliases. You may maintain it yourself, or use
  the new +eshell-aliases variable to customize eshell from Doom.
+ C-s now invokes a history search with ivy/helm.
+ C-c s and C-c v split horizontally and vertically. Inspired by tmux.
+ C-c x kill the current eshell and its window. Inspired by tmux.j
+ New set-eshell-alias! autodef for defining your own aliases.
+ +eshell/open-workspace has been replaced with +eshell/open-fullscreen.
+ Added the "cd-to-project" command. I suggest you alias it.
2018-06-18 22:31:27 +02:00

14 lines
492 B
EmacsLisp

;;; emacs/eshell/autoload/commands.el -*- lexical-binding: t; -*-
;;;###autoload
(defun eshell/cd-to-project ()
"Change to the project root of the current directory."
(let* ((default-directory (eshell/pwd))
(project-root (doom-project-root 'nocache)))
(eshell/cd project-root)))
;;;###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))