meow-edit / meow

Yet another modal editing on Emacs / 猫态编辑
GNU General Public License v3.0
1.07k stars 128 forks source link

Feature Request: Shim for Eat #505

Closed jgarte closed 1 month ago

jgarte commented 8 months ago

https://elpa.nongnu.org/nongnu/eat.html

Eat needs a shim 😹

DogLooksGood commented 8 months ago

I just tried eat, it works weird with my emacs config. Even though in insert mode, the backspace doesn't work properly, is this expected?

jgarte commented 8 months ago

Hi,

Why does the backspace not work properly? What does it do instead of what you expect?

jgarte commented 7 months ago

Should eat be added to this list and starting in motion state?

https://github.com/meow-edit/meow/blob/master/meow-var.el#L183C22-L183C22

meow-mode-state-list

DogLooksGood commented 7 months ago

No, terminal and repl should use normal state .

jgarte commented 7 months ago

terminal and repl should use normal state .

Right, I realize where there might be an issue then.

Eat starts in semi-char mode instead of emacs-mode:

https://codeberg.org/akib/emacs-eat#headline-1

jgarte commented 7 months ago

@DogLooksGood It would be great if you could dogfood eat for a while with meow. I realize that this might be a tall ask if your not interested in using eat.

Are you interested in using eat?

DogLooksGood commented 7 months ago

I'll take a time to look at this issue even though I think I'm not interested in using terminal in Emacs.

jgarte commented 7 months ago

I'll take a time to look at this issue even though I think I'm not interested in using terminal in Emacs.

Cool, thanks. Much appreciated!

What terminal do you use BTW?

DogLooksGood commented 7 months ago

I use wezTerm and I use the layout feature of zellij to start multiple tasks in same tab.

jgarte commented 7 months ago

Cool! I'm thinking of giving wezTerm another try now, maybe with zellij.

DogLooksGood commented 1 month ago
(defun eat-meow-setup ()
  (add-hook 'meow-normal-mode-hook 'eat-emacs-mode nil t)
  (add-hook 'meow-insert-mode-hook
            (lambda ()
              (goto-char (point-max))
              (eat-char-mode))
            nil
            t))

(with-eval-after-load "eat"
  ;; Replace semi-char mode with emacs mode
  (advice-add 'eat-semi-char-mode :after 'eat-emacs-mode)
  (add-hook 'eat-mode-hook 'eat-emacs-mode)
  (add-hook 'eat-mode-hook 'eat-meow-setup))

It works well except I didn't find a better way to set EAT's default mode to eat-emacs-mode.

jgarte commented 1 month ago

@DogLooksGood What are your thoughts on eat versus the wezterm and zellij workflow that you've been using?

Do you still prefer the latter?

I'm curious because I recently started learning zellij.

DogLooksGood commented 1 month ago

I'm still using zellij workflow, it's very good.

zetashift commented 1 month ago

How does pasting something in an eat buffer work? It says the buffer is read only when pressing y which I believe is meow-yank? And C-y or M-y don't do nothing.

I'm curious because I recently started learning zellij. Funnily I'm coming from zellij! I didn't need such power for a few things and Emacs + just with eat could be a great combo

DogLooksGood commented 4 weeks ago

@zetashift Just bind all the eat commands you care about.

(defun meomacs-eat-meow-setup ()
  (add-hook 'meow-normal-mode-hook 'eat-emacs-mode nil t)
  (add-hook 'meow-insert-mode-hook 'eat-char-mode nil t))

(with-eval-after-load "eat"
  (define-key eat-char-mode-map (kbd "C-y") 'eat-yank)
  ;; Replace semi-char mode with emacs mode
  (advice-add 'eat-semi-char-mode :after 'eat-emacs-mode)
  (add-hook 'eat-mode-hook 'meomacs-eat-meow-setup))