aboutsummaryrefslogtreecommitdiff
path: root/evil-core.el
AgeCommit message (Collapse)Author
2022-04-30Bump version to 1.14.21.14.2stablerelease-1.14Tom Dalziel
2022-04-25Bump version to 1.14.11.14.1Tom Dalziel
2021-06-15evil-core: refactored `evil-get-auxiliary-keymap` (#1478)Lucius Hu
* evil-core: refactored `evil-get-auxiliary-keymap` In `evil-get-auxilliary-keymap`, there's already a check on `state` when entering the function. Should `state` be `nil`, it won't enter the `let*` form. Hence the binding specification `(aux (if state (lookup-key map key) map))` always reduces to `(aux (lookup-key map key))` This commit removed unnecessary `if` form. * minor changes
2021-01-09Add missing indent declaration to evil-define-key*David Wilson
2020-04-17fix evil-send-localleaderYunhao Zhao
2020-03-04Bump version to 1.14.01.14.0Eivind Fonn
2020-02-24fix evil-define-state :exit-hook typosergey
2020-02-22Deprecate evil-add-to-alist, which doesn't work with lexicalEivind Fonn
2020-02-03Clean up compilation warnings from lexical bindingEivind Fonn
2020-01-29Re-enable lexical bindingEivind Fonn
This reverts commit e9391ae769bee189ef6144b8861b117d5c948a80, and removes spurious debug messages.
2020-01-28Revert "Enable lexical binding"Eivind Fonn
This reverts commit c6086a7b0b44963071096e3ed7545f617de88915.
2020-01-28Enable lexical bindingEivind Fonn
2020-01-13Revert "Enable undo-tree-mode only when evil-mode is turned on"Eivind Fonn
2020-01-13Enable undo-tree-mode only when evil-mode is turned onEivind Fonn
2019-12-31Docs: fix use of \\[...] to display key sequencesEivind Fonn
2019-12-30Different mode line tags per visual state typeEivind Fonn
Fix #1180
2019-12-21Document leader key functionalityEivind Fonn
2019-12-19Improve some docstringsEivind Fonn
2019-12-18Bump version to 1.13.0Eivind Fonn
Version 1.2.15 was accidentally tagged as 1.12.15, and released as such by MELPA Stable, so now I guess we have to run with it.
2019-12-11Bump version to 1.3.0-snapshotEivind Fonn
2019-12-11Bump version to 1.2.151.2.15Eivind Fonn
2019-11-29evil-core.el: Add <leader> functionalityJustin Burkett
Add evil-send-leader and evil-send-localleader which will push the symbol <leader> or <localleader> into the unread-command-events list. This allows one to bind a key to evil-send-leader to make it a leader key and activate bindings like the following. (defun hi () (interactive) (message "hi")) (define-key evil-normal-state-map (kbd "<leader> h") 'hi) For convenience, evil-set-leader can be used as follows (evil-set-leader 'normal (kbd "C-c")) An optional argument makes it a localleader.
2019-11-19Declare documentation stringsAlexander Shukaev
2019-01-04Bump version to 1.2.141.2.14Eivind Fonn
2019-01-03Clarify docstring for evil-set-initial-stateEivind Fonn
2018-09-11Add option to enable Evil in minibuffer(s)Alexander Shukaev
2018-04-08Use local-variable-p instead of assqAaron Jensen
assq uses more memory for some reason. See #1037
2018-03-20Merge pull request #1013 from noctuid/intercept-auxVasilij Schneidermann
Allow auxiliary maps to be intercept maps
2018-03-07Use string-match-p when possibleRudi Grinberg
In some situations, we don't use the match data. So we might as well not capture it.
2018-01-25Teach evil-initial-state about parent modesJustin Burkett
Previously this was done in evil-initial-state-for-buffer, but it's easier to recursively follow all parent branches (including those from aliases) within evil-initial-state.
2018-01-25Throw error on circular major-mode parent referenceJustin Burkett
2018-01-25Use initial states of parent major modesJustin Burkett
Teach evil-initial-state to look at aliases for a mode when they exist and to handle nil for modes Search parent modes (and their aliases) for defined initial states in evil-initial-state-for-buffer. One effect is that (evil-set-initial-state 'special-mode 'motion) now makes motion state the default for all major modes that derive from special mode and don't have defaults set for them.
2018-01-08Allow auxiliary maps to be intercept mapsnoctuid
2017-11-26Merge branch 'noctuid-evil-define-key-ignore-parent'Vasilij Schneidermann
2017-11-26Handle errors in key definitions in evil-define-keyJustin Burkett
Because we delay some bindings using after-load-functions, definitions that throw errors such as (evil-define-key* 'normal emacs-lisp-mode-map "a" blah) become very disruptive. To deal with this situation, wrap the definition in condition-case-unless-debug so that we only print a warning message.
2017-11-26Improve handling of nil state in evil-define-keyJustin Burkett
Give it a meaning when KEYMAP is global or local. Explicitly mention this in the docstrings of evil-define-key and evil-define-key*.
2017-11-23Always create new auxiliary map in evil-define-key*noctuid
If the parent keymap already has an auxiliary keymap, ignore it. For example, if the user attempted to bind a key in emacs-lisp-mode-map before this commit, evil-define-key* could define the key in the corresponding auxiliary keymap in lisp-shared-mode-map instead of creating a new auxiliary keymap in emacs-lisp-mode-map. This resulted in keys bound in emacs-lisp-mode-map with evil-define-key potentially being bound in other keymaps that inherit from lisp-shared-mode-map (e.g. lisp-mode-map). Addresses #709.
2017-11-21Generalize use of KEYMAP in evil-define-keyJustin Burkett
In evil-define-key, allow keymap to be 'global, 'local or some other quoted symbol, which is assumed to be a minor mode. Using 'global, corresponds to making a global binding in the corresponding global evil keymap (similar to evil-global-set-key). Using 'local, corresponds to making a local binding in the corresponding local evil keymap (similar to evil-local-set-key). Any other quoted symbol is assumed to be the name of a minor mode, and the binding is dispatched to evil-define-minor-mode-key. Make evil-define-key* support global and local symbols. Allow a list of states in evil-define-minor-mode-key. This makes evil-define-key serve as a general keybinding function.
2017-11-06Add interactive argument to evil-mode autoloadFice T
See #733
2017-10-02update version to 1.2.131.2.13Eivind Fonn
2017-06-24Use evil-esc in minibuffersJames Nguyen
This avoids having to input ESC ESC ESC in Terminals when trying to exit out of Minibuffer/Ivy/Helm/etc. Can then write something like this for Ivy to escape out. (eval-after-load 'evil (lambda () (define-key ivy-minibuffer-map [escape] 'minibuffer-keyboard-quit)))
2017-02-15Remove support for Emacs < 24Eivind Fonn
2016-05-25evil-core.el: Fix evil-define-key macro expansionjustbur
Introduced by previous commit
2016-05-25evil-core.el: Factor function out of evil-define-keyjustbur
and into a new function evil-define-key*. evil-define-key* tries bind the keys on invocation which leads to more predictable behavior. For example, if there is a typo in the keymap then using evil-define-key will never bind its keys, whereas evil-define-key* will signal an error right away. It is also a function instead of a macro which is much more predictable inside of loops and functions when the file is compiled and the macros are expanded.
2016-05-19evil-core.el: Allow list of states in evil-define-keyjustbur
Support a common pattern of putting the same binding in multiple states and avoid difficulties with using evil-define-key inside of a dolist loop due to it being a macro.
2016-04-11evil-core.el: Add ignore-parent option to get-auxiliary-keymapjustbur
Without this if there is an auxiliary keymap in the parent map it gets used automatically, which may not be what you want. This option allows you to create a keymap in the passed map if it doesn't exist (even if it exists in the parent).
2016-04-05Merge stableFrank Fischer
2016-04-05update version to 1.2.121.2.12Frank Fischer
2016-03-24Indent evil-define-minor-mode-key like evil-define-keyjustbur
2016-03-20Ensure autoload of `evil-mode` loads evil.el (fix #642)Frank Fischer