Add eval-and-replace support to evil-mc
And refactor evil-mc-custom-known-commands init
This commit is contained in:
parent
c7513e4135
commit
c3be74139a
2 changed files with 23 additions and 11 deletions
|
@ -120,3 +120,12 @@ FLAGS can be g and/or i; which mean the same thing they do in
|
||||||
:key #'evil-mc-get-cursor-start))
|
:key #'evil-mc-get-cursor-start))
|
||||||
(message "No cursors to undo in region"))
|
(message "No cursors to undo in region"))
|
||||||
(evil-mc-undo-last-added-cursor)))
|
(evil-mc-undo-last-added-cursor)))
|
||||||
|
|
||||||
|
|
||||||
|
;;;###autoload (autoload '+multiple-cursors-execute-default-operator-fn "editor/multiple-cursors/autoload/evil-mc" nil t)
|
||||||
|
|
||||||
|
(after! evil-mc
|
||||||
|
(evil-mc-define-handler +multiple-cursors-execute-default-operator-fn ()
|
||||||
|
:cursor-clear region
|
||||||
|
(evil-mc-with-region-or-execute-macro region t
|
||||||
|
(funcall (evil-mc-get-command-name) region-start region-end))))
|
||||||
|
|
|
@ -64,23 +64,26 @@
|
||||||
;; Whitelist more commands
|
;; Whitelist more commands
|
||||||
(dolist (fn '((delete-char)
|
(dolist (fn '((delete-char)
|
||||||
(backward-kill-word)
|
(backward-kill-word)
|
||||||
|
(undo-fu-only-undo . evil-mc-execute-default-undo)
|
||||||
|
(undo-fu-only-redo . evil-mc-execute-default-redo)
|
||||||
(company-complete-common . evil-mc-execute-default-complete)
|
(company-complete-common . evil-mc-execute-default-complete)
|
||||||
(doom/backward-to-bol-or-indent . evil-mc-execute-default-call)
|
(doom/backward-to-bol-or-indent . evil-mc-execute-default-call)
|
||||||
(doom/forward-to-last-non-comment-or-eol . evil-mc-execute-default-call)
|
(doom/forward-to-last-non-comment-or-eol . evil-mc-execute-default-call)
|
||||||
|
;; :editor evil
|
||||||
(evil-delete-back-to-indentation . evil-mc-execute-default-call)
|
(evil-delete-back-to-indentation . evil-mc-execute-default-call)
|
||||||
;; Have evil-mc work with explicit `evil-escape' (on C-g)
|
(evil-escape . evil-mc-execute-default-evil-normal-state) ; C-g
|
||||||
(evil-escape . evil-mc-execute-default-evil-normal-state)
|
(evil-numbers/inc-at-pt-incremental)
|
||||||
;; Add `evil-org' support
|
(evil-numbers/dec-at-pt-incremental)
|
||||||
|
;; :tools eval commands
|
||||||
|
(+eval:replace-region . +multiple-cursors-execute-default-operator-fn)
|
||||||
|
;; :lang org
|
||||||
(evil-org-delete . evil-mc-execute-default-evil-delete)
|
(evil-org-delete . evil-mc-execute-default-evil-delete)
|
||||||
(evil-org-delete-char . evil-mc-execute-default-evil-delete)
|
(evil-org-delete-char . evil-mc-execute-default-evil-delete)
|
||||||
(evil-org-delete-backward-char . evil-mc-execute-default-evil-delete)
|
(evil-org-delete-backward-char . evil-mc-execute-default-evil-delete)))
|
||||||
;; `evil-numbers'
|
(setf (alist-get (car fn) evil-mc-custom-known-commands)
|
||||||
(evil-numbers/inc-at-pt-incremental)
|
(list (cons :default
|
||||||
(evil-numbers/dec-at-pt-incremental)))
|
(or (cdr fn)
|
||||||
(cl-pushnew `(,(car fn) (:default . ,(or (cdr fn) #'evil-mc-execute-default-call-with-count)))
|
#'evil-mc-execute-default-call-with-count)))))
|
||||||
evil-mc-custom-known-commands
|
|
||||||
:test #'eq
|
|
||||||
:key #'car))
|
|
||||||
|
|
||||||
;; HACK Allow these commands to be repeated by prefixing them with a numerical
|
;; HACK Allow these commands to be repeated by prefixing them with a numerical
|
||||||
;; argument. See gabesoft/evil-mc#110
|
;; argument. See gabesoft/evil-mc#110
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue