Refactor vterm module

This commit is contained in:
Henrik Lissner 2020-04-23 16:53:37 -04:00
parent 09d344541f
commit 346a90c95d
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -2,25 +2,26 @@
(use-package! vterm
:when (bound-and-true-p module-file-suffix)
:commands (vterm vterm-mode)
:preface (setq vterm-install t)
:commands vterm vterm-mode
:preface (setq vterm-install t) ; compile the package when you load vterm
:hook (vterm-mode . doom-mark-buffer-as-real-h)
:hook (vterm-mode . hide-mode-line-mode) ; modeline serves no purpose in vterm
:config
(set-popup-rule! "^vterm" :size 0.25 :vslot -4 :select t :quit nil :ttl 0)
;; Once vterm is dead, the vterm buffer is useless. Why keep it around? We can
;; spawn another if want one.
(setq vterm-kill-buffer-on-exit t)
(setq-hook! 'vterm-mode-hook
;; Don't prompt about processes when killing vterm
;; Don't prompt about dying processes when killing vterm
confirm-kill-processes nil
;; Prevent premature horizontal scrolling
hscroll-margin 0)
(setq vterm-kill-buffer-on-exit t)
;; Restore the point's location when leaving and re-entering insert mode.
(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))
(add-hook 'evil-insert-state-entry-hook #'+vterm-goto-insert-point-h nil t)))))