foo.bar += baz ^^^^^^^^^^^^^^^
foo.bar &&= baz ^^^^^^^^^^^^^^^
foo.bar ||= baz ^^^^^^^^^^^^^^^
@@foo, = bar ^^^^^
Foo += bar ^^^^^^^^^^^
Foo &&= bar ^^^^^^^^^^^^
Foo ||= bar ^^^^^^^^^^^^
Foo::Bar = 1 ^^^^^^^^^^^^
Foo::Foo, Bar::Bar = 1 ^^^^^^^^ ^^^^^^^^
$foo, = bar ^^^^
foo += baz ^^^^^^^^^^^^^^^
foo &&= baz ^^^^^^^^^^^^^^^^
foo ||= baz ^^^^^^^^^^^^^^^^
@foo, = bar ^^^^
foo, = bar ^^^
The logical inverse of ‘capture_last_end_same_indent`
When there is an invalid block with an ‘end` missing a keyword right after another `end`, it is unclear where which end is missing the keyword.
Take this example:
class Dog # 1 puts "woof" # 2 end # 3 end # 4
the problem line will be identified as:
> end # 4
This happens because lines 1, 2, and 3 are technically valid code and are expanded first, deemed valid, and hidden. We need to un-hide the matching keyword on line 1. Also work backwards and if there’s a mis-matched end, show it too
alias $foo $bar ^^^^^^^^^^^^^^^
foo.bar += baz ^^^^^^^^^^^^^^^
foo.bar &&= baz ^^^^^^^^^^^^^^^