aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Gutov2016-01-21 00:26:05 +0300
committerDmitry Gutov2016-01-21 00:26:38 +0300
commit6a9399f7fd3ea6f4eaa0c6ceee92308553fadd39 (patch)
tree2e3da69e41f0c6a82c2fbbfe736ce79835b201cf
parent4db94245d014d12ca2964d4c15c31ec3f8dabb76 (diff)
downloademacs-6a9399f7fd3ea6f4eaa0c6ceee92308553fadd39.tar.gz
emacs-6a9399f7fd3ea6f4eaa0c6ceee92308553fadd39.zip
Support squiggly heredocs in ruby-mode
* lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re): Support squiggly heredocs added in Ruby 2.3. * test/indent/ruby.rb: Add squiggly example.
-rw-r--r--lisp/progmodes/ruby-mode.el2
-rw-r--r--test/indent/ruby.rb4
2 files changed, 5 insertions, 1 deletions
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 53f8a6bb4c0..e3fe315f3bd 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -102,7 +102,7 @@
102 102
103(eval-and-compile 103(eval-and-compile
104 (defconst ruby-here-doc-beg-re 104 (defconst ruby-here-doc-beg-re
105 "\\(<\\)<\\(-\\)?\\(\\([a-zA-Z0-9_]+\\)\\|[\"]\\([^\"]+\\)[\"]\\|[']\\([^']+\\)[']\\)" 105 "\\(<\\)<\\([~-]\\)?\\(\\([a-zA-Z0-9_]+\\)\\|[\"]\\([^\"]+\\)[\"]\\|[']\\([^']+\\)[']\\)"
106 "Regexp to match the beginning of a heredoc.") 106 "Regexp to match the beginning of a heredoc.")
107 107
108 (defconst ruby-expression-expansion-re 108 (defconst ruby-expression-expansion-re
diff --git a/test/indent/ruby.rb b/test/indent/ruby.rb
index dec6de98605..dfd1c75a679 100644
--- a/test/indent/ruby.rb
+++ b/test/indent/ruby.rb
@@ -4,6 +4,10 @@ if something_wrong? # ruby-move-to-block-skips-heredoc
4 end 4 end
5 eowarn 5 eowarn
6 foo 6 foo
7
8 foo(<<~squiggly)
9 end
10 squiggly
7end 11end
8 12
9def foo 13def foo