 (defun +vterm--configure-project-root-and-display (arg display-fn)
   "Sets the environment variable PROOT and displays a terminal using `display-fn`.
 
-If prefix ARG is non-nil, cd into `default-directory' instead of project root."
+If prefix ARG is non-nil, cd into `default-directory' instead of project root.
+
+Returns the vterm buffer."
   (unless (fboundp 'module-load)
     (user-error "Your build of Emacs lacks dynamic modules support and cannot load vterm"))
   (let* ((project-root (or (doom-project-root) default-directory))

               default-directory
             project-root)))
    (setenv "PROOT" project-root)
    (funcall display-fn)
    (+vterm--change-directory-if-remote)))

(defun +vterm--change-directory-if-remote ()
  "When `default-directory` is remote, use the corresponding

(defun +vterm/toggle (arg)
  "Toggles a terminal popup window at project root.

If prefix ARG is non-nil, recreate vterm buffer in the current project's root.

Returns the vterm buffer."
  (interactive "P")
  (+vterm--configure-project-root-and-display
   arg
