aboutsummaryrefslogtreecommitdiffstats
path: root/misc/ruby-additional.el
diff options
context:
space:
mode:
Diffstat (limited to 'misc/ruby-additional.el')
-rw-r--r--misc/ruby-additional.el12
1 files changed, 12 insertions, 0 deletions
diff --git a/misc/ruby-additional.el b/misc/ruby-additional.el
index 198510979e..5beecac219 100644
--- a/misc/ruby-additional.el
+++ b/misc/ruby-additional.el
@@ -157,6 +157,18 @@ Emacs to Ruby."
"Convert Unicode <-> \\u{} in the given region."
(interactive "P\nr")
(if dec (ruby-decode-unicode beg end) (ruby-encode-unicode beg end)))
+
+ (defun ruby-insert-heredoc-code-block (arg)
+ "Insert indented here document code block"
+ (interactive "P")
+ (let ((c (if arg "~" "-")))
+ (insert "\"#{<<" c "begin}#{<<" c "\"end;\"}\""))
+ (end-of-line)
+ (if (eobp) (insert "\n") (forward-char))
+ (indent-region (point)
+ (progn (insert "begin\n" "end;\n") (point)))
+ (beginning-of-line 0))
+ (define-key ruby-mode-map "\C-cH" 'ruby-insert-heredoc-code-block)
))
;; monkey-patching ruby-mode.el in Emacs 24, as r49872.