I'm not too familiar with elisp, and am trying to learn. In emacs, I'd like to be able to do the following:
Have that highlighted text change to be "plot(highlighted text)". That is, I'd like to wrap the highlited text with parentheses and precede it with the text I input.
(defun wrap-text ()
)
I suppose the input of the function would be the highlighted text, but I don't know where to start looking. The other hard part would be the input text part. Could someone guide me? Thanks.
For your case, this should work:
(defun wrap-text (b e txt)
"simple wrapper"
(interactive "r\nMEnter text to wrap with: ")
(save-restriction
(narrow-to-region b e)
(goto-char (point-min))
(insert txt)
(insert "(")
(goto-char (point-max))
(insert ")")))
(global-set-key (kbd "C-x M-w") 'wrap-text)
Something a bit closer to your version, but with some changes :
Here is an example :
(defun wrap-in-function ()
"Wrap marked region with a specified PREFIX and closing parentheses."
(interactive)
(let ((prefix (read-from-minibuffer "function: ")))
(save-excursion
(goto-char (region-beginning))
(insert (concat prefix "(")))
(save-excursion
(goto-char (region-end))
(insert ")"))))
Another difference between the two versions is the position of the point after you called the function ; trey version might be better to use (matter of taste).
EDIT : edited following vinh remarks.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With