在Emacs中,使用ruby-mode,我无法找到阻止这种情况发生的方法:
foo = if something?
42
else
7
end
当我们的内部惯例是:
foo = if something?
42
else
7
end
(同样适用于begin..end
和case..when
)。
此外,虽然它不那么令人讨厌,但我们case..when
的约定是缩进每个when
。
case whatever
when foo
"a"
when bar
"b"
else
"c"
end
我知道人们通常说你应该将when
与case
对齐,但这不是我们公司的惯例,所以有人知道如何定制它吗?我可以找到很少的ruby模式定制。我唯一能够自定义的是括号内的缩进。
答案 0 :(得分:3)
在Emacs 24.4及更新版本中,您可以将ruby-align-to-stmt-keywords
设置为'(if begin case)
,或简单地设置为t
,以解决问题的第一部分。
但它不会改变when
的缩进偏移量。那将是一个不同的选择。
答案 1 :(得分:2)
无法自定义此功能。就缩进定制而言,ruby-mode是非常准确的,而Matz(其原作者)完全坚持支持缩进的标准样式。