Emacs ruby​​-mode缩进私有

sta*_*ord 5 emacs ruby-on-rails

有谁知道如何在Emacs中获取ruby-mode来缩进私有下的所有定义?这是一个例子:

def redirect_back_or(default)    
    redirect_to(session[:return_to] || default)    
    clear_return_to  
end 

private

    def user_from_remember_token      
        User.authenticate_with_salt(*remember_token)    
    end
Run Code Online (Sandbox Code Playgroud)

Boz*_*sov 1

Private 不会引入新的范围,因此在其下缩进定义在技术上是不正确的。虽然私有/受保护成员有多种缩进样式,但 ruby​​ 模式支持的唯一一种缩进样式是语义上正确的缩进样式(不会引入额外的嵌套)。“Ruby 风格指南”也推荐这种风格(更不用说两个 2 空格缩进)。

话虽如此 - 没有办法自定义ruby-mode.

  • 一些大牌黑客是否批准或不批准缩进样式不是这里的问题。相反,它是根据发帖者的个人喜好来实现缩进。** (4认同)
  • 也许是这样,但 Michael Hartl 的影响力远不如 Matz,我怀疑 Matz 和核心 Ruby 开发人员会批准这种不符合代码语义的缩进。 (2认同)