Revert to initial evil state on term popup toggle

i.e. switch to insert state and move cursor to prompt.
This commit is contained in:
Henrik Lissner 2019-06-12 17:10:10 +02:00
parent 77a7b76108
commit b2da28edfe
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
3 changed files with 15 additions and 4 deletions

View file

@ -21,7 +21,11 @@ If prefix ARG is non-nil, recreate vterm buffer in the current project's root."
(if-let (win (get-buffer-window buffer-name))
(if (eq (selected-window) win)
(delete-window win)
(select-window win))
(select-window win)
(when (bound-and-true-p evil-local-mode)
(evil-change-to-initial-state))
(goto-char (point-max)))
(require 'vterm)
(let* ((default-directory (or (doom-project-root) default-directory))
(buffer (get-buffer-create buffer-name)))
(with-current-buffer buffer
@ -38,6 +42,7 @@ If prefix ARG is non-nil, cd into `default-directory' instead of project root."
(user-error "Your build of Emacs lacks dynamic modules support and cannot load vterm"))
(when (eq major-mode 'vterm-mode)
(user-error "Already in a vterm buffer"))
(require 'vterm)
;; This hack forces vterm to redraw, fixing strange artefacting in the tty.
(save-window-excursion
(pop-to-buffer "*scratch*"))