2011-09-07 10 views
9

私はjs-modeを正しくインデントする方法(複合?)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'}); 
} 

のような明確なvarステートメントを使用する場合は、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

どのように適切なインデントとフォントロックを得ることができますか?

答えて

9

forked version of js2-modeはまさにあなたが望むものです。

+0

ありがとうございます。 – Cheeso

+0

残念ながら、emacs(23.2)の最新版では、ハックされたバージョンは使用できません。これは、emacsが自動的にjavascriptモードを開始するのを防ぐためです。 – tomjen

+0

euh、bummer。回避策として、組み込みJSモードにいくつかのモッズを定義して、自分が望むことをするように教えました。私は正しい構文を強調表示する必要はありませんが、インデントが機能しています。途中で。 – Cheeso

関連する問題