Álvaro Ramírez
Emacs: quote wrap all in region
As I find myself moving more shell commands into Emacs interactive commands to create a Swift package/project, enrich dired's featureset, or search/play Music (macOS), I often need to take a single space-separated string, make an elisp list of strings, and feed it to functions like process-lines. No biggie, but I thought it'd be a fun little function to write: take the region and wrap all items in quotes. As a bonus, made it toggable.
(defun ar/toggle-quote-wrap-all-in-region (beg end) "Toggle wrapping all items in region with double quotes." (interactive (list (mark) (point))) (unless (region-active-p) (user-error "no region to wrap")) (let ((deactivate-mark nil) (replacement (string-join (mapcar (lambda (item) (if (string-match-p "^\".*\"$" item) (string-trim item "\"" "\"") (format "\"%s\"" item))) (split-string (buffer-substring beg end))) " "))) (delete-region beg end) (insert replacement)))