[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/speedrect 1e897cc0d5 76/90: copy-rectangle-as-text
From: |
ELPA Syncer |
Subject: |
[elpa] externals/speedrect 1e897cc0d5 76/90: copy-rectangle-as-text |
Date: |
Fri, 6 Dec 2024 18:59:18 -0500 (EST) |
branch: externals/speedrect
commit 1e897cc0d5f61de84edc498ffff9c314af0937d9
Author: JD Smith <93749+jdtsmith@users.noreply.github.com>
Commit: JD Smith <93749+jdtsmith@users.noreply.github.com>
copy-rectangle-as-text
---
speedrect.el | 43 ++++++++++++++++++++++++++++++++-----------
1 file changed, 32 insertions(+), 11 deletions(-)
diff --git a/speedrect.el b/speedrect.el
index 257a9c9b9d..5f33637a5d 100644
--- a/speedrect.el
+++ b/speedrect.el
@@ -225,6 +225,16 @@ inserted text."
(move-to-column col)
(mc/edit-lines)))))
+(defun speedrect-copy-rectangle-as-text ()
+ "Copy the current rectangle to the kill ring as normal text."
+ (interactive)
+ (let ((rect (apply #'extract-rectangle
+ (if (< (point) (mark))
+ (list (point) (mark))
+ (list (mark) (point))))))
+ (kill-new (string-join rect "\n"))
+ (message "Copied rectangle as %d lines" (length rect))))
+
(defun speedrect-fill-text (width)
"Fill text in the rectangle to the given WIDTH."
(interactive
@@ -279,7 +289,8 @@ inserted text."
" [c] clear clear rectangle area by overwriting with spaces\n"
" [r] rest delete the rest of the columns, keeping the
marked rectangle\n\n"
"Copy/Yank:\n\n"
- " [w] copy copy rectangle for future yanking\n"
+ " [w] copy copy rectangle for future rectangle yanking\n"
+ " [W] copy copy rectangle to kill ring as normal text\n"
" [y] yank yank rectangle, inserting at point\n\n"
"Shift Rectangle (can use numeric prefixes):\n\n"
" [S-left] move the rectangle left\n"
@@ -301,8 +312,8 @@ inserted text."
" [:] down sum down the columns and grab result in calc\n"
" [m] yank-mat yank matrix from top of calc stack, overwriting
selected rect\n\n"
"Etc:\n\n"
- " [f] fill text within rectangle (prefix to prompt fill width)\n"
- " [M] multiple-cursors add cursors at current column\n"
+ " [f] fill fill text within rectangle (prefix to prompt fill
width)\n"
+ " [M] multiple-cursors add cursors at current column\n"
" [?] help view this Help buffer\n"
" [q] quit exit rectangle-mark-mode"))
(princ l))))
@@ -341,11 +352,17 @@ prior to deactivating mark."
(cl-loop
for (key def wrap) in
'(;; Rectangle basics
- ("k" kill-rectangle after) ("t" string-rectangle after)
- ("o" open-rectangle t) ("w" copy-rectangle-as-kill t)
- ("y" speedrect-yank-rectangle-dwim t) ("c" clear-rectangle t)
- ("d" delete-rectangle after) ("N" rectangle-number-lines t)
- ("r" speedrect-delete-rest after) ("SPC" delete-whitespace-rectangle t)
+ ("k" kill-rectangle after)
+ ("t" string-rectangle after)
+ ("o" open-rectangle t)
+ ("w" copy-rectangle-as-kill t)
+ ("W" speedrect-copy-rectangle-as-text)
+ ("y" speedrect-yank-rectangle-dwim t)
+ ("c" clear-rectangle t)
+ ("d" delete-rectangle after)
+ ("N" rectangle-number-lines t)
+ ("r" speedrect-delete-rest after)
+ ("SPC" delete-whitespace-rectangle t)
("x" rectangle-exchange-point-and-mark)
;; Shift rect
("S-<right>" speedrect-shift-right)
@@ -357,13 +374,17 @@ prior to deactivating mark."
("M-S-<up>" speedrect-shift-up-fast)
("M-S-<down>" speedrect-shift-down-fast)
;; Calc commands
- ("_" calc-grab-sum-across) (":" calc-grab-sum-down) ("#"
calc-grab-rectangle)
+ ("_" calc-grab-sum-across)
+ (":" calc-grab-sum-down)
+ ("#" calc-grab-rectangle)
("m" speedrect-yank-from-calc after)
;; Special
- ("n" speedrect-restart) ("l" speedrect-recall-last)
+ ("n" speedrect-restart)
+ ("l" speedrect-recall-last)
("f" speedrect-fill-text after)
("M" speedrect-multiple-cursors)
- ("?" speedrect-transient-map-info) ("q" speedrect-quit))
+ ("?" speedrect-transient-map-info)
+ ("q" speedrect-quit))
for bind = (if wrap (speedrect--wrap-command def (eq wrap 'after)) def)
do (define-key rectangle-mark-mode-map (kbd key) bind))
(put 'rectangle-mark-mode-map 'speedrect t))
- [elpa] externals/speedrect 540dc4e790 58/90: Update README.md, (continued)
- [elpa] externals/speedrect 540dc4e790 58/90: Update README.md, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 0f00af4c67 62/90: docstring tweak, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 6982a08d25 11/90: doc: open uses tabs/spaces, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 7bb4633c90 29/90: Update README.md, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect b743b42208 55/90: Add x:corners and M:multiple-cursors support, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 85b281d045 61/90: f - fill-text in rectangle, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 6886e5c604 66/90: Update README.md, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 932d983f02 65/90: Document fill, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 1e1b713d65 57/90: Update README.md, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 3e981896f1 71/90: Bump version, require Emacs v29.1, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 1e897cc0d5 76/90: copy-rectangle-as-text,
ELPA Syncer <=
- [elpa] externals/speedrect a8015aea6f 79/90: Bump version, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect c068c528e3 69/90: Update README.md, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect ed85814e48 72/90: help: correct typo, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 94ed5cbc6c 80/90: README NEWS, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 874f0be40c 81/90: calc: allow mismatched rect/vector heights with warning + format, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 040d12b907 83/90: Update README.md, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 2b864a4a41 86/90: Proposed for ELPA: speedrect, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect 463aae4f1b 78/90: Update README.md, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect bae04ed3a3 67/90: amalgamate fill changes, ELPA Syncer, 2024/12/06
- [elpa] externals/speedrect ce32628339 73/90: Update README.md, ELPA Syncer, 2024/12/06