Make use of new evil variable evil-disable-insert-state-bindings. This is better because we are not copying evil code to get hybrid state to work. We should not need to worry about tracking upstream evil changes with this version of hybrid mode. The only effect I can think of with this change is that there is no longer a distinct hybrid-map, since there is no longer a distinct hybrid state. This means that, for example, (evil-define-key 'hybrid ...) will throw an error. You can either use (evil-define-key 'insert ...) or the preferred (global-set-key ...). The latter is preferred because the purpose of hybrid mode is to not interfere with Emacs bindings in insert state. Use post-init-evil function to load It's a bit safer than with-eval-after-load, in case evil gets loaded before its init function is called. Add entry and exit hooks Add temporary wrapper to evil-define-key This is so that calls like (evil-define-key 'hybrid ...) do not fail after switching over. Instead issue a warning for all such instances and bind using define-key instead. Also define evil-hybrid-state-map and make it the parent of evil-insert-state-map this will prevent calls like (define-key evil-hybrid-state-map ...) from failing. These are both temporary and are only intended to smooth the transition to the new version of hybrid-mode. |
||
---|---|---|
.. | ||
hybrid-mode.el |