From 89e738b464a53817b5b5ab473563783dd407c8bb Mon Sep 17 00:00:00 2001 From: jao Date: Wed, 10 Nov 2021 23:00:57 +0000 Subject: simpler eshell toggling and term handling --- init.org | 89 ++++++++++------------------------------------------------------ 1 file changed, 14 insertions(+), 75 deletions(-) (limited to 'init.org') diff --git a/init.org b/init.org index bde6120..a3577e8 100644 --- a/init.org +++ b/init.org @@ -1751,39 +1751,10 @@ (autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) #+end_src -*** vterm - #+begin_src emacs-lisp - (use-package vterm-toggle - :ensure t - :config - (defun jao-vterm--toggle (cd) - (interactive "P") - (if cd (vterm-toggle-cd) (vterm-toggle))) - :bind (("C-" . jao-vterm--toggle))) - - (use-package vterm - :ensure t - :config - :custom ((vterm-kill-buffer-on-exit t))) - - (use-package eshell-vterm - :ensure t - :config (eshell-vterm-mode)) - - (defun jao-exec-in-vterm (cmd bname) - (if (string-blank-p (or cmd "")) - (vterm) - (let ((vterm-shell cmd) - (vterm-kill-buffer-on-exit t) - (buff (generate-new-buffer bname))) - (switch-to-buffer buff) - (vterm-mode)))) - - #+end_src *** term #+begin_src emacs-lisp (defvar-local jao-term--cmd nil) - (defvar jao-use-vterm t) + (defvar jao-use-vterm nil) (defun jao-term--find (cmd) (seq-find (lambda (b) @@ -1951,6 +1922,19 @@ #+BEGIN_SRC emacs-lisp (add-hook 'eshell-expand-input-functions #'eshell-expand-history-references) #+END_SRC +***** Toggle + #+begin_src emacs-lisp + (use-package eshell-toggle + :ensure t + :demand t) + + (defun jao-eshell-toggle (git-root) + (interactive "P") + (let ((eshell-toggle-use-git-root git-root)) + (eshell-toggle))) + + (global-set-key (kbd "") #'jao-eshell-toggle) + #+end_src ***** Workarounds #+begin_src emacs-lisp ;; at some point, bash completion started insertig the TAB @@ -1972,51 +1956,6 @@ (jao-eshell--kbds) (add-hook 'eshell-mode-hook #'jao-eshell--kbds)) #+end_src -*** shell here - #+begin_src emacs-lisp - (defun jao-shell-here--find-window (b) - (when-let (w (seq-find (lambda (w) (eq (window-buffer w) b)) - (window-list))) - (select-window w))) - - (defun jao-shell-frame-buffer (&optional b) - (let ((p 'jao-eshell-buffer)) - (if b (set-frame-parameter nil p b) (frame-parameter nil p)))) - - (defun jao-shell--cd-here (dir) - (eshell-kill-input) - (eshell/cd dir) - (insert "\n") - (eshell-send-input)) - - (defun jao-shell-here (&optional stay) - (interactive) - (let* ((dir default-directory) - (b (jao-shell-frame-buffer))) - (jao-with-attached-buffer "^\\*eshell" 35 - (if (buffer-live-p b) - (pop-to-buffer b nil t) - (eshell) - (jao-shell-frame-buffer (current-buffer)))) - (eshell-save-some-history) - (unless stay (jao-shell--cd-here dir)))) - - (defun eshell/x () - (when (derived-mode-p 'eshell-mode) - (when (fboundp 'eshell-autojump-save) - (eshell-autojump-save)) - (eshell-save-some-history)) - (if (> (frame-height) (window-height)) (delete-window) (bury-buffer))) - - (defun jao-shell-here-toggle () - (interactive) - (if (eq (current-buffer) (jao-shell-frame-buffer)) - (eshell/x) - (jao-shell-here t))) - - (global-set-key (kbd "C-!") #'jao-shell-here) - (global-set-key [(f1)] #'jao-shell-here-toggle) - #+end_src * Version control and CI *** General options #+BEGIN_SRC emacs-lisp -- cgit v1.2.3