refactor(vterm): remove +vterm--change-directory-if-remote

This is no longer necessary as vterm handles this natively. moreover, it
creates a redundant nested ssh session whenever `SPC o t` is used to
re-open an existing vterm popup.
This commit is contained in:
Shay Bergmann 2022-01-29 20:41:02 -05:00 committed by GitHub
parent 4a6de2419c
commit 81ab356d6e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -30,8 +30,7 @@ Returns the vterm buffer."
(let ((buffer (get-buffer-create buffer-name))) (let ((buffer (get-buffer-create buffer-name)))
(with-current-buffer buffer (with-current-buffer buffer
(unless (eq major-mode 'vterm-mode) (unless (eq major-mode 'vterm-mode)
(vterm-mode)) (vterm-mode)))
(+vterm--change-directory-if-remote))
(pop-to-buffer buffer))) (pop-to-buffer buffer)))
(get-buffer buffer-name))))) (get-buffer buffer-name)))))
@ -67,22 +66,4 @@ Returns the vterm buffer."
default-directory default-directory
project-root))) project-root)))
(setenv "PROOT" project-root) (setenv "PROOT" project-root)
(prog1 (funcall display-fn) (funcall display-fn)))
(+vterm--change-directory-if-remote))))
(defun +vterm--change-directory-if-remote ()
"When `default-directory` is remote, use the corresponding
method to prepare vterm at the corresponding remote directory."
(when (and (featurep 'tramp)
(tramp-tramp-file-p default-directory))
(message "default-directory is %s" default-directory)
(with-parsed-tramp-file-name default-directory path
(let ((method (cadr (assoc `tramp-login-program
(assoc path-method tramp-methods)))))
(vterm-send-string
(concat method " "
(when path-user (concat path-user "@")) path-host))
(vterm-send-return)
(vterm-send-string
(concat "cd " path-localname))
(vterm-send-return)))))