如何让js-mode正确缩进continue(复合?)var声明?

时间:2011-09-07 16:55:22

标签: javascript emacs

如果我使用不同的var语句,例如

function stretchDiv(){
    var wh = $(window).height();
    var sz2 = wh - ((paddingTop + paddingBottom) + (mainTop + 2) * 2);
    // the scrollbar happens only when the height of the elt is constrained
    var sz3 = sz2 - outTop - 2;
    $('#out').css({'height': sz3 + 'px'});
}

然后JSLint抱怨,告诉我将第二个和第三个与前一个结合起来。

enter image description here

如果我遵循这个建议,JSLint很高兴,但是Emacs的内置js-mode.el(Emacs v23.2)并没有按照我想要的方式缩进其他var声明。此外,它不会对其他变量执行字体锁定。参见:

function stretchDiv(){
    var wh = $(window).height(),
    sz2 = wh - ((paddingTop + paddingBottom) + (mainTop + 2) * 2),
    // the scrollbar happens only when the height of the elt is constrained
    sz3 = sz2 - outTop - 2;
    $('#out').css({'height': sz3 + 'px'});
}

enter image description here

如何获得正确的缩进和字体锁定?

1 个答案:

答案 0 :(得分:9)

forked version of js2-mode完全符合您的要求。