branch: externals/avy
commit e92cb37457b43336b765630dbfbea8ba4be601fa
Author: lWarne <laurencewa...@gmail.com>
Commit: Oleh Krehel <ohwoeo...@gmail.com>

    avy.el (avy-transpose-lines-in-region): Add
    
    Fixes #317
    Fixes #310
---
 avy.el | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/avy.el b/avy.el
index 450271d84b..be2432eb65 100644
--- a/avy.el
+++ b/avy.el
@@ -2176,6 +2176,22 @@ The window scope is determined by `avy-all-windows' (ARG 
negates it)."
       (error
        (set-mark-command 4)))))
 
+;;;###autoload
+(defun avy-transpose-lines-in-region ()
+  "Transpose lines in the active region."
+  (interactive)
+  (when (and (use-region-p) (> (count-lines (region-beginning) (region-end)) 
1))
+    (let ((avy-all-windows nil)
+          (fst-line-point (avy--line nil (region-beginning) (region-end))))
+      (when fst-line-point
+        (let ((snd-line-point (avy--line nil (region-beginning) (region-end))))
+          (when snd-line-point
+            (save-mark-and-excursion
+              (push-mark fst-line-point)
+              (goto-char snd-line-point)
+              (transpose-lines 0))
+            (avy-transpose-lines-in-region)))))))
+
 ;; ** Org-mode
 (defvar org-reverse-note-order)
 (declare-function org-refile "org")

Reply via email to