merged
authorOleksandr Gavenko <gavenkoa@gmail.com>
Sun, 27 Nov 2022 21:06:29 +0200
changeset 1760 b1f428a6944d
parent 1759 1bbd7898cc9b (current diff)
parent 1758 f02cdc92b560 (diff)
child 1761 ea34f404a5f9
merged
--- a/.emacs-my	Tue Sep 20 00:16:01 2022 +0300
+++ b/.emacs-my	Sun Nov 27 21:06:29 2022 +0200
@@ -703,6 +703,26 @@
 
 (setq term-prompt-regexp "^[^#$%>\n]*[#$%>] *")
 
+(defun my-term-send-smart ()
+  "Sends a selection or a paragraph to `term-mode'."
+  (interactive)
+  (let (beg end cmd term)
+    (if (use-region-p)
+        (setq cmd (buffer-substring (region-beginning) (region-end)))
+      (save-excursion
+        (forward-paragraph -1)
+        (setq beg (point))
+        (forward-paragraph 1)
+        (setq end (point))
+        (setq cmd (string-trim (buffer-substring beg end)))))
+    (save-window-excursion              ; term command switches buffers.
+      (term (or explicit-shell-file-name "bash"))
+      (setq term (current-buffer)))
+    (display-buffer term 'display-buffer-use-some-window)
+    (term-simple-send (get-buffer-process term) cmd)))
+
+(global-set-key (kbd "s-t") 'my-term-send-smart)
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 (message "proced")
 
@@ -981,7 +1001,8 @@
   (set-face-attribute 'region nil :background "light blue"))
 
 (setq select-enable-clipboard t)
-(setq select-enable-primary t)
+(unless (eq window-system 'w32)
+  (setq select-enable-primary t))
 (setq save-interprogram-paste-before-kill nil)
 
 (when (fboundp 'er/expand-region)