Add a function to easily swap strings in a file
This commit is contained in:
parent
dbe501a258
commit
489591702b
@ -49,6 +49,28 @@ DELIMITED, START, and END are passed down verbatim to `perform-replace'."
|
|||||||
,from-string))
|
,from-string))
|
||||||
t t delimited nil nil start end))
|
t t delimited nil nil start end))
|
||||||
|
|
||||||
|
;; From https://emacs.stackexchange.com/a/27170/507
|
||||||
|
(defun query-swap-strings (from-string to-string &optional delimited start end)
|
||||||
|
"Swap occurrences of FROM-STRING and TO-STRING.
|
||||||
|
|
||||||
|
DELIMITED, START, and END are passed to `replace-eval-replacement' verbatim."
|
||||||
|
(interactive
|
||||||
|
(let ((common
|
||||||
|
(query-replace-read-args
|
||||||
|
(concat "Query swap"
|
||||||
|
(if current-prefix-arg
|
||||||
|
(if (eq current-prefix-arg '-) " backward" " word")
|
||||||
|
"")
|
||||||
|
(if (use-region-p) " in region" ""))
|
||||||
|
nil)))
|
||||||
|
(list (nth 0 common) (nth 1 common) (nth 2 common)
|
||||||
|
(if (use-region-p) (region-beginning))
|
||||||
|
(if (use-region-p) (region-end)))))
|
||||||
|
(perform-replace
|
||||||
|
(concat "\\(" (regexp-quote from-string) "\\)\\|" (regexp-quote to-string))
|
||||||
|
`(replace-eval-replacement replace-quote (if (match-string 1) ,to-string ,from-string))
|
||||||
|
t t delimited nil nil start end))
|
||||||
|
|
||||||
(provide 'text-manip)
|
(provide 'text-manip)
|
||||||
|
|
||||||
;;; text-manip.el ends here
|
;;; text-manip.el ends here
|
||||||
|
Loading…
Reference in New Issue
Block a user