diff options
author | jao <jao@gnu.org> | 2021-11-10 23:00:57 +0000 |
---|---|---|
committer | jao <jao@gnu.org> | 2021-11-10 23:02:11 +0000 |
commit | 89e738b464a53817b5b5ab473563783dd407c8bb (patch) | |
tree | c1029148d9db1d840aa82d341c3df02f2c908b71 /init.org | |
parent | ae067465ab06850da8764cd29e34884c0331cb92 (diff) | |
download | elibs-89e738b464a53817b5b5ab473563783dd407c8bb.tar.gz elibs-89e738b464a53817b5b5ab473563783dd407c8bb.tar.bz2 |
simpler eshell toggling and term handling
Diffstat (limited to 'init.org')
-rw-r--r-- | init.org | 89 |
1 files changed, 14 insertions, 75 deletions
@@ -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-<f3>" . 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 "<f1>") #'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 |