Allow regular expressions after ": "
BUG: 361875
Previously, after text: , []: or $text=: regular expressions weren't highlighted (the check_div_1 context prevents highlighting regex, similar to NoRegExp context in "javascript.xml"). Regular expressions are allowed there, so they will now be highlighted.
Don't highlight HEREDOC in singleton class definition (operator <<)
BUG: 358273
Now, after the keyword "class", Heredoc's will not be highlighted [1]. For example:
Before, <<Foo was highlighted as Heredoc.
I did some tests in Ruby 2.6.0, 2.5.1 and 2.3.8, and Heredoc isn't considered in the code: class <<Foo, class <<21, class <<"Foo" or class <<-Foo, so I can say that the fix is correct.
Improvements in HEREDOC:
- Add squiggly HEREDOC (introduced in Ruby 2.3) [2][3]
For example: <<~HEREDOC
- Backticks can surround identifiers [3]. Example: <<-HEREDOC
- Improve highlighting of identifier quotes. Now you need to close quotes to highlight the HEREDOC.
For example, HEREDOC was previously highlighted as: <<"HEREDOC , <<HEREDOC"
I also added a modeline to force the use of tabs as an indentation, since the file uses tabs.
References:
- [1] Ruby/Rails Programming. Singleton Classes in Ruby (aka eigenclasses): https://codequizzes.wordpress.com/2014/04/11/singleton-classes-in-ruby-aka-eigenclasses/
- [2] Infinum. Multiline strings in Ruby 2.3 - the squiggly heredoc: https://infinum.co/the-capsized-eight/multiline-strings-ruby-2-3-0-the-squiggly-heredoc
- [3] Ruby-doc.org. Here Documents: https://ruby-doc.org/core-2.5.1/doc/syntax/literals_rdoc.html#label-Here+Documents
FIXED-IN: 5.55.0