|
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, teeIUUC the Rails core has decided to forgo this indentation style. Not sure about the statistics across other popular projects.
ruby-simplified-indent-v4.diff
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |