emacs-evil / evil-magit

Black magic or evil keys for magit
https://github.com/justbur/evil-magit
GNU General Public License v3.0
272 stars 16 forks source link

evil-yank-line doesn't behavior correctly inside doom's magit #80

Closed akikaede6 closed 4 years ago

akikaede6 commented 4 years ago

What did you expect to happen? evil-yank-line should yank whole line in Magit mode in non-first character row, which isn't correctly inside doom.

What actually happened? yywill truncate contexts before cursor in non-first character row .

hlissner added following as workaround, but we hope there will be a upstream solution,thank you!

(after! evil-magit
  (evil-define-operator evil-magit-yank (beg end type register)
    :motion evil-line-or-visual-line
    :move-point nil
    (interactive "<R><x>")
    (evil-yank beg end type register))
  (evil-magit-define-key 'normal 'magit-mode-map "yy" #'evil-magit-yank))
(after! evil-goggles
  (pushnew! evil-goggles--commands
            '(evil-magit-yank
              :face evil-goggles-yank-face
              :switch evil-goggles-enable-yank
              :advice evil-goggles--generic-async-advice)))

This is the issue in doom-emacs. https://github.com/hlissner/doom-emacs/issues/2446 System information:

emacs   version    26.3
        features   XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD LCMS2
        build      8月 30, 2019
        buildopts  (--prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now)
        windowsys  x
        daemonp    server-running
doom    version    2.0.9
        build      HEAD -> develop, origin/develop, origin/HEAD 87b33c416 2020-01-24 19:44:53 -0500
        dir        ~/.doom.d/
system  type       gnu/linux
        config     x86_64-pc-linux-gnu
        shell      /bin/xonsh
        uname      Linux 5.3.18-1-MANJARO #1 SMP PREEMPT Wed Dec 18 18:34:35 UTC 2019 x86_64
        path       (~/.cargo/bin ~/.local/bin /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/lib/jvm/default/bin /usr/bin/site_perl /usr/bin/vendor_perl /usr/bin/core_perl /var/lib/snapd/snap/bin /usr/lib/emacs/26.3/x86_64-pc-linux-gnu/)
config  envfile    envvar-file
        elc-files  0
        modules    (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints (popup +all +defaults) vc-gutter vi-tilde-fringe window-select workspaces :editor (evil +everywhere) file-templates fold multiple-cursors rotate-text snippets :emacs dired electric ibuffer vc :checkers syntax :tools (eval +overlay) (lookup +docsets) magit :lang data emacs-lisp markdown (org +dragndrop +present) sh :config (default +bindings +smartparens))
        packages   (n/a)
        elpa       (n/a)
justbur commented 4 years ago

Thanks. Should be fixed now

hlissner commented 4 years ago
(evil-define-operator evil-magit-yank-whole-line
  (beg end type register yank-handler)
  "Yank whole line."
  :motion evil-line-or-visual-line
  (interactive "<R><x>")
  (debug)
  (evil-yank beg end type register yank-handler))

@justbur Looks like that (debug) line snuck into the commit.

justbur commented 4 years ago

Whoops, thanks. It should be fixed now.