Giter Site home page Giter Site logo

evil-owl's People

Contributors

mamapanda avatar miciah avatar tomdl89 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

evil-owl's Issues

Show register until action executed

Would it be possible to add an option for the register to show until the motion or edit is executed? This seems to be how vim-peekaboo behaves (plus highlighting the chosen register) and I think it'd go even further to prevent me forgetting what I'm about to paste. I'm willing to try implementing it myself and open a PR unless this sounds unworkable in Emacs/evil.

void-variable evil-last-=-register-input

Hello there,

I've had to disable evil-owl today because I get an error everytime I press = in evil-normal-state.

Debugger entered--Lisp error: (void-variable evil-last-=-register-input)
  evil-owl--get-register(61)
  evil-owl--register-entry-string(61)
  mapconcat(evil-owl--register-entry-string (37 35 47 58 61 46) "")
  #f(compiled-function (group) #<bytecode -0x11dd20b17c26b274>)(("Read-only" 37 35 47 58 61 46))
  mapconcat(#f(compiled-function (group) #<bytecode -0x11dd20b17c26b274>) (("Named" 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122) ("Numbered" 48 49 50 51 52 53 54 55 56 57) ("Special" 34 42 43 45) ("Read-only" 37 35 47 58 61 46)) "\n")
  evil-owl--display-string((("Named" 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122) ("Numbered" 48 49 50 51 52 53 54 55 56 57) ("Special" 34 42 43 45) ("Read-only" 37 35 47 58 61 46)) evil-owl--register-entry-string)
  evil-owl--register-display-string()
  evil-owl--eval-interactive-spec(evil-use-register evil-owl--register-display-string)
  byte-code("\300\301\302\"\207" [evil-owl--eval-interactive-spec evil-use-register evil-owl--register-display-string] 3)
  command-execute(evil-owl-use-register)

I can't find any mention of evil-last-=-register-input in evil-mode. Is there an additional package I need to install, or something I need to explicitly require, to get this variable defined?

Handle errors thrown by evil-get-register

I've just raised a PR for evil, because I noticed evil-get-register has lots of handy error messages it can throw, but it catches and ignores all of them:
emacs-evil/evil#1457
Unfortunately this fix breaks evil-owl, presumably because of the way evil-owl generates its list of registers. I assume you will want to ignore these with condition-case somehow? Lemme know when evil-owl can handle this, so I can merge the PR. Cheers!

How could I use it without posframe?

I added the suggested config to my init.el:

(use-package evil-owl
  :config
  (setq evil-owl-max-string-length 500)
  (add-to-list 'display-buffer-alist
               '("*evil-owl*"
                 (display-buffer-in-side-window)
                 (side . bottom)
                 (window-height . 0.3)))
  (evil-owl-mode))

evil-owl-mode is activated as expected, but I still don't know how to see what's inside registers. The README says:

Press q, @, ​"​, C-r, m, ​'​, or ` to view the popup, press C-f or C-b to scroll it, and input a register or mark to make the popup disappear.

But none of these works for me. I suppose these keybindings only work with posframe on?

stable release?

Is there a version of this stable enough that you could sign a tag? Then it'll appear in melpa-stable :-)

(I've encountered no bugs, so I'd vote for tagging 24c5f43 .)

Evil-owl breaks evil's pasting up from register with visual block

Hi, how are you?

I think this package helps a lot visualizing what you are doing before doing it.
Unfortunately, for me, it breaks pasting from insert with visual-block.

For example, take the block:

abc
123
123
123

Normally, since paste is also broke on evil, to insert abc between 123 I would do: yiw on abc, then C-v on the first 2, then j + j to select the lines below, capital I to enter inser mode, and finally C-R + to insert from the last register.
This would result in:

abc
1abc23
1abc23
1abc23

However, the following error message occurs when evil-owl is activated (partial):

[yank-menu kill-ring buffer-read-only gui-backend-selection-exists-p CLIPBOARD featurep ns] 2]) :help "Paste (yank) text 
most recently cut/copied" :keys #[0 "@...

And, besides the operation not being executed, it also breaks evil-normal-mode. :(

&rest is broken in wrappers

When I try a function that's wrapped by owl it fails with the following message:

Symbol's value as variable is void: &rest

I am using Emacs 26.3 with owl 20200113.405.

Golfing it down it seems as though it ought be defined without the &rest in there? Using evil-define-command with it seems to break.

I'll test it without and if it works I'll create a PR.

cannot record macro with posframe display method

minimal config:

;;; emacs -Q -l ~/.config/emacs/test.el

(package-initialize)

(require 'evil)
(require 'evil-owl)

(evil-mode)
(evil-owl-mode)
(setq evil-owl-display-method 'posframe)

Backtrace:

Debugger entered--Lisp error: (error "Attempt to delete the sole visible or iconified fr...")
  posframe-delete-frame("*evil-owl*")
  posframe-delete("*evil-owl*")
  evil-owl--hide-posframe()
  evil-owl--hide-popup()
  #<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_27>()
  evil-owl--eval-interactive-spec(evil-record-macro evil-owl--register-display-string)
  byte-code("\300\301\302\"\207" [evil-owl--eval-interactive-spec evil-record-macro evil-owl--register-display-string] 3)
  command-execute(evil-owl-record-macro)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.