~ruther/emacs.d

80946b0c2726bbf4dc7374894dd5bfd3fd4c8f68 — Rutherther 11 days ago f146308
feat: switch from vterm to eat
1 files changed, 16 insertions(+), 28 deletions(-)

M init.el
M init.el => init.el +16 -28
@@ 520,10 520,6 @@
              (side . right)
              (window-width . 0.33)))

  (add-to-list 'display-buffer-alist
            '("\\*vterm\\*" nil
              (dedicated . t)))

  (defun switch-to-minibuffer ()
    "Switch to minibuffer window."
    (interactive)


@@ 554,7 550,7 @@
     "Output\\*$"
     "\\*Async Shell Command\\*"
     ;; "^\\*Embark Collect: "
     "\\*vterm\\*"
     "\\(?:\\*-eat\\*\\|.*eat\\*\\)"
     "\\*jupyter-repl"
     "\\*jupyter-error\\*"
     "\\*Python\\*"


@@ 740,7 736,6 @@
     (project-find-file "Find file" "f")
     (consult-ripgrep-all "Search" "s")
     (project-dired "Dired" "d")
     ;; (vterm-toggle "Vterm" "v") ;; TODO: make sure it opens inside of the project!
     (my/magit-current-window "Magit" "m"))) :general
  (my-leader
    "p" '(:keymap project-prefix-map :wk "Project"))


@@ 986,32 981,25 @@
  :config
  (global-anzu-mode +1))

;; Vterm
(my-use-package vterm
  :ensure nil ; I don't know why, but if this is used through guix-emacs, with vterm already available, it asks for the module compilation if ti his t...
  :demand t ; Prevents asking for vterm module in guix-emacs
  :config
  (add-to-list 'vterm-eval-cmds '("update-pwd" (lambda (path) (setq default-directory path))))

  (push (list "find-file-below"
            (lambda (path)
              (if-let* ((buf (find-file-noselect path))
                        (window (display-buffer-below-selected buf nil)))
                  (select-window window)
                (message "Failed to open file: %s" path))))
      vterm-eval-cmds))

(my-use-package vterm-toggle
(my-use-package eat
  :ensure t
  :after vterm
  :commands vterm-toggle
  :commands eat
  :init
  (defun eat-toggle ()
    (interactive)
    (if (string-match-p "\\(?:\\*-eat\\*\\|.*eat\\*\\)" (buffer-name))
        (delete-window)
      (eat-project)))
  :custom
  (vterm-toggle-scope 'project)
  (vterm-toggle-project-root t)
  (eat-enable-auto-line-mode t)
  :general
  (my-leader
    "t t" '(vterm-toggle :wk "Toggle terminal")
    "t T" '(vterm :wk "Open terminal")))
    "t t" '(eat-toggle :wk "Toggle terminal")
    "t T" '(eat :project "Open terminal")
    "t p" '(eat-project :wk "Open project terminal")
    "t l" '(eat-line-mode :wk "Eat Line mode")
    "t c" '(eat-char-mode :wk "Eat Line mode")
    "t s" '(eat-semi-char-mode :wk "Eat Line mode")))

;; MMM mode
;; (my-use-package mmm-mode

Do not follow this link