bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#60186: 29.0.60; ruby-mode indentation of multi-line expressions


From: Dmitry Gutov
Subject: bug#60186: 29.0.60; ruby-mode indentation of multi-line expressions
Date: Thu, 22 Dec 2022 23:21:15 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

On 22/12/2022 04:31, Aaron Jensen wrote:
On Wed, Dec 21, 2022 at 5:48 PM Dmitry Gutov <dgutov@yandex.ru> wrote:
See this new patch instead.

The code is messier than I'd like it to be, but it seems to handle all
of the cases mentioned so far and more (including the
dots-at-indentation style, thanks).

Looks good, for the things I mentioned. I found one more case:

x.foo do
   foo
end.bar do
     bar
   end

Should be:

x.foo do
   foo
end.bar do
   bar
end

Hm, this one breaks the approach I used with the last patch (which was to count lines from the beginning of the statement).

Let's see if blocks can just be aligned to the indentation of its opener's line.

I can't vouch for writing in this style, but it should only get one
indentation increase in this instance, rather than, I believe.

Interestingly enough, I found a bug with enh-ruby-mode that ruby-mode
now indents correctly:

x =
   bar(
     y
   ).map do |i|
   i
   end

Cool. It seems I broke it for the default indent algo, however. ;-( In the previous patch.

See the new one attached.

BTW, I'm surprised you haven't mentioned the case of parenless calls:

foo bar,
    baz,
    tee

IUUC the Rails core has decided to forgo this indentation style. Not sure about the statistics across other popular projects.

Attachment: ruby-simplified-indent-v4.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]