branch: master commit 2e3c2f7c88e226eaa74b64180c4dd68c1b83581e Author: York Zhao <gtdplatf...@gmail.com> Commit: Oleh Krehel <ohwoeo...@gmail.com>
Add new command `avy-move-region' Fixes #75 --- avy.el | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/avy.el b/avy.el index 496dfd5..1e5ee1a 100644 --- a/avy.el +++ b/avy.el @@ -82,6 +82,7 @@ in the avy overlays." (const avy-copy-line) (const avy-copy-region) (const avy-move-line) + (const avy-move-region) (function :tag "Other command")) :value-type (repeat :tag "Keys" character))) @@ -111,6 +112,7 @@ If the commands isn't on the list, `avy-style' is used." (const avy-copy-line) (const avy-copy-region) (const avy-move-line) + (const avy-move-region) (function :tag "Other command")) :value-type (choice (const :tag "Pre" pre) @@ -1254,6 +1256,22 @@ The window scope is determined by `avy-all-windows' or (user-error "Unexpected `avy-line-insert-style'"))))))) ;;;###autoload +(defun avy-move-region () + "Select two lines and move the text between them here." + (interactive) + (avy-with avy-move-region + (let* ((beg (avy--line)) + (end (save-excursion + (goto-char (avy--line)) + (forward-line) + (point))) + (text (buffer-substring beg end)) + (pad (if (bolp) "" "\n"))) + (move-beginning-of-line nil) + (delete-region beg end) + (insert text pad)))) + +;;;###autoload (defun avy-setup-default () "Setup the default shortcuts." (eval-after-load "isearch"