https://bugs.kde.org/show_bug.cgi?id=358273

Nibaldo G. <nibg...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|REPORTED                    |RESOLVED
      Latest Commit|                            |https://commits.kde.org/syn
                   |                            |tax-highlighting/4c57756262
                   |                            |8e2c0e28d241564a3335ede9eb8
                   |                            |b32
   Version Fixed In|                            |5.55.0

--- Comment #1 from Nibaldo G. <nibg...@gmail.com> ---
Git commit 4c577562628e2c0e28d241564a3335ede9eb8b32 by Nibaldo González.
Committed on 16/01/2019 at 09:07.
Pushed by ngonzalez into branch 'master'.

Ruby: fix RegExp after ": " and fix/improve detection of HEREDOC

Summary:
## Allow regular expressions after ": "
Related: 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.
{F6539652}

## Don't highlight HEREDOC in singleton class definition (operator <<)

Now, after the keyword "class", Heredoc's will not be highlighted [1]. For
example:
{F6539653}

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

Reviewers: #framework_syntax_highlighting, dhaumann, cullmann

Reviewed By: #framework_syntax_highlighting, cullmann

Subscribers: kwrite-devel, kde-frameworks-devel

Tags: #kate, #frameworks

Differential Revision: https://phabricator.kde.org/D18174

M  +22   -0    autotests/folding/highlight.rb.fold
M  +22   -0    autotests/html/highlight.rb.html
M  +22   -0    autotests/input/highlight.rb
M  +22   -0    autotests/reference/highlight.rb.ref
M  +35   -17   data/syntax/ruby.xml

https://commits.kde.org/syntax-highlighting/4c577562628e2c0e28d241564a3335ede9eb8b32

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to