emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/avy e92cb37457 25/31: avy.el (avy-transpose-lines-in-re


From: ELPA Syncer
Subject: [elpa] externals/avy e92cb37457 25/31: avy.el (avy-transpose-lines-in-region): Add
Date: Mon, 13 Feb 2023 21:57:27 -0500 (EST)

branch: externals/avy
commit e92cb37457b43336b765630dbfbea8ba4be601fa
Author: lWarne <laurencewarne@gmail.com>
Commit: Oleh Krehel <ohwoeowho@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

[Prev in Thread] Current Thread [Next in Thread]