refactoring and updates
This commit is contained in:
parent
ad9acea3b0
commit
59fc2f2d9c
3 changed files with 114 additions and 31 deletions
46
vterm.el
Normal file
46
vterm.el
Normal file
|
@ -0,0 +1,46 @@
|
|||
;;; vterm.el -*- lexical-binding: t; -*-
|
||||
|
||||
|
||||
|
||||
;; Vterm adjustemts
|
||||
(setq vterm-environment '("TERM=xterm-256color"))
|
||||
(set-language-environment "UTF-8")
|
||||
(set-default-coding-systems 'utf-8)
|
||||
|
||||
;; open vterm in dired location
|
||||
(after! vterm
|
||||
(setq vterm-buffer-name-string "vterm %s")
|
||||
|
||||
(setq-default vterm-shell (executable-find "fish"))
|
||||
(setq-default explicit-shell-file-name (executable-find "fish"))
|
||||
(setq vterm-kill-buffer-on-exit t)
|
||||
(after! meow (meow-vterm-enable))
|
||||
|
||||
;; Modify the default vterm opening behavior
|
||||
(defadvice! +vterm-use-current-directory-a (fn &rest args)
|
||||
"Make vterm open in the directory of the current buffer."
|
||||
:around #'vterm
|
||||
(let ((default-directory (or (and (buffer-file-name)
|
||||
(file-name-directory (buffer-file-name)))
|
||||
(and (eq major-mode 'dired-mode)
|
||||
(dired-current-directory))
|
||||
default-directory)))
|
||||
(apply fn args)))
|
||||
|
||||
;; Also modify Doom's specific vterm functions
|
||||
(defadvice! +vterm-use-current-directory-b (fn &rest args)
|
||||
"Make Doom's vterm commands open in the directory of the current buffer."
|
||||
:around #'+vterm/here
|
||||
(let ((default-directory (or (and (buffer-file-name)
|
||||
(file-name-directory (buffer-file-name)))
|
||||
(and (eq major-mode 'dired-mode)
|
||||
(dired-current-directory))
|
||||
default-directory)))
|
||||
(apply fn args))))
|
||||
|
||||
(defun open-vterm-in-current-context ()
|
||||
"Open vterm in the context of the current buffer/window."
|
||||
(interactive)
|
||||
(when-let ((buf (current-buffer)))
|
||||
(with-current-buffer buf
|
||||
(call-interactively #'+vterm/here))))
|
Loading…
Add table
Add a link
Reference in a new issue