Function: ruby-toggle-string-quotes
ruby-toggle-string-quotes is an interactive and byte-compiled function
defined in ruby-mode.el.gz.
Signature
(ruby-toggle-string-quotes)
Documentation
Toggle string literal quoting between single and double.
Key Bindings
Source Code
;; Defined in /usr/src/emacs/lisp/progmodes/ruby-mode.el.gz
(defun ruby-toggle-string-quotes ()
"Toggle string literal quoting between single and double."
(interactive)
(when (ruby-string-at-point-p)
(let* ((region (ruby--string-region))
(min (nth 0 region))
(max (nth 1 region))
(string-quote (ruby--inverse-string-quote (buffer-substring-no-properties min (1+ min))))
(content
(buffer-substring-no-properties (1+ min) (1- max))))
(setq content
(if (equal string-quote "'")
(string-replace "\\\"" "\"" (replace-regexp-in-string "\\(\\`\\|[^\\]\\)'" "\\1\\\\'" content))
(string-replace "\\'" "'" (replace-regexp-in-string "\\(\\`\\|[^\\]\\)\"" "\\1\\\\\"" content))))
(let ((orig-point (point)))
(delete-region min max)
(insert
(format "%s%s%s" string-quote content string-quote))
(goto-char orig-point)))))