使用诸如`each`之类的迭代器时,Emacs 24 ruby​​-mode indentation行为

Tia*_*ong 2 emacs

my_array.each do
          # code here
        end
Run Code Online (Sandbox Code Playgroud)

我认为最好的做法应该是:

my_array.each do
  # code here
end
Run Code Online (Sandbox Code Playgroud)

应该在我的Emacs配置文件中添加一些内容吗?

Boz*_*sov 7

在我看来你正在使用emacs-snapshot.默认情况下,它使用一个新的缩进引擎,现在有点儿错误.要恢复旧版本,请评估以下Emacs Lisp代码:

(setq ruby-use-smie nil)
Run Code Online (Sandbox Code Playgroud)

然后重新启动ruby-mode.我会在上游报告错误.

  • 顺便说一下,这个bug只是在Emacs头中修复了,所以如果更新你的Emacs快照,即使使用新的SMIE缩进引擎,缩进也能正常工作. (3认同)