Merge pull request #2585 from mbriggs/vterm-remember-pos

VTerm remembers insert point when leaving normal mode
This commit is contained in:
Henrik Lissner 2020-02-24 20:43:48 -05:00 committed by GitHub
commit c72d8b8c91
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 0 deletions

View file

@ -55,3 +55,18 @@ If prefix ARG is non-nil, cd into `default-directory' instead of project root."
default-directory
(or (doom-project-root) default-directory))))
(vterm)))
(defvar +vterm--insert-point nil)
;;;###autoload
(defun +vterm-remember-insert-point-h ()
"Remember point when leaving insert mode."
(setq-local +vterm--insert-point (point)))
;;;###autoload
(defun +vterm-goto-insert-point-h ()
"Go to the point we were at when we left insert mode."
(when +vterm--insert-point
(goto-char +vterm--insert-point)
(setq-local +vterm--insert-point nil)))

View file

@ -15,6 +15,12 @@
(setq vterm-kill-buffer-on-exit t)
(when (featurep! :editor evil)
(add-hook! 'vterm-mode-hook
(defun +vterm-init-remember-point-h ()
(add-hook 'evil-insert-state-exit-hook #'+vterm-remember-insert-point-h nil t)
(add-hook 'evil-insert-state-entry-hook #'+vterm-goto-insert-point-h nil t))))
(add-hook 'vterm-mode-hook #'doom-mark-buffer-as-real-h)
;; Modeline serves no purpose in vterm
(add-hook 'vterm-mode-hook #'hide-mode-line-mode))