mirror of
https://github.com/abo-abo/avy.git
synced 2025-10-13 05:23:05 +00:00
copy/move line to an initial window
This commit is contained in:
parent
212a132d5f
commit
15d0679385
74
avy.el
74
avy.el
@ -1117,47 +1117,51 @@ Otherwise, forward to `goto-line' with ARG."
|
||||
"Copy a selected line above the current line.
|
||||
ARG lines can be used."
|
||||
(interactive "p")
|
||||
(avy-with avy-copy-line
|
||||
(let* ((start (avy--line))
|
||||
(str (buffer-substring-no-properties
|
||||
start
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
(move-end-of-line arg)
|
||||
(point)))))
|
||||
(cond ((eq avy-line-insert-style 'above)
|
||||
(beginning-of-line)
|
||||
(save-excursion
|
||||
(insert str "\n")))
|
||||
((eq avy-line-insert-style 'below)
|
||||
(end-of-line)
|
||||
(insert "\n" str)
|
||||
(beginning-of-line))
|
||||
(t
|
||||
(user-error "Unexpected `avy-line-insert-style'"))))))
|
||||
(let ((initial-window (selected-window)))
|
||||
(avy-with avy-copy-line
|
||||
(let* ((start (avy--line))
|
||||
(str (buffer-substring-no-properties
|
||||
start
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
(move-end-of-line arg)
|
||||
(point)))))
|
||||
(select-window initial-window)
|
||||
(cond ((eq avy-line-insert-style 'above)
|
||||
(beginning-of-line)
|
||||
(save-excursion
|
||||
(insert str "\n")))
|
||||
((eq avy-line-insert-style 'below)
|
||||
(end-of-line)
|
||||
(insert "\n" str)
|
||||
(beginning-of-line))
|
||||
(t
|
||||
(user-error "Unexpected `avy-line-insert-style'")))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun avy-move-line (arg)
|
||||
"Move a selected line above the current line.
|
||||
ARG lines can be used."
|
||||
(interactive "p")
|
||||
(avy-with avy-move-line
|
||||
(let ((start (avy--line)))
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
(kill-whole-line arg))
|
||||
(cond ((eq avy-line-insert-style 'above)
|
||||
(beginning-of-line)
|
||||
(save-excursion
|
||||
(insert
|
||||
(current-kill 0))))
|
||||
((eq avy-line-insert-style 'below)
|
||||
(end-of-line)
|
||||
(newline)
|
||||
(save-excursion
|
||||
(insert (substring (current-kill 0) 0 -1))))
|
||||
(t
|
||||
(user-error "Unexpected `avy-line-insert-style'"))))))
|
||||
(let ((initial-window (selected-window)))
|
||||
(avy-with avy-move-line
|
||||
(let ((start (avy--line)))
|
||||
(save-excursion
|
||||
(goto-char start)
|
||||
(kill-whole-line arg))
|
||||
(select-window initial-window)
|
||||
(cond ((eq avy-line-insert-style 'above)
|
||||
(beginning-of-line)
|
||||
(save-excursion
|
||||
(insert
|
||||
(current-kill 0))))
|
||||
((eq avy-line-insert-style 'below)
|
||||
(end-of-line)
|
||||
(newline)
|
||||
(save-excursion
|
||||
(insert (substring (current-kill 0) 0 -1))))
|
||||
(t
|
||||
(user-error "Unexpected `avy-line-insert-style'")))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun avy-copy-region (arg)
|
||||
|
Loading…
x
Reference in New Issue
Block a user