branch: elpa/aidermacs
commit 8ecfa8cbd71eab85ab2ede6bd0eb82e48c521e6d
Author: Mingde (Matthew) Zeng <[email protected]>
Commit: Mingde (Matthew) Zeng <[email protected]>
Restore aidermacs-send-region-by-line
Signed-off-by: Mingde (Matthew) Zeng <[email protected]>
---
aidermacs.el | 23 ++++++++++++++---------
1 file changed, 14 insertions(+), 9 deletions(-)
diff --git a/aidermacs.el b/aidermacs.el
index 91a6d31980..a0cf7b802b 100644
--- a/aidermacs.el
+++ b/aidermacs.el
@@ -221,7 +221,7 @@ This function sets up the appropriate arguments and
launches the process."
(aidermacs--setup-ediff-cleanup-hooks)
(aidermacs--setup-cleanup-hooks)
(aidermacs-setup-minor-mode)
-
+
(let* ((buffer-name (aidermacs-get-buffer-name))
;; Process extra args: split each string on whitespace.
(flat-extra-args
@@ -1046,14 +1046,19 @@ Otherwise, send the line under cursor."
(when text
(aidermacs--send-command text))))
-(defun aidermacs-send-region-by-line (start end)
- "Send the text between START and END, line by line."
- (interactive "r")
- (with-restriction start end
- (save-excursion
- (goto-char (point-min))
- (while (search-forward "^[[:space:]]*\\([^[:space:]].*\\)[[:space:]]*$"
nil t)
- (aidermacs--send-command (match-string 1))))))
+(defun aidermacs-send-region-by-line ()
+ "Send the text of the current selected region, split into lines."
+ (interactive)
+ (if (use-region-p)
+ (let* ((text (buffer-substring-no-properties
+ (region-beginning) (region-end)))
+ (lines (split-string text "\n" t)))
+ (mapc (lambda (line)
+ (let ((trimmed (string-trim line)))
+ (when (not (string-empty-p trimmed))
+ (aidermacs--send-command trimmed))))
+ lines))
+ (message "No region selected.")))
(defun aidermacs-send-block-or-region ()
"Send the current active region text or current paragraph content.